0% found this document useful (0 votes)
3 views2 pages

Software Testing and Its Types

The document outlines various types of software testing, including unit testing, integration testing, system testing, and acceptance testing, each with specific purposes and methodologies. It details testing strategies such as white box, black box, and grey box testing, as well as the significance of alpha and beta testing. Additionally, it emphasizes the importance of regression testing to identify software regressions and maintain quality throughout the development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Software Testing and Its Types

The document outlines various types of software testing, including unit testing, integration testing, system testing, and acceptance testing, each with specific purposes and methodologies. It details testing strategies such as white box, black box, and grey box testing, as well as the significance of alpha and beta testing. Additionally, it emphasizes the importance of regression testing to identify software regressions and maintain quality throughout the development process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Software testing

Types of Software testing and the strategies: -


Software Testing is an act of executing a program or a software with the intent of finding errors,
validating against requirements. Testing involves operation of a system or application under controlled
conditions and evaluating the results. Controlled conditions would include both normal and abnormal
conditions. Software testing is conducted not only to check if the software meets the
functional/technical/security requirements but also to break the software with negative inputs or
incorrect usage.

1. Unit testing is a method of testing that verifies the individual units of source code are working
properly. A unit is the smallest testable part of an application. In procedural programming a unit may
be an individual program, function, procedure, etc., while in object-oriented programming, the
smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class.
The various tests are performed as a part of unit testing are :-
1. Module interface:- These are tested to ensure that information flows in a proper manner into
and out of the unit under test. Note that test of data flow is required before any other test is
initiated.
2. Local data structure:- These are tested to ensure that the temporarily stored data maintains its
integrity while an algorithm is being executed.
3. Boundary conditions:- These are tested to ensure that the module operates as desired within the
specified boundaries.
4. Independent paths:- These are tested to ensure that all statements in a module have been
executed at least once. Note that in this testing, the entire control structure should be
excercised.
5. Error-handling paths:- After successful completion of the various tests, error-handling paths are
tested.

2. Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the phase of
software testing in which individual software modules are combined and tested as a group. It follows
unit testing and precedes system testing. Integration testing takes as its input modules that have been
unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those
aggregates, and delivers as its output the integrated system ready for system testing.

3. System testing of software or hardware is testing conducted on a complete, integrated system to


evaluate the system's compliance with its specified requirements. System testing falls within the scope
of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
As a rule, system testing takes, as its input, all of the "integrated" software components that have
successfully passed integration testing and also the software system itself integrated with any applicable
hardware system(s). The purpose of integration testing is to detect any inconsistencies between the
software units that are integrated together (called assemblages) or between any of the assemblages and
the hardware. System testing is a more limiting type of testing; it seeks to detect defects both within the
"inter-assemblages" and also within the system as a whole.
Types of System Testing :
1. Recovery Testing
Ensures the system can recover from crashes, hardware failures, or other interruptions.
Example: Simulate a sudden power outage and verify system data integrity and recovery time.
2. Security Testing
Identify system vulnerabilities and protect data against unauthorized access.
Example: Test for common threats like SQL injection, cross-site scripting (XSS), or broken
authentication.
3. Stress Testing
Evaluate system stability and error handling under extreme load conditions.
Example: Push system beyond normal capacity (e.g., simulate 10x normal traffic) to observe
behavior.

4. Performance Testing
Measure system responsiveness, stability, and speed under expected workloads.
Example: Monitor response time, throughput, and resource usage during peak hours.

4. White box testing (a.k.a. clear box testing, glass box testing or structural testing) uses an internal
perspective of the system to design test cases based on internal structure. It requires programming skills
to identify all paths through the software. The tester chooses test case inputs to exercise paths through
the code and determines the appropriate outputs.

5. Black box testing takes an external perspective of the test object to derive test cases. These tests can
be functional or non-functional, though usually functional. The test designer selects valid and invalid
input and determines the correct output. There is no knowledge of the test object's internal structure.

6. Grey Box Testing


Grey box testing involves having access to internal data structures and algorithms for purposes of
designing the test cases, but testing at the user, or black-box level.

7. Alpha testing is simulated or actual operational testing by potential users/customers or an


independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software
as a form of internal acceptance testing, before the software goes to beta testing.

8. Beta testing comes after alpha testing. Versions of the software, known as beta versions, are released
to a limited audience outside of the programming team. The software is released to groups of people so
that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made
available to the open public to increase the feedback field to a maximal number of future users.

9. Acceptance testing: The final testing stages by users of a new or changed information system. If
successful, it signals the approval to implement the system live. Cosmetic and other small changes may
still be required as a result of the test, but the system is considered stable and processing data according
to requirements.

10. Regression testing: It is any type of software testing which seeks to uncover software
regressions. Such regressions occur whenever software functionality that was previously working
correctly stops working as intended. Typically regressions occur as an unintended consequence of
program changes. Common methods of regression testing include re-running previously run tests and
checking whether previously fixed faults have re-emerged. Regression testing can be used not only for
testing the correctness of a program, but it is also often used to track the quality of its output. For
instance in the design of a compiler, regression testing should track the code size, simulation time and
compilation time of the test suite cases.

You might also like