Regression Testing
Regression Testing
Srinivasan Desikan
Regression Testing
Regression Testing
Doctor: Congratulations! The Patient: That is fine doctor,
stomach ulcer that was but I have got such a bad
bothering you and preventing mouth ulcer that I can’t eat
digestion is now completely anything and hence there is
cured! nothing to digest!
08/27/13 Regression Testing 2
Regression Testing
Regression Testing - Definition
• Regression testing is selective
retesting of the system with
an objective to ensure the bug
fixes work and those bug fixes
have not caused any un-
intended effects in the system
• This testing is done to ensure
– The bug-fixes work
– And bug-fixes do not create any
side-effects
08/27/13 Regression Testing 3
Regression Testing
Regression Testing – Types
Dev. team
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Bug fixes
Build 1 Build 2 Build 3 Build 4 Build 5 Build 6
Features
Features
Features
New
New
New
Test team
test Cycle 1 Reg. 1 test Cycle 2 Reg. 2 test Cycle 3 Final
Time line Reg.
08/27/13 Regression Testing 4
Regression Testing
Regression Testing – Types
I. Final regression Testing
• Unchanged build exercised for the min period of “cook time” (Gold
master build)
• To ensure “the same build of the product that was tested reaches the
customer”
• More critical than any other type of testing
• Used to get a comfort feeling on the product prior to release
II. Regression testing
• To validate the product builds between test cycles
• Unchanged build is recommended but not mandatory
• Used to get a comfort feeling on the bug fixes, and to carry on with next
cycle of testing
• Also used for making intermediate releases (Beta,Alpha)
08/27/13 Regression Testing 5
Regression Testing
Regression Testing – Types
II. Regression testing
• To validate the product builds between test
cycles
• Unchanged build is recommended but not
mandatory
• Used to get a comfort feeling on the bug fixes,
and to carry on with next cycle of testing
• Also used for making intermediate releases
(Beta,Alpha)
08/27/13 Regression Testing 6
Regression Testing
Methodology explained
1: What is needed for selecting regression test cases?
2. Performing smoke tests
3: Classifying test cases
4: Selecting test cases
5: Resetting test cases for regression testing &
phases of testing
6: How to conclude results
7: Popular strategies
8: Some guidelines
9: exercise
08/27/13 Regression Testing 7
Regression Testing
Types
Regular regression
Final regression
What? Why? When?
Selective re-testing Defects creep When set of
to ensure in due to defect fixes
•Defect fixes work Changes arrive after
•No side effects Defect fixes formal testing
may cause for those areas
existing completed
functionality Performed in
to fail all test phases
08/27/13 Regression Testing 8
Regression Testing
What is needed for selecting test cases?
• Bug fixes and how it affect the system
• Area of frequent defects
• Area which has undergone many/recent code
changes
• Area which is highly visible to the users
• Area which have risks are more
• Core features of the product which are mandatory
requirements of the customer
08/27/13 Regression Testing 9
Regression Testing
Points to remember…
• Selection depends more on the criticality of bug
fixes than the criticality of the defect itself
• More positive test cases than negative test cases
for final regression
• “Constant set” of regression test cases may not
work always
08/27/13 Regression Testing 10
Classifying test cases
Regression Testing
Note
• The order of test
execution is priority 0,
1 & 2 , Priority helps
in entry, exit criteria
Priority–0 Test cases Priority 1 Test cases Priority 2 Test cases
• Sanity test cases •Uses the basic •Uses extended
which checks and normal setup setup
basic functionality •Delivers high •Moderate project
• Run for project value value
acceptance tests •High probability •Some functional
and for major of getting selected and all non-
change for regression functional test
• Delivers very cases fall into this
high project value category
08/27/13 Regression Testing 11
Regression Testing
Performing initial smoke test
Smoke testing
ensures that the
basic functionality
works and indicate
that the build can be
considered for
further testing
Defect is cumulative effect of people, product,
process and roles. Regression should take care of
all these aspects Regression Testing
08/27/13 12
Criteria
Regression Testing
Selecting test cases a. Bug fixes
work
b. No side
Defect fixes effects
Legend
P0– Priority 0
Criticality Impact
P1– Priority 1
P2 – Priority 2
- Very few
- All Low Med High
- Subset
P0 P0 P0
P1 P1 P1
P2 P2 P2
08/27/13 Regression Testing 13
Regression Testingresults
How to conclude
Test case result Test case result Remarks
(Current (Previous
build) build)
FAIL PASS Regression failed and
Apply RESET guidelines and proceed
after getting new build
PASS FAIL Bug fixes are working and
Continue your regression to find
side effects
FAIL FAIL Bug fixes not working or not
provided or
Wrong selection
Pass with work FAIL If you are satisfied with work
around around then result marked as PASS
else FAIL (Check with Prog mgmt)
PASS PASS This test case could have been
included for finding side effects or
Wrong selection
Everyone monitors regression test results as it not only talk about
defects and but also their fixes
08/27/13 Regression Testing 18
Regression
Best Testing
Practices…
5. Detect defects, protect your product from
defects and defect fixes
08/27/13 Regression Testing 23
Regression Testing
08/27/13 Regression Testing 24
Regression Testing
08/27/13 Regression Testing 25