Regression Testing in an Agile WorldAngela Goodbar Mellanie Taylor
About Us
2
Angela• Manual Software Test
Engineer for the Sample Processing team
• Team Lead for the Sample Processing Lab sub-team
• Myridian for 7 years• Testing software for
10+ years• Enjoy wakeboarding
and being Grandma!
Mellanie• Manual Software Test Engineer for the Result Generation Team• Myriadian for 9 years• Testing for 5+ years• Salsa aficionado• Future Carny
To Be Covered
3
1.WHAT is Regression Testing?2.WHY we should Regression Test3. CHALLENGES of fitting Regression
Testing into our Agile processes4.HOW we can be more effective5.WHEN we should Regression Test6.WHERE we should Regression Test7.WHO should Regression Test
WHAT is Regression Testing?
5
Regression Testing is the re-testing of a previously tested
program following modification to ensure that faults have not been introduced or uncovered
as a result of the changes made.
WhatWhyHowWhenWhereWho
WHY we should Regression Test
7
WhatWhyHowWhenWhereWho
Fix One Bug,Introduce New Ones
8
TrustWhatWhyHowWhenWhereWho
9
Avoid Rollbacks &Emergency Fixes
WhatWhyHowWhenWhereWho
CHALLENGES of fitting Regression TestingInto our Agile processes
11
Time
Cut Corners
12
Habit
13
Documentation Overload
14
HOW we can be more effective
Automation• To get early and instant feedback• Regression tests only• Safety net to save time which is reinvested
into manual testing• NOT to replace manual testing
16
WhatWhyHowWhenWhereWho
Know What Was Changed
17
WhatWhyHowWhenWhereWho
Utilize Risk Based Testing
18
WhatWhyHowWhenWhereWho
1. Test fixes promptly
2. Watch for side effects of fixes
3. Write a regression test for each bug fix
19
WhatWhyHowWhenWhereWho
Build & Groom your Test Suite
1. Get rid of less effective tests
2. Identify tests that consistently pass and archive them
3. Focus on Function, not Design
20
WhatWhyHowWhenWhereWho
Run Every Test
21
WhatWhyHowWhenWhereWho
Pare Down the Details
22
WhatWhyHowWhenWhereWho
WHEN we should Regression Test
Any Modification
24
WhatWhyHowWhenWhereWho
Part of the SDLC
25
WhatWhyHowWhenWhereWho
Each Time a Feature is Completed
26
WhatWhyHowWhenWhereWho
WHERE we should Regression Test
Consistent Location
28
WhatWhyHowWhenWhereWho
Test Management Tool
29
WhatWhyHowWhenWhereWho
WHO should Regression Test
Developer
31
WhatWhyHowWhenWhereWho
Automation Test Engineer
32
WhatWhyHowWhenWhereWho
Manual Test Engineer
33
WhatWhyHowWhenWhereWho
Summary
The retesting of a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.
WHAT is Regression Testing?
35
WhatWhyHowWhenWhereWho
WHY should we Regression Test?
36
1. Catch new or re-introduced bugs in unchanged areas
2. Maintain trust3. Avoid Rollbacks and Emergency
Fixes
WhatWhyHowWhenWhereWho
WHAT are the Challenges?
37
1. Time2. Cut Corners3. Habit4. Documentation Overload
HOW can we be more effective?
38
1. Automation2. Know What Was Changed3. Utilize Risk Based Testing4. Build & Groom your Test Suite5. Run Every Test6. Pare Down The Details
WhatWhyHowWhenWhereWho
WHEN should we Regression Test?
1. Any modification2. Part of the Release Cycle3. Each time a feature is complete
39
WhatWhyHowWhenWhereWho
WHERE should we Regression Test?
1. Consistent Location2. Test Management Tool
40
WhatWhyHowWhenWhereWho
WHO should Regression Test?
1. Developer2. Automation Test Engineer3. Manual Test Engineer
41
WhatWhyHowWhenWhereWho
1. http://www.softwaretestingtricks.com/2007/03/how-important-is-regression-testing.html
2. http://www.softwaretestinghelp.com/regression-testing-tools-and-methods/
3. http://msdn.microsoft.com/en-us/library/aa292167(v=vs.71).aspx
4. http://www.stickyminds.com/article/test-documenting-over-cliff
5. http://www.wrox.com/WileyCDA/Section/Regression-Testing.id-291252.html
6. https://blog.frogslayer.com/manual-regression-testing-and-test-cases/
7. http://www.softwaretestinggenius.com/know-the-regression-testing-and-its-best-practices
References
42
DISCUSSION
THANK YOU