Static Testing Why is it Necessary?
Many Companies underestimate the importance of static testing during product development. let me start by stating what is stating testing and how it is different from dynamic testing.
Static testing. can be defined as software testing technique that involves examination of the program's code/requirement/design and its associated documentation/artifacts without the program be executed
Dynamic testing on the other hand involves the actual execution of the software of a component or system.
During static testing the major objective is to prevent defect from being implemented into the system and also to educate other team members. Static testing is done before Dynamic testing. Errors/defects identified during static testing are less costly as they could be fixed before being implemented.
There are two main terms used during static testing which are static analysis and review. Although static analysis is performed by developers and supporting by different tools.
The process of review may be formal or informal. Formal process are based on rules, checklists with entry and exit criteria. It often includes pre-meeting preparation, led by trained moderator (not the author) and may be called walkthrough, technical review or inspection.
The Process of Review Includes:
- Planning- During planning, roles are allocated, entry and exit criteria are also defined.
- Kick-off meeting - Kick-Off meeting is organized to give a short introduction on the objectives of the review and the relevant documents to everyone in the meeting. Defects can be identified from the documentations and can be analyzed during the meeting
- Individual preparations involves review dine by individual users to identifies the defects, questions, and comments according to their understanding of the document and role.
- Review meeting is then organized which is intended to discuss defects found, make recommendations for handling the defects or make decisions about the defects.
- On the rework step, the author makes important decisions whether the defect has to be fixed or not. If nothing can be done about an issue, then at least it should be indicated that the author has considered the issue.
To have a successful review, management support is key and the manager should also allocate time for the review. Other roles in review process may be called author, moderator, inspector, scribe.
Rules of Review Meetings
- Meeting should be limited to two hours, if required another meeting can be arranged later.
- Documents needed for the review should be selected and shared before the meeting
- Checklists and roles are recommended to increase the effectiveness of defect identification
- Continuously improve processes and tools
In conclusion, static testing is about code and documentation, without code execution and defect found at this stage costing us less. It is very important to have a strong system for review meetings, in another case they will be unprofitable. This is also good practice to use a static analysis tool to write cleaner code.
Just do it! Start doing reviews and start learning from every review.