STF Unit - 2&3
STF Unit - 2&3
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.
1. Static can be done manually or with the help of tools to find bugs and improve the
quality of the software.
2. It helps to find errors in the early stage of development which is also called the
verification process.
3. It enhances maintainability and ultimately saves time and money in the long run.
1. Review
In static testing, the review is a process or technique that is performed to find potential
defects in the design of the software. It is a process to detect and remove errors and defects
in the different supporting documents like software requirements specifications. People
examine the documents and sorted out errors, redundancies, and ambiguities. Review is of
four types:
1. Informal: In an informal review the creator of the documents put the contents in front
of an audience and everyone gives their opinion and thus defects are identified in the
early stage.
2. Walkthrough: It is basically performed by an experienced person or expert to check
the defects so that there might not be problems further in the development or testing
phase.
3. Peer review: Peer review means checking documents of one another to detect and fix
defects. It is basically done in a team of colleagues.
4. Inspection: Inspection is basically the verification of documents by the higher authority
like the verification of software requirement specifications (SRS).
2. Static Analysis
Static Analysis includes the evaluation of the code quality that is written by developers.
Different tools are used to do the analysis of the code and comparison of the same with the
standard. It also helps in following identification of the following defects:
1. Unused variables.
2. Dead code.
3. Infinite loops.
4. Variable with an undefined value.
5. Wrong syntax.
Static Analysis is of three types:
1. Data Flow: Data flow is related to the stream processing.
2. Control Flow: Control flow is basically how the statements or instructions are
executed.
3. Cyclomatic Complexity: Cyclomatic complexity defines the number of independent
paths in the control flow graph made from the code or flowchart so that a minimum
number of test cases can be designed for each independent path.
Integration testing is the process of testing the interface between two software units or modules.
It focuses on determining the correctness of the interface. The purpose of integration testing is to
expose faults in the interaction between integrated units. Once all the modules have been unit-
tested, integration testing is performed.
Integration testing is a software testing technique that focuses on verifying the interactions and
data exchange between different components or modules of a software application. The goal of
integration testing is to identify any problems or bugs that arise when different components are
combined and interact with each other. Integration testing is typically performed after unit
testing and before system testing. It helps to identify and resolve integration issues early in the
development cycle, reducing the risk of more severe and costly problems later on.
Integration testing can be done by picking module by module. This can be done so that
there should be a proper sequence to be followed.
And also if you don’t want to miss out on any integration scenarios then you have to
follow the proper sequence.
Exposing the defects is the major focus of the integration testing and the time of
interaction between the integrated units.
Integration test approaches
There are four types of integration testing approaches. Those approaches are the following:
Acceptance Testing
Alpha Testing
Alpha Testing is an essential phase in software testing conducted by
the development or QA team before beta testing . It aims to identify and fix bugs in
a controlled environment that simulates real-world conditions. This helps ensure the
software’s functionality , reliability , and stability . Alpha testing combines white-
box and black-box testing techniques to explore and evaluate the software.
This process is crucial for enhancing software quality and ensuring a positive user
experience before releasing the product to external testers or customers.
Alpha Testing is a type of software testing performed to identify bugs before releasing the
product to real users or the public. Alpha Testing is one of the U ser acceptance tests .
This is referred to as Alpha testing only because it is done early on, near the end of
the development of the software .
Beta Testing
It helps to enhance the behavior of the It helps to improve the performance of the
application. application.
It tests what the product does. It describes how the product does.
Examples: Examples:
1. Unit Testing 1. Performance Testing
2. Smoke Testing 2. Load Testing
3. Integration Testing 3. Stress Testing
4. Regression Testing 4. Scalability Testing