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

Unit 3-1

The document outlines test case prioritization techniques, emphasizing the importance of ranking test cases based on risk, requirement importance, business value, and execution time to optimize testing resources. It also discusses regression testing, which verifies that software functions correctly after changes, highlighting its importance in maintaining software quality and reliability. Various types of regression testing are described, along with guidelines on when and how to perform it effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Unit 3-1

The document outlines test case prioritization techniques, emphasizing the importance of ranking test cases based on risk, requirement importance, business value, and execution time to optimize testing resources. It also discusses regression testing, which verifies that software functions correctly after changes, highlighting its importance in maintaining software quality and reliability. Various types of regression testing are described, along with guidelines on when and how to perform it effectively.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Prioritization Guidelines:-

Test case prioritization is the process of ranking test cases based on


their importance or risk. This helps to ensure that the most important
test cases are executed first, and that the limited testing resources are
used effectively.
There are a number of different test case prioritization techniques,
each with its own strengths and weaknesses. Some of the most
common test case prioritization techniques include:

 Risk-based prioritization: This technique prioritizes test cases


based on the risk associated with the requirement being tested.
The higher the risk, the higher the priority.
 Requirement-based prioritization: This technique prioritizes test
cases based on the importance of the requirement being tested.
The more important the requirement, the higher the priority.
 Business value-based prioritization: This technique prioritizes
test cases based on the business value of the requirement being
tested. The higher the business value, the higher the priority.
 Time-based prioritization: This technique prioritizes test cases
based on the time it takes to execute them. The quicker a test case
can be executed, the higher the priority.

How to prioritize test cases effectively


There is no one-size-fits-all approach to test case prioritization. The
best approach will depend on the specific software application being
tested and the resources available. However, there are a few general
tips that can help you to prioritize test cases effectively:
 Identify the risks associated with each requirement. What are

the potential consequences of a defect in the requirement?


 Determine the importance of each requirement. How important
is the requirement to the users of the software?
 Estimate the business value of each requirement. What is the
financial or other benefit of the requirement?
 Consider the time it takes to execute each test case. How long
does it take to set up and execute the test case?

Benefits of test case prioritization

Test case prioritization can provide a number of benefits, including:


 Improved test coverage: By prioritizing test cases, you can ensure

that the most important test cases are executed first. This helps to
improve the overall test coverage of the software.
 Reduced testing costs: By focusing on the most important test

cases, you can reduce the amount of time and resources spent on
testing. This can lead to significant cost savings.
 Improved software quality: By prioritizing test cases, you can
ensure that the most important defects are found and fixed first.
This helps to improve the overall quality of the software.

Regression Testing:-

Regression testing is a type of software testing that verifies whether


the pretested and developed software still functions efficiently and
effectively after being modified or interfaced with another feature or
software. The importance of the regression test is to verify that the
newly applied source code changes will not affect the previously
existing functionalities.
Regression testing is used whenever the code changes: for
enhancement after patches or configuration. Regression testing can
include the running of tests that have been completed in the past,
checking if the behavior of software remains consistent, and
conducting tests comparing the current behavior of software with
previous versions.

Why is Regression Testing Important?

 To maintain software quality: Regression testing helps to


ensure that the software is of high quality and meets the needs
of users. By identifying and fixing defects early in the
development process, regression testing can help to prevent
costly problems from occurring later on.

 To reduce the risk of defects: Regression testing can help to


reduce the risk of defects being introduced into the software. By
testing the software after each update, regression testing can
help to identify and fix any defects that may have been
introduced.

 To improve software reliability: Regression testing can help to


improve the reliability of the software. By testing the software
under a variety of conditions, regression testing can help to
identify and fix any defects that may cause the software to fail.

 To save time and money: Regression testing can help to save


time and money by preventing defects from being found later in
the development process. By identifying and fixing defects early
on, regression testing can help to reduce the cost of fixing
defects later on.

Types of Regression Testing


 Corrective Regression Testing: Corrective regression testing is
one of the simpler forms of regression tests and requires minimal
effort. This type of testing is used when no changes are
introduced to the existing code while adding new functionality to
the application, but the system is tested to ensure it works as
intended. The primary focus is testing the existing functionality
and executing the existing test cases without creating new ones.

 Selective Regression Testing: Selective regression testing


evaluates the impact of both new and existing code changes on
an application. It involves incorporating common elements, such
as variables and functions, into the application to quickly identify
results without disrupting the overall process.

 Retest-all Regression Testing: Retest-all regression testing


involves re-testing all test cases to ensure that code changes
have not introduced any new bugs in the application. It is time-
consuming and is generally avoided unless the application is
relatively small, as this type of testing requires significant effort
from the QA team.

 Progressive Regression Testing: Progressive regression testing


is used when there are changes in the software’s existing code.
Test cases for a progressive regression test are created based on
specific requirements. When there are only minor product
improvements, new test cases are designed to ensure that they
do not affect the existing code of the product.

 Complete Regression Testing: Complete regression testing


involves re-testing the entire application when there are
significant multiple modifications to the current code and helps
to identify and address any issues introduced during the testing
process.

 Partial Regression Testing: Partial regression testing is


performed when new code is added to an existing codebase. This
method helps identify critical bugs in the existing code and
ensures they are tested without disrupting the overall system.

 Unit Regression Testing: Unit regression testing is a key


component of regression testing, where the code is tested in
isolation. During this process, all other interactions, integrations,
and dependencies are disabled, focusing on the smallest testable
parts of an application (units). This type of testing is usually
conducted during low-traffic periods and off-peak hours.

When to perform Regression Testing?


 New Feature Development: Introducing new functionalities,
such as adding Facebook login to an existing email-based login
system, can impact existing features. Regression testing ensures
these features continue to operate correctly.

 Functionality Removal: Eliminating features, like removing


“Remember Password,” requires regression testing to verify that
other parts of the application are unaffected.

 Bug Fixes: Correcting defects, such as fixing a broken login


button, necessitates regression testing to prevent unintended
consequences.
 Performance Improvements: Optimizations, like reducing
homepage load time, can introduce new issues. Regression
testing helps identify and address these.

 Environment Changes: Modifying the application’s


environment, such as switching databases from MySQL to Oracle,
demands regression testing to confirm compatibility and data
integrity.

 Long Development Cycles: For large-scale projects, regression


testing is crucial to maintain software quality over extended
periods. Frequent testing, such as daily or weekly, is
recommended to catch issues early.

How to perform regression testing

Software testers, and sometimes developers, perform regression


testing. This step-by-step guide shows how to perform regression
testing:

1. Identify test cases: Identify the test cases that need to be


executed. These could be functional, integration, or system tests
that have been executed previously.

2. Execute test cases: Run the selected test cases. This can be done
manually or using automated testing tools, depending on the
complexity of the test cases and the resources available.

3. Analyze test results: Once the test cases have been executed,
the results need to be analyzed to identify any failures or
discrepancies.
4. Fix failures: If any test case fails, the issue needs to be fixed. This
could involve debugging the code, making necessary changes,
and retesting.

5. Document results: Finally, document the results of the


regression testing. This includes the test cases executed, their
results, any issues identified and fixed, and any observations or
recommendations for future testing.

You might also like