![]() |
VOOZH | about |
Static Testing and Dynamic Testing are two important approaches used in software testing to ensure quality. Static testing evaluates software artifacts without executing the code, while dynamic testing validates the software by executing it. Both are essential for identifying defects at different stages of development.
Static Testing is the process of evaluating software without executing the code. It focuses on reviewing documents, code, and design to find defects early.
Example: Reviewing requirement documents or code to identify mistakes before execution.
Dynamic Testing is a software testing technique in which the application is executed to evaluate its behavior, functionality, and performance. It involves validating the actual output against expected results and helps identify defects during runtime.
Example: Testing a login feature by entering valid and invalid usernames and passwords to verify system behavior and response.
| Parameter | Static Testing | Dynamic Testing |
|---|---|---|
| Definition | Testing performed without executing the software code. | Testing performed by executing the software application. |
| Objective | Identify defects early and prevent errors. | Identify defects during execution and validate functionality. |
| Stage | Performed during requirements, design, and coding phases. | Performed after code implementation when an executable build is available. |
| Code Execution | Not required. | Required. |
| Focus | Requirements, design documents, and source code. | Software behavior, functionality, and performance. |
| Techniques | Reviews, walkthroughs, inspections, and code reviews. | Functional testing, non-functional testing, Black Box Testing, White Box Testing, etc. |
| Defects Found | Requirement, design, documentation, and coding defects. | Runtime, functional, performance, and integration defects. |
| Test Basis | Documents, specifications, and source code. | Executable application and test cases. |
| Cost | Lower cost because defects are found early. | Generally higher cost because defects are identified later in the development cycle. |
| Time Required | Generally less time-consuming. | Usually more time-consuming due to test execution. |
| Tools Used | Review tools, static code analysis tools. | Test automation tools, performance testing tools, and defect tracking tools. |
| Process Type | Verification – "Are we building the product right?" | Validation – "Are we building the right product?" |
| Example | Reviewing a requirement document or source code. | Testing a login page by entering valid and invalid credentials. |