---
description: Static testing is to improve the quality of software products by finding errors in early stages of the development cycle. This testing is also called as Non-execution technique or verification testing. Hence Dynamic testing is to confirm that the software product works in conformance with the business requirements.
title: Static Vs Dynamic Testing: Difference Between Them
image: https://www.guru99.com/images/static-dynamic-testing.png
---

[Skip to content](#main) 

## Difference Between Static and Dynamic Testing

* Static testing is done without executing the program whereas Dynamic testing is done by executing the program.
* Static testing checks the code, requirement documents, and design documents to find errors whereas Dynamic testing checks the functional behavior of software system, memory/CPU usage and overall performance of the system.
* Static testing is about the prevention of defects whereas Dynamic testing is about finding and fixing the defects.
* Static testing does the verification process while Dynamic testing does the validation process.
* Static testing is performed before compilation whereas Dynamic testing is performed after compilation.
* Static testing techniques are structural and statement coverage while Dynamic testing techniques are Boundary Value Analysis & Equivalence Partitioning.

[![Difference Between Static and Dynamic Testing](https://www.guru99.com/images/s3.png)](https://www.guru99.com/images/s3.png)

## What is Static Testing?

**Static Testing** is a type of software testing in which software application is tested without code execution. Manual or automated reviews of code, requirement documents and document design are done in order to find the errors. The main objective of static testing is to improve the quality of software applications by finding errors in early stages of software development process.

[Static testing](https://www.guru99.com/testing-review.html) involves manual or automated reviews of the documents. This review is done during an initial phase of testing to catch Defect early in [STLC](https://www.guru99.com/software-testing-life-cycle.html). It examines work documents and provides review comments. It is also called Non-execution testing or verification testing.

Examples of Work documents-

* Requirement specifications
* Design document
* Source Code
* Test Plans
* Test Cases
* Test Scripts
* Help or User document
* Web Page content

## Static Testing Techniques

* **Informal Reviews:** This is one of the type of review which doesn’t follow any process to find errors in the document. Under this technique, you just review the document and give informal comments on it.
* **Technical Reviews:** A team consisting of your peers, review the technical specification of the software product and checks whether it is suitable for the project. They try to find any discrepancies in the specifications and standards followed. This review concentrates mainly on the technical documentation related to the software such as Test Strategy,[ Test Plan ](https://www.guru99.com/test-planning.html)and requirement specification documents.
* **Walkthrough:** The author of the work product explains the product to his team. Participants can ask questions if any. A meeting is led by the author. Scribe makes note of review comments
* **Inspection:** The main purpose is to find defects and meeting is led by a trained moderator. This review is a formal type of review where it follows a strict process to find the [defects](https://www.guru99.com/defect-management-process.html). Reviewers have a checklist to review the work products. They record the defect and inform the participants to rectify those errors.
* **Static code Review:** This is a systematic review of the software source code without executing the code. It checks the syntax of the code, coding standards, code optimization, etc. This is also termed as white box testing. This review can be done at any point during development.

### RELATED ARTICLES

* [ Manual Testing Tutorial ](https://www.guru99.com/manual-testing.html "Manual Testing Tutorial")
* [ What is Usability Testing? Software UX ](https://www.guru99.com/usability-testing-tutorial.html "What is Usability Testing? Software UX")
* [ What is BLACK Box Testing? Techniques, Types & Example ](https://www.guru99.com/black-box-testing.html "What is BLACK Box Testing? Techniques, Types & Example")
* [ 11 BEST Exploratory Testing Tools (May 2026) ](https://www.guru99.com/exploratory-testing-tools.html "11 BEST Exploratory Testing Tools (May 2026)")

## What is Dynamic Testing?

Under **Dynamic Testing**, a code is executed. It checks for functional behavior of software system, memory/cpu usage and overall performance of the system. Hence the name “Dynamic”

The main objective of this testing is to confirm that the software product works in conformance with the business requirements. This testing is also called an Execution technique or validation testing.

[Dynamic testing](https://www.guru99.com/dynamic-testing.html) executes the software and validates the output with the expected outcome. Dynamic testing is performed at all levels of testing and it can be either black or white box testing.

[](https://www.guru99.com/images/s1.png)

## Dynamic Testing Techniques

[](https://www.guru99.com/images/s2.png)

* **Unit Testing:** Under [Unit Testing](https://www.guru99.com/unit-testing-guide.html), individual units or modules are tested by the developers. It involves testing of source code by developers.
* **Integration Testing:** Individual modules are grouped together and tested by the developers. The purpose is to determine what modules are working as expected once they are integrated.
* **System Testing:** [System Testing](https://www.guru99.com/system-testing.html) is performed on the whole system by checking whether the system or application meets the requirement specification document.

Also, Non-functional testing like performance, [Security Testing](https://www.guru99.com/what-is-security-testing.html) fall under the category of dynamic testing.

## Static Testing Vs. Dynamic Testing

| Static Testing                                                               | Dynamic Testing                                                                       |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Testing was done without executing the program                               | Testing is done by executing the program                                              |
| This testing does the verification process                                   | Dynamic testing does the validation process                                           |
| Static testing is about prevention of defects                                | Dynamic testing is about finding and fixing the defects                               |
| Static testing gives an assessment of code and documentation                 | Dynamic testing gives bugs/bottlenecks in the software system.                        |
| Static testing involves a checklist and process to be followed               | Dynamic testing involves test cases for execution                                     |
| This testing can be performed before compilation                             | Dynamic testing is performed after compilation                                        |
| Static testing covers the structural and statement coverage testing          | Dynamic testing techniques are Boundary Value Analysis & Equivalence Partitioning.    |
| Cost of finding defects and fixing is less                                   | Cost of finding and fixing defects is high                                            |
| Return on investment will be high as this process involved at an early stage | Return on investment will be low as this process involves after the development phase |
| More reviews comments are highly recommended for good quality                | More defects are highly recommended for good quality.                                 |
| Requires loads of meetings                                                   | Comparatively requires lesser meetings                                                |

#### Summarize this post with:

ChatGPT Perplexity Grok Google AI 

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.** 

##### Sign up for the newsletter

Subscribe for Free 

 You have successfully subscribed.  
Please check your inbox.

![AI-Newsletter]() Chosen by over **350,000+** professionals 

[Scroll to top ](#wrapper)Scroll to top 

× 

Toggle Menu Close 

Search for: 

Search 

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/static-dynamic-testing.png","url":"https://www.guru99.com/images/static-dynamic-testing.png","width":"306","height":"220","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/static-dynamic-testing.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/softwaretesting","name":"Software Testing"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/static-dynamic-testing.html","name":"Static Vs Dynamic Testing: Difference Between Them"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/static-dynamic-testing.html#webpage","url":"https://www.guru99.com/static-dynamic-testing.html","name":"Static Vs Dynamic Testing: Difference Between Them","dateModified":"2024-07-05T17:14:18+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/static-dynamic-testing.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/static-dynamic-testing.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton","description":"I am Thomas Hamilton, a seasoned professional in software testing, specializing in crafting comprehensive guides to help you master your software testing skills.","url":"https://www.guru99.com/author/thomas","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","url":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","caption":"Thomas Hamilton","inLanguage":"en-US"},"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"@type":"Article","headline":"Static Vs Dynamic Testing: Difference Between Them","keywords":"testing","dateModified":"2024-07-05T17:14:18+05:30","articleSection":"Software Testing","author":{"@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton"},"publisher":{"@id":"https://www.guru99.com/#organization"},"description":"Static testing is to improve the quality of software products by finding errors in early stages of the development cycle. This testing is also called as Non-execution technique or verification testing. Hence Dynamic testing is to confirm that the software product works in conformance with the business requirements.","name":"Static Vs Dynamic Testing: Difference Between Them","@id":"https://www.guru99.com/static-dynamic-testing.html#richSnippet","isPartOf":{"@id":"https://www.guru99.com/static-dynamic-testing.html#webpage"},"image":{"@id":"https://www.guru99.com/images/static-dynamic-testing.png"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/static-dynamic-testing.html#webpage"}}]}
```
