Static Testing
Any work product produced during the testing process needs to be reviewed (static testing) before the actual execution of the code (dynamic testing).
Work products that come under the umbrella of the static testing are enlisted as:
- The user-requirement specifications (URS), business requirement specifications (BRS), functional requirements, acceptance criteria.
- Test plan document.
- Test scenarios, test cases and suites, automated test scripts.
- User-guides.
- Code.
- Models and procedures.
- Schedules, timelines, and project plans.
Static testing is limited to only the non-executable testing of the documents as well as the code. It is done in the earlier phase of the development life cycle (SDLC) that allows the eradication of defects before the execution phase. And as per one of the principles of testing, it saves time as well as money. It helps to find and fix the defects in requirements, plans, designs, acceptance criterions. Vulnerabilities in the security domain and coding defects can also be fixed by static testing. Reviewers look for duplicates or redundant codes, which are the unused portion of the program code that may affect the program efficiency in terms of performance in later stage and thus can be taken care of at the early stage by static testing.
The formal review is being processed by the following steps in most organizations:
The success factors for reviews
- A clear objective should be defined during the review planning.
- Measurable exit criteria should be used.
- Review techniques used should be able to detect the defects effectively.
- Participants should get adequate time to undergo individual reviews.
- Checklists should be maintained to address the major risks.
- Appropriate people should be involved in the review.
- The emphasis should be on learning, process improvement and fixing maximum defects at the early stage.
- The review should be conducted in an atmosphere of trust. It should be for quality improvement rather than the evaluation of personnel.
Conclusion:
Static testing involves verification that helps in detecting the defects at the early stage and thus complements the dynamic testing and helps in improving the quality of the application and saves a lot of time and money.
Well written