Chapter 8
Chapter 8
Chapter 8
8.1 Explain how the number of defects remaining in a program at the time of
delivery affect product support
Testing - program does what is intended to do? program defects? Testing cannot
completely validate a system one needs detailed knowledge of its purpose and
use.
It is practically impossible for all except trivial system to have a complete test set
that covers all possible ways that the system is likely to be used.
8.2 Testing is meant to show that a program does what it is intended to do. Why
may testers not always know what a program is intended for?
When the requirements of a product are not specified properly to accommodate for special
cases or, for example, it may contain omissions, testers may observe a behavior of a product
and not be able to know whether it conforms to requirements or not
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.
Pro for Inside Team:
The team understands the problems that their program is tackling, and thus
understands the problems that it might run into.
They can write tests that accurately reflect the programs' future challenges.
An outsider team may try to verify the code, without fully understanding
the initial problem.
Testing becomes easy as they know the areas of code which need testing
Saves time, as they need not learn about the code
8.7. Write a scenario that could be used to help design tests for the wilderness
weather station system.
- John is a meteorologist responsible for producing weather maps.
- These maps are produced from automatically collected data using a weather
mapping system
-John selects the area on the map, the time period of the map and requests the
map.
- While the map is being created, John runs a weather station check that
examines the data and looks for gaps in that
8.8. What do you understand by the term ‘stress testing’? Suggest how you might
stress test the Mentcare system.
Stress testing is where you deliberately increase the load on a system beyond its
design limit to see how it copes with high loads. The system should degrade
gracefully rather than collapse.
The Mentcare system has been designed as a client-server system with the
possibility of downloading to a client. To stress test the system, you need to
arrange for
(a) many different clinics to try and access the system at the same time and
(b)Large numbers of records to be added to the system.
This may involve using a simulation system to simulate multiple users.
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.
Ethics of testing the system until the testing budget is exhausted are:
The testing may not be done satisfactorily
Only few methods of testing are covered with the available budget
Only few areas of code may be tested because of the running budget. So
there may be some uncovered errors.
The testing may not be completed in a satisfactory way by the time the
budget exhausts
Due to improper testing, errors may occur after delivering the project
It increases the costs of error correction and maintenance
Affect the reputation and goodwill of the product and vendor
The customer may not be satisfied with the product as he may not get a
quality product