What is Static Testing?
Static testing is a method of software testing in which an application is evaluated without executing any code. In order to identify errors, manual or automated reviews of code, requirement documents, and document design are performed. Static testing’s main goal is to increase the consistency of software applications by detecting errors early in the development process.
Examples of Work documents:
- Requirement specifications
- Design document
- Source Code
- Test Plans
- Test Cases
- Test Scripts
- Help or User document
- Web Page content
What is Dynamic Testing?
A code is executed during Dynamic Testing. It examines the software system’s functionality, memory/processor use, and overall system performance. As a result, the word “Dynamic” was coined.
The main goal of this testing is to ensure that the software product meets the specifications of the company. This form of testing is also known as execution or validation testing.
- Static testing looks for errors in the code, requirement documents, and design documents, while dynamic testing looks at the system’s functional behavior, memory/CPU utilization, and overall performance.
- Static testing focuses on defect avoidance, while dynamic testing focuses on defect detection and correction.
- The verification process is carried out by static testing, while the validation process is carried out by dynamic testing.
- Before compilation, static testing is done, and after compilation, dynamic testing is done.
- Structure and statement coverage are static testing techniques, while Boundary Value Analysis and Equivalence Partitioning are dynamic testing techniques.
Static Testing Techniques:
Informal Reviews: This is a form of analysis that doesn’t use a systematic approach to finding mistakes in the paper. This method entails simply reviewing the text and making informal remarks on it.
Technical Reviews: A group of your colleagues reviews the software product’s technical specifications and determines if it is appropriate for the project. They look for inconsistencies in the requirements and guidelines that have been followed. This review focuses primarily on the software’s technical documentation, such as the Test Strategy, Test Plan, and requirement specification documents.
Walkthrough: The work product’s creator describes the product to his team. If there are any questions, participants should ask them. The author is in charge of a conference. Scribe takes notes on the feedback he receives.
Inspection: The main goal of the meeting is to find flaws, and it is directed by a professional moderator. This is a systematic method of analysis in which the flaws are found using a strict procedure. The job items are reviewed using a checklist by the reviewers. They document the flaw and instruct the participants on how to correct it.
Static code Review: This is a method of reviewing software source code without actually running it. It examines the code’s syntax, coding principles, and optimization, among other things. White box research is another name for this. This analysis can be carried out at any time during the creation process.
Dynamic Testing Techniques:
Unit Testing: Individual units or modules are reviewed by developers as part of Unit Testing. It entails developers checking source code.
Integration Testing: The developers group individual modules together and test them. The aim is to figure out the modules function as planned after they’ve been integrated.
System Testing: System testing examines the whole system to see whether it meets the requirements specified in the requirement specification document.
Non-functional testing, such as performance and security testing, is also included in the dynamic testing category.
Difference between Static and Dynamic Testing:
- Testing was carried out without running the software.
- The verification process is carried out by this testing.
- The aim of static testing is to avoid defects.
- Static checking is used to evaluate code and documents.
- Static research entails following a checklist and procedure.
- This testing can be carried out prior to compilation.
- The structural and statement coverage testing are covered by static testing.
- The cost of locating and correcting flaws is lower.
- Since this phase is involved at an early stage, the return on investment would be strong.
- For better quality, more feedback and comments are highly recommended.
- It necessitates a large number of meetings.
- Testing is carried out by running the software.
- The validation process is carried out by dynamic checking.
- Finding and repairing defects is the aim of dynamic testing.
- Bugs/bottlenecks in the software framework are revealed by dynamic testing.
- Dynamic testing entails the execution of test cases.
- After compilation, dynamic testing is carried out.
- Boundary Value Analysis and Equivalence Partitioning are two dynamic research techniques.
- The cost of locating and correcting flaws is high.
- Since this process occurs after the construction phase, the return on investment would be poor.
- For good quality, more flaws are strongly recommended.
- In comparison, fewer meetings are needed.
For more info: https://www.mammoth-ai.com/automation-testing-services/
Also Read: https://www.guru99.com/software-testing.html