Information Technology Reference
In-Depth Information
you that these methods are not quality driven and they do not require certain bug
quotas to be fixed or any reliability standards. This may seem to be inefficient at
worst, but take into consideration that all bugs may never be discovered and fixed,
and a system of quotas and quality may be almost impossible to implement while
still retaining profitability.
10.16 Chapter Summary and Conclusions
The theme of this chapter is that testing is an activity to verify that a correct system
is built. Testing is an expensive activity in the software life cycle because many
faults are detected late in the development and long after release. This chapter
gives an idea of the different kinds of testing and when to stop testing. To do
effective testing, every test should aim to detect fault.
Testing software without running test cases is termed non-execution-based
testing. Execution-based testing is also known as program testing and it can be a
very effective way to show the presence of faults, but it is hopelessly inadequate
for showing their absence.
In execution testing we test different properties of a product like utility, reli-
ability, robustness, performance, and correctness. Execution-based testing should
be done by someone else other than the programmer in order to reduce conflict of
interest scenarios. Once the components are integrated, system testing ensures that
the complete system compiles with functional and non-functional requirements of
the system.
Unit testing is performed to test a specific unit. Unit tests are particularly
important in the object-oriented paradigm because objects are already designed to
be modular and this makes them a prime target of unit tests.
Acceptance testing evaluates the new system to determine if it meets user
requirements under the operating conditions specified. It consists of two kinds of
testing:
• Alpha testing: this is a closely monitored test normally using advanced users and
relying heavily on their input for corrections and bug details before the beta
tests.
• Beta testing: a testing approach that provides a copy of the software to the target
audience and allows them to utilize it as if it is release ready. In turn, for the
normally free use of the software, the software development team is able to track
and respond to issues that these users bring to their attention.
Black-box testing thus does not directly examine the syntax and internal logical
structure of the software. White-box testing is based on the direct examination of
the internal logical structure of the software.
Testing is an endless process. When all the testing has been completed, all the
documentation prepared in testing is saved for future use.
Search WWH ::




Custom Search