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.
* 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
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)
* 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
* Approved test requirements & test cases
* Test lab set-up
* Defect tracking tool set-up
* 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
Test execution reports
Updated traceability matrix
* 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
* 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.