Static testing is a software testing method that examines a program — along with any associated documents — but does not require the program to be executed. Dynamic testing, the other main category of software testing, requires testers to interact with the program while it runs. The two methods are frequently used together to ensure the basic functionalities of a program.
Instead of executing the code, static testing is a process of checking the code and designing documents and requirements before it’s run to find errors. The main goal is to find flaws in the early stages of development because it is normally easier to find the sources of possible failures this way.
It’s common for code, design documents and requirements to be static tested before the software is run to find errors. Anything that relates to functional requirements can also be checked. More specifically, the process will involve reviewing written materials that provide a wider view of the tested software application as a whole. Some examples of what’s tested include the following:
Some benefits of static testing include the following:
Static testing is carried out with two different steps or techniques — review and static analysis. Static review is typically carried out to find and remove errors and ambiguities found in supporting documents. Documents reviewed include software requirements specifications, design and test cases. The documents can be reviewed in multiple ways, such as in a walkthrough, peer review or inspection.
The next step, static analysis, is where the code is analyzed. The evaluation is done to find any structural defects that could lead to errors when the program runs.
Some other techniques used while performing static testing include use case requirements validation, functional requirements validation, architecture review and field dictionary validation.
Use case requirements ensure possible end-user actions are properly defined. Functional requirements will identify any necessary requirements for the software. Review of architecture analyzes the business-level processes. Field dictionary validation will analyze user interface fields.
Static testing can also be conducted manually or automated with various tools.
The first step in static testing is reviews. They can be conducted in numerous ways and look to find and remove errors found in supporting documents. This process can be carried out in four different ways:
Dynamic testing assesses the feasibility of a software program by giving input and examining output.
The biggest difference between static and dynamic testing is that the code must compile and run in dynamic testing. Static testing can be performed without the application running. Functional behavior and performance are checked to confirm if the code works properly.
Static testing will analyze the code, requirements documents and design documents, while dynamic testing will look at the functional behavior of software systems such as memory usage and performance.
Static testing essentially gives an assessment of code, while dynamic testing will try to find active bugs. From a time and cost perspective, dynamic testing is often more expensive than static testing.
The two types of testing are not meant to be mutually exclusive, however. Ideally, they should be used together. Static testing is about the prevention of defects, whereas dynamic testing is about finding active defects.
Types of dynamic testing include unit testing, integration testing, system testing and performance testing.
Static testing tools can be used to automate the static testing process. Some examples include the following:
Open source PaaS is a good option for developers who want control over application hosting and simplified app deployment, but not…
PaaS is a good option for developers who want control over application hosting and simplified app deployment, but not all PaaS …
It is challenging to find the right balance between performance, availability and cost. Learn how to enable and apply AWS Compute…
To establish the right development team size, managers must look at each member’s responsibilities and communication paths, as …
While it’s not necessarily easy to become certified in microservices architecture, there are plenty of courses you can take to …
The Golden Hammer antipattern can sneak up on a development team, but there are ways to spot it. Learn the signs, as well as some…
With fewer tools and data repositories to wrangle and Elastic cluster management outsourced to SaaS, Dish Media’s ops teams …
Rightsizing Kubernetes workloads requires maintenance to be effective, so set up a Kubernetes capacity plan to prepare and …
Observability tools can give developers and IT administrators better insight on applications to improve delivery, performance and…
When you compare Scrum vs. Kanban, you realize there are as many similarities as there are differences. Here we help you choose …
Do you know Java? Are you trying to learn TypeScript? Here are five differences between TypeScript and Java that will make the …
The job a product manager does for a company is quite different from the role of product owner on a Scrum team. Learn key …
Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates …
There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service …
AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See …
All Rights Reserved, Copyright 2006 – 2022, TechTarget
Privacy Policy
Cookie Preferences
Do Not Sell or Share My Personal Information