Testing process is categorized into two types : Static testing and Dynamic testing. Static testing is different from Dynamic testing in a way that static testing does not involve execution of the program or the software. However, dynamic testing is performed by executing the code of the software product.
By definition, static testing is a human testing technique that does not involve executing or running the program or software product. Instead it involves, checking or monitoring the software at each phase of Software Development Life Cycle (SDLC) with the requirements or standards mentioned in the Software Requirement Specifications (SRS) of the software product.
Why is Static Testing required ?
- Detection of Bugs/ Flaws at earlier stages –
While making a software, one can not solely depend on Dynamic testing as it uncovers the bugs or flaws of the software product at a later stage which could cost the developer a lot of time and efforts to debug.
- Increased size of software –
As the size of the software product increases, it becomes difficult to handle it as the efficiency of code coverage decreases. That is why static testing is required as it helps to get rid of errors or bugs earlier in the software.
- Dynamic Testing is time-consuming –
Although dynamic testing uncovers the bug and provides some details regarding the bug, however, it is still time and effort consuming to fix the bug as it comprises detecting the failure from the test case to the root cause, making it a difficult process altogether.
- Dynamic Testing is expensive –
As mentioned earlier, dynamic testing requires test cases and doing that in itself is expensive because test cases should first be created, then executed and validated and also have to maintained, resulting in a lot of work from the testers.
Benefits of Static Testing :
- Decreased SDLC cost –
As the bugs are identified in earlier stages of SDLC, it therefore requires less efforts and time to modify the product and resolve them, hence decreasing the overall SDLC cost.
- Increased Product quality –
When the flaws are detected in the software, they are fixed then and there which leads to an increased quality of the product.
- Exact location of bug is traced –
In static testing, the exact location of the bug can be traced whereas the same is not easily possible in case of dynamic testing.
- Immediate evaluation & feedback –
Evaluation of the product happens frequently making the product of better quality as immediate feedback is received during each phase while developing the product.
- Increased effectiveness of Dynamic testing –
As the code gets cleaner and better after static testing, it requires less efforts and time to create and maintain good quality test cases, thereby making dynamic testing more effective.
Types of Static Testing :

1. Software Inspection :
Inspection process is performed in the earlier stages of the SLDC and is applied to a specific part of product like SRS, code, product design. etc. It involves manually examining the various components of the product at the earlier stages. The software inspection process comprises six phases which are as follows :

- Planning for Inspection Meeting –
- This phase focuses on identifying the product to be inspected and the objective of this inspection.
- A moderator – who manages the entire inspection process, is assigned in this phase.
- The assigned moderator checks if the product is ready for inspection or not. The moderator also selects the inspection team and assigns them their roles.
- Moderator also schedules the inspection meeting and distributes the required material to the inspection team.
- Overview –
- In this phase, the inspection team is given all the background information for the inspection meeting.
- The author – who is the coder or designer responsible for developing the product presents his logic and reasoning for the product including the product’s functions, its intended purpose and the approach or concept used while developing it.
- It is made sure that each member of the inspection team has understood and is familiar to the objectives and purpose of the inspection meeting that is to be held.
- Individual Preparation by members –
- In this phase, the members of the inspection team individually prepare for the inspection meeting by studying the material provided in the earlier phases.
- The team members identify the potential errors or bugs in the product and record them in a log. The log is finally submitted to the moderator. The moderator then compiles all the logs received from the members and sends a copy of it to the author.
- The inspector – who is the person responsible for checking and identifying errors and inconsistencies in the documents or programs, reviews the product and records any problems found in it (both general and area-specific). The inspector records the problems or issues on a log along with the time spent on preparation.
- The moderator reviews the logs to check if the team is ready and prepared for the inspection meeting or not.
- Finally, the moderator submits all the compiled logs to the author.
- Inspection Meeting –
- This phase involves author’s discussion on the issues raised by the team members in the compiled log.
- Members arrive at a decision of whether the issue raised is an error or not.
- Moderator concludes the meeting and provides a summary of the meeting – which is a list of errors found in the product and are to resolved by the author.
- Rework –
- Rework is carried out by the author according the summary list presented by the moderator in the previous phase.
- The author fixes all the bugs and reports to the moderator
- Follow – up –
- Moderator checks if all errors have been resolved or not. The moderator then prepares a report. If all errors are fixed and addressed, the moderator releases the document.
- Otherwise, unresolved issues are added to the report and another inspection meeting is scheduled.
2. Structured Walkthroughs :
This type of static testing is less formal and not so rigorous in nature. It has a simpler process as compared to inspection process. It involves the following four steps :

- Organization –
This step involves assigning roles and responsibilities to the team selected for structural walkthroughs. The team can consist of the following members :
- Coordinator – organizes and coordinates with all the members for the walkthrough related activities.
- Presenter – introduces the item to be inspected.
- Scribe – notes down all the issues and suggestions put forward by the members.
- Tester – finds the defects or bugs in the item to be inspected.
- Maintenance Oracle – focuses on future maintenance of the product.
- Standards Bearer – evaluates conformance to the standards and guidelines.
- User Representative – represents the needs and concerns of the user.
- Preparation –
- In this step, focus lies on preparing for the structural walkthroughs which could include thinking of basic test cases that would be required to test the product.
- Walkthrough –
- Walkthrough is performed by a tester who comes to the meeting with a small set of test cases.
- Test cases are executed by the tester mentally and results are noted down on a paper or a presentation media.
- Rework and Follow – up –
- This step is similar to that of the last two phases of the inspection process.
- If no bugs are detected, then the product is approved for release. Otherwise, errors are resolved and again, a structured walkthrough is conducted.
3. Technical Reviews :
It is a higher level technique as compared to the inspection or walkthrough technique because it also involves management. This technique is used to assess and evaluate the product by checking its conformance to the development standards, guidelines and specifications.
It does not have a defined process and most of the work is carried out by the moderator as discussed below :
- Moderator gathers and distributes the material and documentation to all team members.
- Moderator also prepares a set of indicators to evaluate the product with respect to the specifications and already established standards and guidelines :
- consistency
- documentation
- adherence to standards
- completeness
- problem definition and requirements
- The results are recorded in a document which includes both defects as well as suggestions.
- Finally, the defects are resolved and the suggestions are taken into account for improving the product.
Similar Reads
Types of Software Testing
Software Testing is an important part of the Software Development Lifecycle, which includes many more Types of Software Testing that we are discussing here in detail. Read More: Software Development Life Cycle. Table of Content Different Types of Software Testing1. Manual Testing 2. Automation Testi
15+ min read
Types of testing in SAP
SAP stands for Systems, Applications, and Products in Data Processing. SAP provides the ERP (Enterprise Resource Planning) software which integrates a large number of modules and databases from different sources to deliver the product for an organization. SAP software is used in many industries such
9 min read
Static Testing - Software Testing
Static Testing is a type of Software Testing method that is performed to check the defects in software without actually executing the code of the software application. Whereas in Dynamic Testing checks, the code is executed to detect the defects. The article focuses on discussing Static Testing in d
11 min read
Software Testing Tools
Software Testing tools are the tools that are used for the testing of software. Software testing tools are often used to assure firmness, thoroughness, and performance in testing software products. Unit testing and subsequent integration testing can be performed by software testing tools. These tool
13 min read
Stability Testing - Software Testing
Stability Testing is a type of Software Testing to check the quality and behavior of the software in different environmental parameters. It is defined as the ability of the product to continue to function over time without failure. It is a Non-functional Testing technique that focuses to stress the
3 min read
Software Testing - Mock Testing
Mock testing is the procedure of testing the code with non-interference of the dependencies and different variables like network problems and traffic fluctuations making it isolated from others. The dependent objects are replaced by mock objects which simulate the behavior of real objects and exhibi
9 min read
Software Testing Strategies
Software testing is the process of evaluating a software application to identify if it meets specified requirements and to identify any defects. The following are common testing strategies: Black box testing- Tests the functionality of the software without looking at the internal code structure.Whit
6 min read
Types of Regression Testing in Software Testing
Regression Testing :Regression testing is done to ensure that enhancements or defect fixes made to the software work properly and do not affect the existing functionality. It is generally done during the maintenance phase of SDLC. Regression Testing is the process of testing the modified parts of th
4 min read
API Testing - Software testing
API testing, or application programming interface testing, is a type of software testing that focuses on the testing of individual API methods and the interactions between different APIs. This type of testing is typically performed at the integration level, after unit testing is completed, and befor
7 min read
Unit Testing - Software Testing
Unit Testing is a software testing technique in which individual units or components of a software application are tested in isolation. These units are the smallest pieces of code, typically functions or methods, ensuring they perform as expected. Unit testing helps identify bugs early in the develo
12 min read