Software Testing Process
To remove defects effectively, at the earliest possible stage and at lowest cost, Software Development, Acquisition or supply involve both verification and validation activities. The focus of validation activities is on actual testing (unit, system, integration, and acceptance Testing) rather than review/inspections.
This process is followed for all types of testing, namely – Unit, Integration, System and Acceptance Testing. Software testing process has four phases – Plan, Develop, Execute and Manage. A brief list of activities and deliverable for each of the four phases of is provided next.
1. Plan
Activities
* Understand system requirements
* Plan & schedule resources
* Identify test plan requirement (Includes understanding the test problem – involves reading all the documentation and talking to business analysts, end-users and IT personnel)
* Agree on exit criteria
Deliverables
Test Plan (Test plan document contains introduction, scope, stakeholders, version control, approvals, hardware/ software & personnel requirements, assumptions, testing to be performed, acceptance/rejection criteria and schedule of events)
2. Develop
Activities
* Write test cases & scripts
* Identify automated testing needs
* Prepare test data/traceability matrix (Traceability Matrix defines all test cases with respect to the requirements document. This could also be used as a test log if details on date tested, and pass/fail are included)
* Set up test environment
* Set up defect tracking system
Deliverables
* Approved test requirements & test cases
* Test lab set-up
* Defect tracking tool set-up
3. Execute
Activities
* Execute the test cases in the test environment set-up
* Identify defects and update defect tracking system
* Regression test the iterative components
* Execute tests till exit test criteria is met
Deliverables
Test execution reports
Defect reports
Updated traceability matrix
4. Manage
Activities
* Generate test reports (test summary report contains introduction, stakeholders, version control information, approvals, test methodology, summary of results and statement of risk)
* Compile defect reports
* Handover the reports
Deliverables
* Prepare test results metrics
* Handover the results
In summary, over 65 per cent of defects can be detected in verification stage itself, so actual testing should account for less than 35 per cent of defects. The focus of testing should be on the product and not on the producer. Also, the purpose is to identify defects, the testing team does not fix defects.
Source : “Software Testing – Effective Methods, Tools and Techniques“ book authored by our director, Mr Pradeep Oak and published by McGraw Hill.