Static Testing is a software testing technique that identifies defects and improves software quality without executing the code. It involves two main components: review and static analysis.
Who: Static testing is typically performed by a team of testers, developers, and subject matter experts who collaborate to review and analyze various artifacts, such as requirements documents, design specifications, and code.
When: Static testing is conducted throughout the software development lifecycle, from the early stages of requirements gathering and design to the code implementation phase. It is an iterative process that can be performed at any point during development to identify and address defects early.
Tools/Technology: SonarQube is a popular tool used for static testing. It provides capabilities for both review and static analysis. SonarQube analyzes code for structural defects, coding rule violations, and potential vulnerabilities. It generates comprehensive reports highlighting any critical or major violations found during the analysis.
Purpose: Static testing aims to improve the overall quality and reliability of the software by detecting defects and issues at an early stage. It offers the following benefits: