Static Testing
What is static testing?
Static testing relies on the manual examination of work products or tool-driven evaluation of the code or other work products.
Static analysis is essential for safety-critical computer systems (e.g., aviation, medical, or nuclear software), but static analysis has also become necessary and common in other settings. For example, static analysis is an integral part of security testing. Static analysis is also often incorporated into automated software build and distribution tools, for example, in Agile development, continuous delivery, and continuous deployment.
Benefits of static testing
- enables the early detection of defects before dynamic testing is performed
- cost-effective solutions by finding defects in the early stages of the life cycle
- reduced timescales for development
- early feedback that will help improve the overall functioning of the software
- a faster way to review code and other documents using automated tools
- improving communication between team members in the course of participating in reviews
Static Testing Techniques
Static testing is performed using two different techniques: review and static analysis. Multiple reviews can be carried out on documents, including walkthroughs, peer reviews, and inspections.
As a next step, the developers’ code is analyzed using static analysis. An evaluation is performed to identify structural defects that could cause errors.