Software Testing Process: Fidel Castro Perumal
Software Testing Process: Fidel Castro Perumal
Software Testing Process: Fidel Castro Perumal
Process
Prepared by
Fidel Castro
Perumal
Testing Process
1. Requirements Analysis
2. Test Plan
3. Test Design
4. Test Cases Preparation
5. Test Data Preparation
6. Test Execution
7. Bugs Reporting
8. Test Summary
9. Test Closure Activities
1. Requirements Analysis
Requirements analysis is the initial step for the testing. The Testing team will be
received the following documents to analyze the requirements of the system
◦ LLD – Low Level Design
◦ HLD – High Level Design
◦ SRS - System Requirements Specification
◦ URS - User Requirements Specification
◦ BRS - Business Requirements Specification
2.Test Plan
Test Design is done based on the requirements of the project. Test has to be
designed based on whether manual or automated testing is done. For
automation testing, the different paths for testing are to be identified first. An end
to end checklist has to be prepared covering all the features of the project.
The test design is represented pictographically. The test design involves various
stages. These stages can be summarized as follows:
The test design is the most critical one, which decides the test case preparation. So
the test design assesses the quality of testing process.
4.Test Cases Preparation
The Test Cases should be prepared based on the testing technique we are going to
follow for that system.
For Black Box (Specification Based) Testing, we use the following techniques to
derive the test cases
◦ Equivalence Partitioning
◦ Boundary Value Analysis
◦ Decision Table
◦ State Transition Table
◦ Use Case Analysis
◦ Error Guessing
For White box (Structure Based)Testing, we use the following techniques to
derive the test cases
◦ Code Coverage
◦ Decision Coverage
◦ Statement Coverage
5.Test Data Preparation
Preparing proper test data is part of the test setup. Generally testers call it as test
bed preparation. If you don’t have the systematic approach for building test data
while writing and executing test cases then there are chances of missing some
important test cases. It’s every testers responsibility to create his/her own test data
according to testing needs. Don’t even rely on the test data created by other tester
or standard production test data, which might not have been updated for months!
Always create fresh set of your own test data according to your test needs.
Execute the test suites and individual test cases, following the test procedures. We
might do this manually or by using test execution tools, according to the planned
sequence.
Log the outcome of test execution and record the identities and versions of the
software under test, test tools and test ware.
Compare actual results (what happened when we ran the tests) with expected
results (what we anticipated would happen).
Where there are differences between actual and expected results, report
discrepancies as incidents
Repeat test activities as a result of action taken for each discrepancy. We need to
re-execute tests that previously failed in order to confirm a fix (confirmation
testing or re-testing). We execute corrected tests and suites if there were defects in
our tests. We test corrected software again to ensure that the defect was indeed
fixed correctly (confirmation test) and that the programmers did not introduce
defects in unchanged areas of the software and that fixing a defect did not uncover
other defects (regression testing).
7.Bugs Reporting
An incident report contains a description of the misbehavior that was observed and
classification of that misbehavior. As with any written communication, it helps to have
clear goals in mind when writing. One common goal for such reports is to provide
programmers, managers and others with detailed information about the behavior observed
and the defect.
The qualities of a good software bug report are
1. Reproducible
2. Be Specific