SlideShare a Scribd company logo
ALL YOU NEED TO
KNOW ABOUT
REGRESSION TESTING
DAVID TZEMACH
WWW.DTVISIONTECH.COM
JAN 23 2016
OVERVIEW
THE PROBLEM WE HAVE AS SOFTWARE TESTERS, IS THAT THE LIFE CYCLE OF
A SOFTWARE IS A VERY DYNAMIC. THEREFORE, EVERY PART IN CODE MAY
CHANGE AND LEAD TO A NEW RISKS THAT ALREADY REMOVED DURING THE
PREVIOUS TESTING CYCLES.
THE SOLUTION FOR OVERCOMING THIS PROBLEM IS TO USE THE TESTING
METHOD OF “REGRESSION TESTING” THAT PROVIDE A GREAT SOLUTION TO
HANDLE THESE NEW RISKS
DEFINITION OF “REGRESSION” TESTING
THE MOST SIMPLIFIED DEFINITION OF THIS TESTING METHOD, IS THAT WE
USE IT TO “VALIDATE A FUNCTIONALITY THAT WAS ALREADY WORKING AND
TESTED BY THE QA TEAM, STILL WORKS AFTER A NEW CODE THAT WAS
ADDED OR AN OLD CODE THAT WAS MODIFIED”
WHEN TO USE THIS TESTING METHOD..?
YOU SHOULD USE REGRESSION TESTS, WHENEVER YOU HAVE RISK THAT A SOFTWARE
THAT ALREADY TESTED MAY BE AFFECTED BY A NEW CODE THAT WERE
ADDED/CHANGED, EXAMPLES:
• A NEW FEATURE THAT WAS ADDED.
• BUG FIXES.
• CHANGES IN ORIGINAL REQUIREMENTS.
• NEW REQUIREMENTS ADDED.
• NEW PATCHES OR UPDATED.
THE FLOW OF
REGRESSION TESTS
PHASE 1: ANALYZE THE CHANGE
IN THIS PHASE YOU NEED TO ANALYZE HOW THE NEW CODE THAT WERE
ADDED/MODIFIED IS AFFECTING THE APPLICATION, TO ACCOMPLISH THIS TASK, PLEASE
ANSWER THIS BASIC QUESTION:
• HOW THIS CHANGE EFFECT PREDEFINED TESTS FOR THE ORIGINAL CODE?
• IS THERE ANY INTEGRATED CODE THAT IS AFFECTED BY THE CHANGE?
• WHICH AREAS ARE MOST LIKELY TO BE AFFECTED BY THE CHANGE?
• HOW THIS CHANGE EFFECT THE SOFTWARE DOCUMENTATION?
PHASE 2: THE TESTING STRATEGY
BASED ON THE RISK THAT YOU ANALYZED ON PHASE 1, YOU HAVE THE FULL INFORMATION THAT
YOU NEED TO DETERMINE WHAT IS THE TESTING EFFORT THAT YOU NEED TO REMOVE THE RISK:
TEST THE ENTIRE CODE - THIS STRATEGY IS THE BEST WHEN YOU HAVE THE TIME, MONEY AND
HIGHLY TRAINED AUTOMATION TEAM THAT ALLOWING YOU TO RUN THE ENTIRE TEST PLAN
INCLUDING THE OLD AND NEW TESTS.
TESTING DONE IN HIGH RISK AREAS- THIS STRATEGY WILL BE USED WHEN THE TESTING TEAM
IDENTIFIES THE AREAS THAT MOST LIKELY AFFECTED FROM THE CHANGE AND PROBABLY CONTAIN
THE BIGGER RISKS.
PHASE 3: HOW TO RUN YOUR TESTS?
THE TEST EXECUTION CAN BE ACCOMPLISHED IN 3 DIFFERENT WAYS:
MANUAL TESTS – MANUAL TESTERS WILL RUN THE SELECTED TESTS MANUALLY, BUT FOR ME, IT’S
THE LESS PREFERRED WAY TO HANDLE THIS TYPE OF TESTS.
AUTOMATED TEST - THIS IS MY PREFERRED WAY, ALL TESTS WILL RUN AUTOMATICALLY AND
WITHOUT A MAJOR INTERFERING OF THE MANUAL TESTERS.
AUTOMATION AND MANUAL TESTING – COMBINATION OF THE TWO WORLDS, OLD TESTS WILL BE
COVERED BY AUTOMATION, THE NEW TESTS WILL BE COVERED MANUALLY.
PHASE 4: REPORTING
THE TESTING RESULTS PER REGRESSION CYCLE SHOULD BE
REPORTED AND ANALYZED, ACCORDING TO FAILURES, WE CAN
ADD/REMOVE/MODIFY TESTS TO INCREASE THE EFFICIENCY OF
FUTURE TESTING CYCLE.
CONSIDERATIONS
WHEN BUILDING
REGRESSION TESTS
WHAT IS THE TESTING COVERAGE..?
WE ARE USING REGRESSION TESTS TO VALIDATE THAT NOTHING IS BROKEN
IN THE APPLICATION WHEN CODE MODIFICATIONS ARE DONE, THIS FACTOR
HAS A MAJOR EFFECT ON WHAT COVERAGE DO WE WANT TO HAVE,
SHOULD WE ADD EVERY TESTS TO THE REGRESSION CYCLES OR NARROW IT
TO A SPECIFIC SET OF TEST CASES…?
HOW MUCH EFFORT IS NEEDED ..?
ASK YOURSELF THIS QUESTIONS:
1. WHAT IS THE AMOUNT OF TIME THAT IT WILL TAKE TO CREATE THE REGRESSION TESTS..?
2. WHAT IS THE AMOUNT OF TIME THAT IT WILL TAKE TO EXECUTE THE REGRESSION TESTS..?
3. WHAT ARE THE COSTS OF THIS EFFORT (BASED ON THE ANSWERS THAT YOU PROVIDE ON
Q1/2)..?
MAINTENANCE
CREATING THE REGRESSION TEST PLAN, IS PROBABLY THE EASY PART, THE
HARD PART IS TO MAKE SURE THAT THIS TESTS WILL REMAIN UPDATED
PERVERSION, THEREFORE, YOU NEED TO MAKE SURE THAT YOU
UNDERSTAND THE IMPACT OF THE MAINTENANCE COSTS AND THE EFFORT
THAT IT WILL TAKE FROM YOUR TEAM.
TEST PRIORITIZATION
REGRESSION TESTS MAY INCLUDE THOUSANDS OF TEST CASES, IN SOME
SITUATIONS YOU SIMPLY DON’T HAVE THE TIME TO EXECUTE THEM ALL.
THEREFORE, YOU MUST PRIORITIZE THE TESTS TO RUN IN THE ORDER THAT
WILL GUARANTEE THAT YOU COVER THE MOST CRUCIAL TESTS FIRST.
CAN YOU AUTOMATE..?
CAN YOU AUTOMATE YOUR TESTS OR NOT..? THE ANSWER TO THIS
QUESTION WILL DETERMINE HOW MANY TESTS YOU CAN WRITE
AND RUN PER TESTING CYCLE.
FOR ADDITIONAL KB’S PLEASE
VISIT MY BLOG
WWW.DTVISIONTECH.COM

More Related Content

What's hot

Seven testing principles
Seven testing principlesSeven testing principles
Seven testing principles
Vaibhav Dash
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
David Tzemach
 
7 testing principles
7 testing principles7 testing principles
7 testing principles
Testing Expert
 
What is sanity testing
What is sanity testingWhat is sanity testing
What is sanity testing
pooja deshmukh
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
Donato Di Pierro
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
Md Mamunur Rashid
 
Testing Metrics - Making your tests visible
Testing Metrics - Making your tests visibleTesting Metrics - Making your tests visible
Testing Metrics - Making your tests visible
Alper Mermer
 
Software Testing Principles and  Techniques
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques
suresh ramanujam
 
Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testing
Sauce Labs
 
Testing Principles
Testing PrinciplesTesting Principles
Testing Principles
Risma Rustiyan R
 
Negative Testing
Negative TestingNegative Testing
Negative Testing
Mindfire Solutions
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software TestingPavan Kumar Kodedela
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
FACTS Computer Software L.L.C
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
Thoughtworks
 
What is Sanity Testing? Edureka
What is Sanity Testing? EdurekaWhat is Sanity Testing? Edureka
What is Sanity Testing? Edureka
Edureka!
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testinggaoliang641
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)Thomas Martin
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
Donato Di Pierro
 
Risk-based Testing
Risk-based TestingRisk-based Testing
Risk-based Testing
Johan Hoberg
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Muhammad Khairil
 

What's hot (20)

Seven testing principles
Seven testing principlesSeven testing principles
Seven testing principles
 
What is automation testing | David Tzemach
What is automation testing | David TzemachWhat is automation testing | David Tzemach
What is automation testing | David Tzemach
 
7 testing principles
7 testing principles7 testing principles
7 testing principles
 
What is sanity testing
What is sanity testingWhat is sanity testing
What is sanity testing
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Testing Metrics - Making your tests visible
Testing Metrics - Making your tests visibleTesting Metrics - Making your tests visible
Testing Metrics - Making your tests visible
 
Software Testing Principles and  Techniques
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques
 
Decreasing false positives in automated testing
Decreasing false positives in automated testingDecreasing false positives in automated testing
Decreasing false positives in automated testing
 
Testing Principles
Testing PrinciplesTesting Principles
Testing Principles
 
Negative Testing
Negative TestingNegative Testing
Negative Testing
 
Predictive Analytics in Software Testing
Predictive Analytics in Software TestingPredictive Analytics in Software Testing
Predictive Analytics in Software Testing
 
Testing introduction
Testing introductionTesting introduction
Testing introduction
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
What is Sanity Testing? Edureka
What is Sanity Testing? EdurekaWhat is Sanity Testing? Edureka
What is Sanity Testing? Edureka
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Risk-based Testing
Risk-based TestingRisk-based Testing
Risk-based Testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 

Similar to All you need to know about regression testing | David Tzemach

An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
David Tzemach
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
Neotys
 
Software testing metrics | David Tzemach
Software testing metrics | David Tzemach Software testing metrics | David Tzemach
Software testing metrics | David Tzemach
David Tzemach
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
Satishkumar722293
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
Satishkumar722293
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
Satishkumar722293
 
Fundamentals of testing (what is testing)
Fundamentals of testing (what is testing)Fundamentals of testing (what is testing)
Fundamentals of testing (what is testing)
Dhy Ardiansyah
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definition
Vivek V
 
FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what) FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what)
CindyYuristie
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
diana fitri, S.Kom
 
Blackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test SeriesBlackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test Seriesnazeer pasha
 
The complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David TzemachThe complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David Tzemach
David Tzemach
 
Fundamental of testing (what is testing)
Fundamental of testing (what is testing)Fundamental of testing (what is testing)
Fundamental of testing (what is testing)
helfa safitri
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
ijfcstjournal
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessShradha Singh
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
seli purnianda
 
RCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testingRCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testing
Indium Software
 

Similar to All you need to know about regression testing | David Tzemach (20)

An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
 
Software testing metrics | David Tzemach
Software testing metrics | David Tzemach Software testing metrics | David Tzemach
Software testing metrics | David Tzemach
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 
programming testing.pdf
programming testing.pdfprogramming testing.pdf
programming testing.pdf
 
Fundamentals of testing (what is testing)
Fundamentals of testing (what is testing)Fundamentals of testing (what is testing)
Fundamentals of testing (what is testing)
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definition
 
FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what) FUNDAMENTALS OF TESTING (Fundamental of testing what)
FUNDAMENTALS OF TESTING (Fundamental of testing what)
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
 
Blackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test SeriesBlackboxtesting 02 An Example Test Series
Blackboxtesting 02 An Example Test Series
 
The complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David TzemachThe complete guide for software integration testing | David Tzemach
The complete guide for software integration testing | David Tzemach
 
Fundamental of testing (what is testing)
Fundamental of testing (what is testing)Fundamental of testing (what is testing)
Fundamental of testing (what is testing)
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TESTTEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
TEST CASE PRIORITIZATION FOR OPTIMIZING A REGRESSION TEST
 
A Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test EffectivenessA Productive Method for Improving Test Effectiveness
A Productive Method for Improving Test Effectiveness
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
 
RCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testingRCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testing
 

More from David Tzemach

The new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgileThe new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgile
David Tzemach
 
Top Agile Myths & Misconceptions
Top Agile Myths & MisconceptionsTop Agile Myths & Misconceptions
Top Agile Myths & Misconceptions
David Tzemach
 
Scrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical ApproachScrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical Approach
David Tzemach
 
Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?
David Tzemach
 
Top 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum masterTop 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum master
David Tzemach
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
David Tzemach
 
What is component testing | David Tzemach
What is component testing | David TzemachWhat is component testing | David Tzemach
What is component testing | David Tzemach
David Tzemach
 
The role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David TzemachThe role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David Tzemach
David Tzemach
 
An introduction to api testing | David Tzemach
An introduction to api testing | David TzemachAn introduction to api testing | David Tzemach
An introduction to api testing | David Tzemach
David Tzemach
 
Agile scrum roles
Agile scrum rolesAgile scrum roles
Agile scrum roles
David Tzemach
 
Agile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesAgile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differences
David Tzemach
 
The evolution of agile development process
The evolution of agile development processThe evolution of agile development process
The evolution of agile development process
David Tzemach
 
The basics of UNIT testing
The basics of UNIT testing The basics of UNIT testing
The basics of UNIT testing
David Tzemach
 
Agile User Stories | The complete Review
Agile User Stories | The complete ReviewAgile User Stories | The complete Review
Agile User Stories | The complete Review
David Tzemach
 
User Interface Testing | Best Practices
User Interface Testing | Best Practices User Interface Testing | Best Practices
User Interface Testing | Best Practices
David Tzemach
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
David Tzemach
 

More from David Tzemach (16)

The new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgileThe new manager role in scrum teams and beyond | SupremeAgile
The new manager role in scrum teams and beyond | SupremeAgile
 
Top Agile Myths & Misconceptions
Top Agile Myths & MisconceptionsTop Agile Myths & Misconceptions
Top Agile Myths & Misconceptions
 
Scrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical ApproachScrum Master (SM) - Practical Approach
Scrum Master (SM) - Practical Approach
 
Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?Expectations of scrum masters - How to choose a true great scrum master?
Expectations of scrum masters - How to choose a true great scrum master?
 
Top 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum masterTop 10 challenges faced by the scrum master
Top 10 challenges faced by the scrum master
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
 
What is component testing | David Tzemach
What is component testing | David TzemachWhat is component testing | David Tzemach
What is component testing | David Tzemach
 
The role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David TzemachThe role of the product owner in scrum team | David Tzemach
The role of the product owner in scrum team | David Tzemach
 
An introduction to api testing | David Tzemach
An introduction to api testing | David TzemachAn introduction to api testing | David Tzemach
An introduction to api testing | David Tzemach
 
Agile scrum roles
Agile scrum rolesAgile scrum roles
Agile scrum roles
 
Agile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesAgile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differences
 
The evolution of agile development process
The evolution of agile development processThe evolution of agile development process
The evolution of agile development process
 
The basics of UNIT testing
The basics of UNIT testing The basics of UNIT testing
The basics of UNIT testing
 
Agile User Stories | The complete Review
Agile User Stories | The complete ReviewAgile User Stories | The complete Review
Agile User Stories | The complete Review
 
User Interface Testing | Best Practices
User Interface Testing | Best Practices User Interface Testing | Best Practices
User Interface Testing | Best Practices
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 

All you need to know about regression testing | David Tzemach

  • 1. ALL YOU NEED TO KNOW ABOUT REGRESSION TESTING DAVID TZEMACH WWW.DTVISIONTECH.COM JAN 23 2016
  • 2. OVERVIEW THE PROBLEM WE HAVE AS SOFTWARE TESTERS, IS THAT THE LIFE CYCLE OF A SOFTWARE IS A VERY DYNAMIC. THEREFORE, EVERY PART IN CODE MAY CHANGE AND LEAD TO A NEW RISKS THAT ALREADY REMOVED DURING THE PREVIOUS TESTING CYCLES. THE SOLUTION FOR OVERCOMING THIS PROBLEM IS TO USE THE TESTING METHOD OF “REGRESSION TESTING” THAT PROVIDE A GREAT SOLUTION TO HANDLE THESE NEW RISKS
  • 3. DEFINITION OF “REGRESSION” TESTING THE MOST SIMPLIFIED DEFINITION OF THIS TESTING METHOD, IS THAT WE USE IT TO “VALIDATE A FUNCTIONALITY THAT WAS ALREADY WORKING AND TESTED BY THE QA TEAM, STILL WORKS AFTER A NEW CODE THAT WAS ADDED OR AN OLD CODE THAT WAS MODIFIED”
  • 4. WHEN TO USE THIS TESTING METHOD..? YOU SHOULD USE REGRESSION TESTS, WHENEVER YOU HAVE RISK THAT A SOFTWARE THAT ALREADY TESTED MAY BE AFFECTED BY A NEW CODE THAT WERE ADDED/CHANGED, EXAMPLES: • A NEW FEATURE THAT WAS ADDED. • BUG FIXES. • CHANGES IN ORIGINAL REQUIREMENTS. • NEW REQUIREMENTS ADDED. • NEW PATCHES OR UPDATED.
  • 6. PHASE 1: ANALYZE THE CHANGE IN THIS PHASE YOU NEED TO ANALYZE HOW THE NEW CODE THAT WERE ADDED/MODIFIED IS AFFECTING THE APPLICATION, TO ACCOMPLISH THIS TASK, PLEASE ANSWER THIS BASIC QUESTION: • HOW THIS CHANGE EFFECT PREDEFINED TESTS FOR THE ORIGINAL CODE? • IS THERE ANY INTEGRATED CODE THAT IS AFFECTED BY THE CHANGE? • WHICH AREAS ARE MOST LIKELY TO BE AFFECTED BY THE CHANGE? • HOW THIS CHANGE EFFECT THE SOFTWARE DOCUMENTATION?
  • 7. PHASE 2: THE TESTING STRATEGY BASED ON THE RISK THAT YOU ANALYZED ON PHASE 1, YOU HAVE THE FULL INFORMATION THAT YOU NEED TO DETERMINE WHAT IS THE TESTING EFFORT THAT YOU NEED TO REMOVE THE RISK: TEST THE ENTIRE CODE - THIS STRATEGY IS THE BEST WHEN YOU HAVE THE TIME, MONEY AND HIGHLY TRAINED AUTOMATION TEAM THAT ALLOWING YOU TO RUN THE ENTIRE TEST PLAN INCLUDING THE OLD AND NEW TESTS. TESTING DONE IN HIGH RISK AREAS- THIS STRATEGY WILL BE USED WHEN THE TESTING TEAM IDENTIFIES THE AREAS THAT MOST LIKELY AFFECTED FROM THE CHANGE AND PROBABLY CONTAIN THE BIGGER RISKS.
  • 8. PHASE 3: HOW TO RUN YOUR TESTS? THE TEST EXECUTION CAN BE ACCOMPLISHED IN 3 DIFFERENT WAYS: MANUAL TESTS – MANUAL TESTERS WILL RUN THE SELECTED TESTS MANUALLY, BUT FOR ME, IT’S THE LESS PREFERRED WAY TO HANDLE THIS TYPE OF TESTS. AUTOMATED TEST - THIS IS MY PREFERRED WAY, ALL TESTS WILL RUN AUTOMATICALLY AND WITHOUT A MAJOR INTERFERING OF THE MANUAL TESTERS. AUTOMATION AND MANUAL TESTING – COMBINATION OF THE TWO WORLDS, OLD TESTS WILL BE COVERED BY AUTOMATION, THE NEW TESTS WILL BE COVERED MANUALLY.
  • 9. PHASE 4: REPORTING THE TESTING RESULTS PER REGRESSION CYCLE SHOULD BE REPORTED AND ANALYZED, ACCORDING TO FAILURES, WE CAN ADD/REMOVE/MODIFY TESTS TO INCREASE THE EFFICIENCY OF FUTURE TESTING CYCLE.
  • 11. WHAT IS THE TESTING COVERAGE..? WE ARE USING REGRESSION TESTS TO VALIDATE THAT NOTHING IS BROKEN IN THE APPLICATION WHEN CODE MODIFICATIONS ARE DONE, THIS FACTOR HAS A MAJOR EFFECT ON WHAT COVERAGE DO WE WANT TO HAVE, SHOULD WE ADD EVERY TESTS TO THE REGRESSION CYCLES OR NARROW IT TO A SPECIFIC SET OF TEST CASES…?
  • 12. HOW MUCH EFFORT IS NEEDED ..? ASK YOURSELF THIS QUESTIONS: 1. WHAT IS THE AMOUNT OF TIME THAT IT WILL TAKE TO CREATE THE REGRESSION TESTS..? 2. WHAT IS THE AMOUNT OF TIME THAT IT WILL TAKE TO EXECUTE THE REGRESSION TESTS..? 3. WHAT ARE THE COSTS OF THIS EFFORT (BASED ON THE ANSWERS THAT YOU PROVIDE ON Q1/2)..?
  • 13. MAINTENANCE CREATING THE REGRESSION TEST PLAN, IS PROBABLY THE EASY PART, THE HARD PART IS TO MAKE SURE THAT THIS TESTS WILL REMAIN UPDATED PERVERSION, THEREFORE, YOU NEED TO MAKE SURE THAT YOU UNDERSTAND THE IMPACT OF THE MAINTENANCE COSTS AND THE EFFORT THAT IT WILL TAKE FROM YOUR TEAM.
  • 14. TEST PRIORITIZATION REGRESSION TESTS MAY INCLUDE THOUSANDS OF TEST CASES, IN SOME SITUATIONS YOU SIMPLY DON’T HAVE THE TIME TO EXECUTE THEM ALL. THEREFORE, YOU MUST PRIORITIZE THE TESTS TO RUN IN THE ORDER THAT WILL GUARANTEE THAT YOU COVER THE MOST CRUCIAL TESTS FIRST.
  • 15. CAN YOU AUTOMATE..? CAN YOU AUTOMATE YOUR TESTS OR NOT..? THE ANSWER TO THIS QUESTION WILL DETERMINE HOW MANY TESTS YOU CAN WRITE AND RUN PER TESTING CYCLE.
  • 16. FOR ADDITIONAL KB’S PLEASE VISIT MY BLOG WWW.DTVISIONTECH.COM