HomeTesting Concepts

What is Static Testing?

What is Static Testing?
Static Testing is a software testing technique in which the testing is performed without executing the developed code. In this testing technique, the testing team will manually examine the developed code, requirement documents, and design documents to find the defects.

Static Testing versus Dynamic Testing: The following points will help you in understanding the difference between Static Testing and Dynamic Testing:
  • Static Testing: Static Testing is performed without executing the code developed by the developers.
  • Dynamic Testing: Dynamic Testing is performed by executing the developed code to verify the functional behavior of the Software using different testing levels like Unit Testing, Integration Testing, System Testing, and Acceptance Testing.

Categorizing Static Testing: Based on the activities performed in Static Testing, it can be categorized into the following:
  • Static Analysis: Static Analysis is performed to analyze the code written by the developers with the help of tools. The purpose of Static Analysis is to find the structural defects by examining the developed code.
  • Reviews: Reviews are performed to find the mistakes/ambiguities in the documents. Reviews can be further categorized as below:
    • Walkthrough: Higher level documents like Requirement specification documents will be informally reviewed here and validity of the solutions proposed in the documents will be examined.
    • Technical Reviews: These are less formal peer technical reviews where the defects are found in the documents by the technical experts.
    • Inspection: This is a formal review where all the documents are reviewed thoroughly for the defects to be identified before the meetings.

The following diagram depicts the categorization of Static Testing :

More Details on Static Testing: The below are few points, which help you in understanding Static Testing in detail:
  • The main objective of Static Testing is to prevent defects in the Development cycle.
  • The Static Testing technique is also known as Verification Testing.
  • As part of Static Analysis, the following types of defects will be found by the tools:
    • Variables which are not assigned to any values
    • Variables which are created and not used
    • Code which is written but unused anywhere
    • Code which is not following the programming standards
    • Security Vulnerabilities
    • Syntax Violations in the code
  • Static Testing is performed to verify both the non-executed code and documents.

Conclusion: Static Testing is performed without executing the developed code to examine the code and documents. The purpose of this Testing technique is to prevent defects by finding them in the earlier stages of the Development cycle.

Please leave your questions/comments/feedback below.

Happy Learning 🙂

Arun Motoori (www.QAFox.com)

Comments (0)

Leave a Reply

Your email address will not be published. Required fields are marked *