- Testing Strategies
- A Strategic Approach To Software Testing
- Test Strategies for Conventional Software
- Black-Box and White-Box Testing
- Validation Testing
- System Testing
- The Art of Debugging
- Product Metrics
- Software Quality
- Metrics for Analysis Model
- Metrics for Design Model
- Metrics for Source Code
- Metrics for Testing
- Metrics for Maintenance
A Strategic Approach to Software Testing
Generic characteristics of software testing
To perform effective testing, you should conduct effective technical reviews. By doing this, many errors will be eliminated before testing commences.
Testing begins at the component level and works “outward” toward the integration of the entire computer-based system.
Different testing techniques are appropriate for different software engineering approaches and at different points in time.
Testing is conducted by the developer of the software and (for large projects) an independent test group.
Testing and debugging are different activities, but debugging must be accommodated in any testing strategy.
1. Verification and validation
Verification and validation are two important aspects of the software testing process. Though these two phrases seem to have similar definitions, but there exists huge difference between them.
Verification is the process of ensuring that the given software satisfies almost all the credentials which were laid prior to its (software’s) development.
Validation is the process of ensuring that the given software satisfies the customer requirements.
Verification
It checks whether a product is being built in right way or not.
Validation
It checks whether the right product is being developed or not.
Hence, in order to ensure that the given software is correct in all aspects, then it has to satisfy the verification and validation process successfully.
Verification and Validation or V and V activities for developing a software include,
(i) Formal Technical Reviews (FTR)
(ii) Performance monitoring
(iii) Quality and configuration audits
(iv) Feasibility study
(v) Simulation
(vi) Algorithm analysis
(vii) Database review
(viii) Documentation review
(ix) Usability, qualification and installation testing
The equation depicting the relation between verification and validation with respect to testing is,
T = V + Va
Where,
T – Testing process
V – Verification
Va – Validation
However, testing is highly validation oriented. Both verification and validation use test case design methods and test strategies for software testing.
The unit and integration testing strategies are used for verification purpose, whereas the validation and system testing strategies are used for validation purpose.
2. Organizing for software testing
The software developer is always responsible for testing the individual units of the program
The developer also conducts integration testing
Only after the software architecture is complete does an independent test group become involved
The role of an independent test group (ITG) is to remove the inherent problems associated with letting the builder test the things that have been built
Independent testing removes the conflict of interest that may otherwise be present
The developer and the ITG work closely throughout a software project to ensure that thorough tests will be conducted
While testing is conducted, the developer must be available to correct errors that are uncovered
3. Software testing strategy
4. Criteria for completion of testing
The Cleanroom software engineering approach suggests statistical use of techniques, that executes a series of tests derived from a statistical sample of all possible program executions by all users from a targeted population.