Page 249 -
P. 249
232 Chapter 8 Software testing
EXERCISES
8.1. Explain why it is not necessary for a program to be completely free of defects before it is
delivered to its customers.
8.2. Explain why testing can only detect the presence of errors, not their absence.
8.3. Some people argue that developers should not be involved in testing their own code but that
all testing should be the responsibility of a separate team. Give arguments for and against
testing by the developers themselves.
8.4. You have been asked to test a method called ‘catWhiteSpace’ in a ‘Paragraph’ object that,
within the paragraph, replaces sequences of blank characters with a single blank character.
Identify testing partitions for this example and derive a set of tests for the ‘catWhiteSpace’
method.
8.5. What is regression testing? Explain how the use of automated tests and a testing framework
such as JUnit simplifies regression testing.
8.6. The MHC-PMS is constructed by adapting an off-the-shelf information system. What do you
think are the differences between testing such a system and testing software that is
developed using an object-oriented language such as Java?
8.7. Write a scenario that could be used to help design tests for the wilderness weather station
system.
8.8. What do you understand by the term ‘stress testing’? Suggest how you might stress test the
MHC-PMS.
8.9. What are the benefits of involving users in release testing at an early stage in the testing
process? Are there disadvantages in user involvement?
8.10. A common approach to system testing is to test the system until the testing budget is
exhausted and then deliver the system to customers. Discuss the ethics of this approach
for systems that are delivered to external customers.
REFERENCES
Andrea, J. (2007). ‘Envisioning the Next Generation of Functional Testing Tools’. IEEE Software, 24
(3), 58–65.
Beck, K. (2002). Test Driven Development: By Example. Boston: Addison-Wesley.
Bezier, B. (1990). Software Testing Techniques, 2nd edition. New York: Van Nostrand Rheinhold.
Boehm, B. W. (1979). ‘Software engineering; R & D Trends and defense needs.’ In Research
Directions in Software Technology. Wegner, P. (ed.). Cambridge, Mass.: MIT Press. 1–9.
Cusamano, M. and Selby, R. W. (1998). Microsoft Secrets. New York: Simon and Shuster.

