TESTING
System testing is testing conducted on a complete, integrated system to evaluate
the system's compliance with its specified requirements. System testing falls within
the scope of Black box testing, and as such, should require no knowledge of the
inner design of the code or logic. Alpha testingBeta testing are sub-categories
of System testing. Find and document defects in software quality.
As a rule, System testing takes, as its input, all of the "integrated" software
components that have successfully passed Integration testing and also the software
system itself integrated with any applicable hardware system(s). Advise on the perceived
software quality.
The purpose of Integration testing is to detect any inconsistencies between the
software units that are integrated together (called assemblages) or between any
of the assemblages and the hardware. System testing is a more limiting type of testing;
it seeks to detect defects both within the "inter-assemblages" and also within the
system as a whole. Validate and prove the assumptions made in design and requirement
specifications through concrete demonstration.
The Test discipline acts as a service provider to the other disciplines in many
respects. Testing focuses primarily on evaluating or assessing Product Quality,which
is realized through these core practices:
■
Validate that the software product works as designed.
■
Validate that the requirements are implemented appropriately.
A good test effort is driven by questions such as:
How could this software break? In what possible situations could this software fail
to work predictably? Test challenges the assumptions, risks, and uncertainty inherent
in the work of other disciplines, and addresses those concerns using concrete demonstration
and impartial evaluation. You want to avoid two potential extremes:
■ An approach that does not suitably or effectively challenge the software,
and exposes its inherent problems or weaknesses
■ An approach that is inappropriately negative or destructive - adopting such
a negative approach, you may find it impossible to consider the software
product of acceptable quality and could alienate the Test effort from
the other disciplines
Testing software is very difficult. How do you quantify the different ways in which
a given program can behave?
|