According to Professor Cem Kaner –
Director of Florida Tech’s Center for Software Testing Education & Research
“Software testing is an empirical technical investigation
conducted to provide stakeholders with information about the quality of the
product or service under test”
Empirical – derived from experiment, experience, and observation
Technical – Having special skill or practical knowledge
Investigation – A detailed
inquiry or systematic examination
Five fundamental test
activities and tasks
Software testing is a
process. The fundamental test process consists of five
important parts that encompass all aspects of testing:
Planning and control activities
activity is determined what is going to be tested, and how this will be
At this stage, we plan and decide on how activities will be done and who will
do them. Here, we also define the test completion criteria.
Control activity is what we do when the activities do not match up with the
plans. It is the ongoing activity where we compare the progress against the
plan. As progress takes place, we may need to adjust plans to meet the targets,
if this is possible.
Therefore, we need to undertake both planning and control tasks throughout the
We plan at
the outset, but as testing progresses, we undertake monitoring and control
activities. We monitor to measure what has happened; we control to adjust
future activities in the light of experience. Monitoring and control feedback
into the continual activity of planning.
Analysis and Design activities
and design are concerned with the fine detail of what to test (test
conditions), and how to combine test conditions into test cases, so that a
small number of test cases can cover as many of the test conditions as
possible. The analysis and design stage is the bridge between planning and test
process needs to consider the test data that will be required for the test
conditions and test cases that have been drawn up. Test design involves
predicting how the software under test should behave in a given set of
Implementation and Execution
Test implementation and
execution activity involves running tests. It also will involve checking the
test environment before testing begins. Test execution is the most visible part
of testing. During execution, the most important tests need to be run first.
Evaluating Exit Criteria and Reporting
criteria is a process defining when to stop testing. It depends on the coverage
of code, functionality or risk. Basically, it also depends on business risk,
cost and time.
Test Closure Activities
Test closure activities are the last process in
the fundamental test process. In this process collect data from completed test
process and test wares.
Ensure that deliverable has
been delivered or notClosing incident reportDocumenting all the systemsArchiving all the test ware,
test environment and infrastructure.