0% found this document useful (0 votes)
207 views

Software Testing Strategies

The document discusses various software testing strategies including black box testing, white box testing, unit testing, integration testing, functional testing, system testing, acceptance testing, and regression testing. It also discusses the objectives of software testing according to Glen Myers and outlines an overall strategy for testing software.

Uploaded by

Lavanya Venkata
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
207 views

Software Testing Strategies

The document discusses various software testing strategies including black box testing, white box testing, unit testing, integration testing, functional testing, system testing, acceptance testing, and regression testing. It also discusses the objectives of software testing according to Glen Myers and outlines an overall strategy for testing software.

Uploaded by

Lavanya Venkata
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

1

Software Testing Strategies


Software testing is the process of evaluating a software application to


identify if it meets specified requirements and to identify any defects. The
following are common testing strategies:

1. Black box testing – Tests the functionality of the software


without looking at the internal code structure.
2. White box testing – Tests the internal code structure and logic of
the software.
3. Unit testing – Tests individual units or components of the
software to ensure they are functioning as intended.
4. Integration testing – Tests the integration of different
components of the software to ensure they work together as a
system.
5. Functional testing – Tests the functional requirements of the
software to ensure they are met.
6. System testing – Tests the complete software system to ensure it
meets the specified requirements.
7. Acceptance testing – Tests the software to ensure it meets the
customer’s or end-user’s expectations.
8. Regression testing – Tests the software after changes or
modifications have been made to ensure the changes have not
introduced new defects.
9. Performance testing – Tests the software to determine its
performance characteristics such as speed, scalability, and
stability.
10. Security testing – Tests the software to identify vulnerabilities
and ensure it meets security requirements.
Software Testing is a type of investigation to find out if there is any
default or error present in the software so that the errors can be reduced
or removed to increase the quality of the software and to check whether
2

it fulfills the specifies requirements or not.


According to Glen Myers, software testing has the following objectives:
 The process of investigating and checking a program to find
whether there is an error or not and does it fulfill the
requirements or not is called testing.
 When the number of errors found during the testing is high, it
indicates that the testing was good and is a sign of good test case.
 Finding an unknown error that wasn’t discovered yet is a sign of
a successful and a good test case.
The main objective of software testing is to design the tests in such a way
that it systematically finds different types of errors without taking much
time and effort so that less time is required for the development of the
software. The overall strategy for testing software includes:

1. Before testing starts, it’s necessary to identify and specify the


requirements of the product in a quantifiable manner. Different
characteristics quality of the software is there such as
maintainability that means the ability to update and modify, the
3

probability that means to find and estimate any risk, and


usability that means how it can easily be used by the customers
or end-users. All these characteristic qualities should be specified
in a particular order to obtain clear test results without any
error.
2. Specifying the objectives of testing in a clear and detailed
manner. Several objectives of testing are there such as
effectiveness that means how effectively the software can achieve
the target, any failure that means inability to fulfill the
requirements and perform functions, and the cost of defects or
errors that mean the cost required to fix the error. All these
objectives should be clearly mentioned in the test plan.
3. For the software, identifying the user’s category and developing a
profile for each user. Use cases describe the interactions and
communication among different classes of users and the system to
achieve the target. So as to identify the actual requirement of the
users and then testing the actual use of the product.
4. Developing a test plan to give value and focus on rapid-cycle
testing. Rapid Cycle Testing is a type of test that improves quality
by identifying and measuring the any changes that need to be
required for improving the process of software. Therefore, a test
plan is an important and effective document that helps the tester
to perform rapid cycle testing.
5. Robust software is developed that is designed to test itself. The
software should be capable of detecting or identifying different
classes of errors. Moreover, software design should allow
automated and regression testing which tests the software to find
out if there is any adverse or side effect on the features of
software due to any change in code or program.
6. Before testing, using effective formal reviews as a filter. Formal
technical reviews is technique to identify the errors that are not
discovered yet. The effective technical reviews conducted before
4

testing reduces a significant amount of testing efforts and time


duration required for testing software so that the overall
development time of software is reduced.
7. Conduct formal technical reviews to evaluate the nature, quality
or ability of the test strategy and test cases. The formal technical
review helps in detecting any unfilled gap in the testing approach.
Hence, it is necessary to evaluate the ability and quality of the
test strategy and test cases by technical reviewers to improve the
quality of software.
8. For the testing process, developing a approach for the continuous
development. As a part of a statistical process control approach, a
test strategy that is already measured should be used for software
testing to measure and control the quality during the
development of software.

Advantages or Disadvantages:

Advantages of software testing:

1. Improves software quality and reliability – Testing helps to


identify and fix defects early in the development process, reducing
the risk of failure or unexpected behavior in the final product.
2. Enhances user experience – Testing helps to identify usability
issues and improve the overall user experience.
3. Increases confidence – By testing the software, developers and
stakeholders can have confidence that the software meets the
requirements and works as intended.
4. Facilitates maintenance – By identifying and fixing defects early,
testing makes it easier to maintain and update the software.
5. Reduces costs – Finding and fixing defects early in the
development process is less expensive than fixing them later in the
life cycle.
5

Disadvantages of software testing:

1. Time-consuming – Testing can take a significant amount of time,


particularly if thorough testing is performed.
2. Resource-intensive – Testing requires specialized skills and
resources, which can be expensive.
3. Limited coverage – Testing can only reveal defects that are
present in the test cases, and it is possible for defects to be
missed.
4. Unpredictable results – The outcome of testing is not always
predictable, and defects can be hard to replicate and fix.
5. Delays in delivery – Testing can delay the delivery of the software
if testing takes longer than expected or if significant defects are
identified.

You might also like