Pointers to Effective Validation Testing described by a Good Manager to a New Tester
An efficient Software Testing process comprises of two indispensable elements like its Verification and Its Validation.
Verification testing takes place while the product is being created and has great influence on the quality of the product being created. Whereas Validation testing takes place after the product has been created.
Verification is generally stressed upon by everyone; however it is rarely practiced due to being quite subjective and intangible as well as due to usual extremely tight deadlines of product delivery.
Following pointers describe the validation testing of the product quite comprehensively:
- Ensure that the running system performs according to the requirements specified for it.
- Find maximum number of failures in the piece of software application till you get exhausted.
Check all the functional aspects of the system like its performance, its usability, capacity, security, reliability etc. in addition to all non-functional aspects.
- Identify the various steps for testing activities along with the data, which are required to perform the above steps. Such planning needs to be done during early stages of the SDLC.
- Feed the inputs as per the planned steps and draw detailed comparison among the results obtained versus the expected results.
- Organize an environment simulating or duplicating all the characteristics of the actual environment for the testing. The characteristics can include software configuration, hardware, data and necessary interfaces etc.
- Do the analysis of the data followed by reporting the results in sufficient details.
- Record all visible failures and ensure that such failures must be repaired in future.
- Perform regression testing after every change & ensure that the application continues to function correctly.
Practice of structured software inspections; which are nothing but a combination of validation and verification using statistical process control would certainly deliver great advantages to the software delivery efforts.