Static Testing
Overview
Static testing is also known as static code analysis. It analyzes and evaluates a program’s code, form, structure, content, documentation without executing the program.
Static Testing
Static testing is software testing that does not involve executing the code. Instead, it examines the code or other software artifacts without running the program. Static testing techniques help identify defects early in the development process, which saves time and money.
In this technique, software code is not executed. Software code and algorithms are inspected and reviewed to uncover code-related defects and enhance code quality.
Static Testing Techniques
https://www.testingdocs.com/static-testing-techniques/
Advantages
Some advantages of Static Testing are as follows:
- Static testing is usually performed early in the development lifecycle. Starting static testing early in the development process allows for the early identification of quality issues and provides valuable feedback.
- By detecting defects early on, the cost of rework, including revisions and rewrites, is often lower.
- Static testing helps ensure that software meets regulatory and compliance requirements. Static analysis can help ensure that software code adheres to these standards, thus avoiding legal and safety issues. For example, industries like healthcare, finance, and aerospace, etc.
Disadvantages
Some disadvantages of Static Testing are as follows:
- Static testing doesn’t involve the program’s execution. So, it can’t identify applications’s runtime issues. This includes problems like performance, runtime errors, concurrency issues, or issues related to the specific environment in which the application runs.
- Static testing is resource-intensive and time-consuming.
- Static analysis tools can generate False Positives/ Negatives. False positives are reported issues that aren’t real problems. False negatives are failing to catch the actual issues. These inaccuracies can waste developer time and resources as they detect non-existent problems or overlook the real defects.
Combined with dynamic testing, it leads to a comprehensive testing process that greatly enhances software products’ quality, security, performance, and robustness.
—
Software Testing Tutorials: