In the software development lifecycle Model testing is a very important phase. Because it helps to ensure that a software program or system is functioning correctly and meets the requirements for which it was designed.
What is Software Testing?
Software testing is the process of evaluating a software program or system to determine if it meets the specified requirements and works as intended. It involves executing the software in various scenarios and conditions and comparing the results to the expected behavior.
The purpose of software testing is to identify errors, bugs, or issues in the software so that they can be corrected before the software is released to the public. This helps to ensure that the software is of high quality, performs as expected, and is fit for its intended purpose.
Types of Testing
There are several types of software testing that can be used to evaluate a software system. But Mainly classified into two types of testing as follows:

- Generally, static testing is also called Reviews or Inspections. And dynamic testing is called Levels Of Testing.
- Static testing types are generally used for verification. And dynamic testing types are used for the validation of work products.
- These are some functional testing types that are basically used for work products.
Static Testing
Static testing is a type of software testing that is performed on the software’s documentation and code without executing it. This means that the testing is done on the code, design, and other artifacts that make up the software, but not on the actual running software. The goal of static testing is to identify errors, defects, and potential issues early in the development process before the software is executed.
Static testing can be done manually or using automated tools. Some types of static testing techniques include:
Informal Review
An informal review is a type of static testing that is done informally. It is not as formal as other static testing techniques, such as inspections or technical reviews. It is typically done by the developer who wrote the code or by a team member who is familiar with the codebase.
An informal review can be done in different ways, such as:
- Pair programming: Two developers working together on the same code, where one writes the code and the other reviews it.
- Informal walkthrough: A developer explains the code to a colleague who reviews it for errors and potential issues.
- Self-review: A developer reviews their own code for errors and potential issues.
Walkthrough
A walkthrough is a type of static testing that is a formal review process in which a team of developers, testers, and other stakeholders review the software’s documentation and code. The goal of a walkthrough is to identify errors, defects, and potential issues early in the development process, before the software is executed.
During a walkthrough, the person who wrote the code (or the author) presents their work to the other participants, who review it for errors, defects, and potential issues. The author will walk the team through the code and the documentation, highlighting key areas of the code and providing explanations as necessary. The team will then discuss the code, ask questions, and provide feedback and suggestions. The author will also have the opportunity to ask questions and get feedback on the code.
Technical Review
A technical review, also known as a “technical inspection” or “technical analysis,” is a type of static testing that is a formal review process in which a team of developers, testers, and other technical experts review the software’s code and design. The goal of a technical review is to identify errors, defects, and potential issues early in the development process before the software is executed.
During a technical review, the team will carefully examine the code and design to identify any errors, defects, or potential issues. This may include checking for compliance with coding standards, best practices, and design patterns, as well as identifying potential security vulnerabilities, performance issues, and scalability problems. The team may also review the documentation and other artifacts that make up the software.
Inspection
An inspection is a type of static testing that is a formal review process in which a team of developers, testers, and other stakeholders review the software’s documentation and code. The goal of an inspection is to identify errors, defects, and potential issues early in the development process before the software is executed.
Inspections are typically led by a trained and experienced inspector who facilitates the review process assigns roles and ensures that the inspection follows a defined process. The inspection team typically includes the author of the documentation or code, one or more reviewers, a recorder, and an inspector.
Dynamic Testing
Dynamic testing is a type of software testing that involves the execution of the software with the intent of finding defects. It is also known as “black-box testing” because it focuses on the software’s functionality and external behavior, rather than its internal structure or implementation.
Dynamic testing can be further divided into several types, such as:
Component Testing
Component testing, also known as unit testing or module testing, is a type of dynamic testing that focuses on testing individual components or units of the software. A unit is the smallest testable part of the software, usually a single function or method. The goal of component testing is to verify that each unit of the software functions correctly and that the units work together as expected.
Integration Testing
Integration testing is a type of dynamic testing that focuses on testing the interactions and interfaces between different components or units of the software. The goal of integration testing is to ensure that the different units of the software work together as expected and that the software meets the requirements and behaves as expected when integrated.
System Testing
System testing is a type of dynamic testing that focuses on testing the entire software system as a whole. The goal of system testing is to ensure that the software meets the requirements and behaves as expected when used in its intended environment and by its intended users.
Acceptance Testing
Acceptance testing is a type of dynamic testing that focuses on testing the software to ensure that it meets the acceptance criteria and the requirements of the customer or user. The goal of acceptance testing is to determine whether the software is suitable for release and can be accepted by the customer or user.
Read More
https://scribblersden.com/what-is-price-book/
Thank you