SlideShare a Scribd company logo
1 of 21
Download to read offline
Optimal Usage of the
Computer Farm
for Regression Testing
Daniel Hansson, Verifyter
Patrik Granath, Verifyter
Background
We need some science!
3/2/2016 Daniel Hansson, Verifyter 2
Why does the need for computer
farm resources increase so fast?
We run more stuff
...and my jobs are still
queued. Buy more!
Optimal
Setup
3/2/2016 Daniel Hansson, Verifyter 3
A B C D
8 AM
sanity sanity sanity 9
nightly 10
11
Report Launch 12 PM
Each 8h Each 8h 1
2
3
sanity 4
sanity 5
6
sanity 7
nightly 8
nightly 9
10
11
nightly nightly 0 AM
1
2
3
4
5
6
7
Which regression
test setup is the
most efficient?
At the end of the
presentation you
will know
Defining Metrics (1/2)
3/2/2016 Daniel Hansson, Verifyter 4
Metric Definition
Cost Total CPU test time
Bug Identification
Time
Time from a bug is committed to the
revision control system until a failure
is reported
Bug Fix Time Bug Identification Time + debug time
+ committing fix
Test Fail Ratio
(Quality)
The number of failing tests / total
number of tests run, for a given period
Defining Metrics (2/2)
3/2/2016 Daniel Hansson, Verifyter 5
3/2/2016 Daniel Hansson, Verifyter 6
Quality
• Better Test Fail Ratio
(Quality) means
Earlier Release
• Shorter BIT and
Shorter Bug Fix Time
=> Earlier Release
• What is the optimal
setup?
Coverage (1/2)
Functional Coverage (%) vs Test Suite Run Time (h)
3/2/2016 Daniel Hansson, Verifyter 7
Doubling the cost (run time)
does not double the chance
of finding a bug (coverage)
Coverage (2/2)
3/2/2016 Daniel Hansson, Verifyter 8
Longer test suite means
longer bug identification time
at a higher cost, but only gives
some better coverage
Launch Frequency
3/2/2016 Daniel Hansson, Verifyter 9
Running twice
instead of once per
day matters a lot!
For higher launch
frequencies it is a case
of diminishing returns
Equations for 1 Test Suite
3/2/2016 Daniel Hansson, Verifyter 10
CPUs Average #CPU’s
L Launches
TSL Test Suite Length
Conclusions for 1 test suite
3/2/2016 Daniel Hansson, Verifyter 11
• The BIT looks similar for different cases
• The reason: the BIT depends mainly on #launches
• Conclusion: 2-5 launches/cycle has a good cost-
benefit ratio
Good cost-benefit ratioGood cost-benefit ratio
2 Test Suites
3/2/2016 Daniel Hansson, Verifyter 12
• Assumption: Functional coverage of
sanity is a sub-set of the nightly coverage
2 Test Suites
3/2/2016 Daniel Hansson, Verifyter 13
• There are 3 test suite sequences
– sanity => sanity
– sanity => nightly
– nightly => sanity
• Probability for a bug to be
committed during a test sequence
• BIT for each test sequence
2
2 Test Suites
3/2/2016 Daniel Hansson, Verifyter 14
Probability for a bug
to appear in this part
of the cycle
Average BIT for
each of the 3
sequences
3/2/2016 Daniel Hansson, Verifyter 15
Optimal
Scheduling
• The optimal launch schedule is
achieved when all max BIT’s are
equal
• This keeps the max BIT’s too a min
Optimal free time between two sanity runs
Optimal free time between one sanity run and
one nightly run
3/2/2016 Daniel Hansson, Verifyter 16
Optimal
Scheduling (2/2)
• If the nightly test suite length is
equal or larger than max
BITStoS then nightly will never
first find a bug in the sanity
coverage tranche
• In this case it can be
scheduled independently of the
sanity runs
Interleaving
• Interleaving test suites
reduces the overall BIT
• This is because the nightly
runs will be better spread
out (lower BITnightly)
3/2/2016 Daniel Hansson, Verifyter 17
• BITsanity is not order dependent if
it is optimally scheduled
A B
• With 3 test suites, run the shortest
at least every second run
3/2/2016 Daniel Hansson, Verifyter 18
1 Nightly Run, X Sanity Runs
• 1 Nightly and 2-4 Sanity: good cost-benefit ratio
• Better than running 2 Nightly runs
3 Test Suites
3/2/2016 Daniel Hansson, Verifyter 19
Same pattern as
for 2 Test Suites
Summary
• Detect Bugs Fast, Fix Bugs Fast => Earlier release
• Launch Frequencies with good cost-benefit ratios:
– 1 Test Suite: Run the test suite 2-5x per cycle
– Multiple Test Suites: Run the largest test suite once and
the smaller test suites 2-4x for each larger run
• Optimal Scheduling:
– All max BIT’s should be equal for lowest coverage tranche
– If a test suite is longer than the max BIT of a shorter test suite
then you can schedule the test suites independently
– Interleave test suites
– With 3 test suites, run the shortest at least every second run
3/2/2016 Daniel Hansson, Verifyter 20
To find your optimal
setup you need to use
the equations
Optimal
Setup
3/2/2016 Daniel Hansson, Verifyter 21
A B C D
8 AM
sanity sanity sanity 9
nightly 10
11
Report Launch 12 PM
Each 8h Each 8h 1
2
3
sanity 4
sanity 5
6
sanity 7
nightly 8
nightly 9
10
11
nightly nightly 0 AM
1
2
3
4
5
6
7
Which regression
test setup is the
most efficient?
Answer: A

More Related Content

Similar to Optimal Usage of the Computer Farm for Regression Testing

Probabilistic Activity Time
Probabilistic Activity TimeProbabilistic Activity Time
Probabilistic Activity Time
Carrine Aulia
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Minh Nguyen
 
encryption and hash algorithms
encryption and hash algorithmsencryption and hash algorithms
encryption and hash algorithms
CARMEN ALCIVAR
 

Similar to Optimal Usage of the Computer Farm for Regression Testing (20)

Virtual Flink Forward 2020: Autoscaling Flink at Netflix - Timothy Farkas
Virtual Flink Forward 2020: Autoscaling Flink at Netflix - Timothy FarkasVirtual Flink Forward 2020: Autoscaling Flink at Netflix - Timothy Farkas
Virtual Flink Forward 2020: Autoscaling Flink at Netflix - Timothy Farkas
 
Probabilistic Activity Time
Probabilistic Activity TimeProbabilistic Activity Time
Probabilistic Activity Time
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testing
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
 
Database performance improvement, a six sigma project (mesure) by nirav shah
Database performance improvement, a six sigma project (mesure) by nirav shah Database performance improvement, a six sigma project (mesure) by nirav shah
Database performance improvement, a six sigma project (mesure) by nirav shah
 
Amazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringAmazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and Monitoring
 
Shift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaShift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David Laulusa
 
Webinar: How to Size a Lab
Webinar: How to Size a LabWebinar: How to Size a Lab
Webinar: How to Size a Lab
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
Case study: formal verification of the Brain Fuck Scheduler
Case study: formal verification of the Brain Fuck SchedulerCase study: formal verification of the Brain Fuck Scheduler
Case study: formal verification of the Brain Fuck Scheduler
 
Simulation Project Report
Simulation Project ReportSimulation Project Report
Simulation Project Report
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
 
KoprowskiT_SQLSat219_Kiev_2AM-aDisasterJustbegan
KoprowskiT_SQLSat219_Kiev_2AM-aDisasterJustbeganKoprowskiT_SQLSat219_Kiev_2AM-aDisasterJustbegan
KoprowskiT_SQLSat219_Kiev_2AM-aDisasterJustbegan
 
encryption and hash algorithms
encryption and hash algorithmsencryption and hash algorithms
encryption and hash algorithms
 
A Transcat.com Webinar Presented by Aglient Technolgoes: Scope Technology Imp...
A Transcat.com Webinar Presented by Aglient Technolgoes: Scope Technology Imp...A Transcat.com Webinar Presented by Aglient Technolgoes: Scope Technology Imp...
A Transcat.com Webinar Presented by Aglient Technolgoes: Scope Technology Imp...
 
Writing Applications for Scylla
Writing Applications for ScyllaWriting Applications for Scylla
Writing Applications for Scylla
 
IEC 60870-5 101 Protocol client Master simulator User manual
IEC 60870-5 101 Protocol client Master simulator User manualIEC 60870-5 101 Protocol client Master simulator User manual
IEC 60870-5 101 Protocol client Master simulator User manual
 
BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102
 
mel705-15.ppt
mel705-15.pptmel705-15.ppt
mel705-15.ppt
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Optimal Usage of the Computer Farm for Regression Testing

  • 1. Optimal Usage of the Computer Farm for Regression Testing Daniel Hansson, Verifyter Patrik Granath, Verifyter
  • 2. Background We need some science! 3/2/2016 Daniel Hansson, Verifyter 2 Why does the need for computer farm resources increase so fast? We run more stuff ...and my jobs are still queued. Buy more!
  • 3. Optimal Setup 3/2/2016 Daniel Hansson, Verifyter 3 A B C D 8 AM sanity sanity sanity 9 nightly 10 11 Report Launch 12 PM Each 8h Each 8h 1 2 3 sanity 4 sanity 5 6 sanity 7 nightly 8 nightly 9 10 11 nightly nightly 0 AM 1 2 3 4 5 6 7 Which regression test setup is the most efficient? At the end of the presentation you will know
  • 4. Defining Metrics (1/2) 3/2/2016 Daniel Hansson, Verifyter 4 Metric Definition Cost Total CPU test time Bug Identification Time Time from a bug is committed to the revision control system until a failure is reported Bug Fix Time Bug Identification Time + debug time + committing fix Test Fail Ratio (Quality) The number of failing tests / total number of tests run, for a given period
  • 5. Defining Metrics (2/2) 3/2/2016 Daniel Hansson, Verifyter 5
  • 6. 3/2/2016 Daniel Hansson, Verifyter 6 Quality • Better Test Fail Ratio (Quality) means Earlier Release • Shorter BIT and Shorter Bug Fix Time => Earlier Release • What is the optimal setup?
  • 7. Coverage (1/2) Functional Coverage (%) vs Test Suite Run Time (h) 3/2/2016 Daniel Hansson, Verifyter 7 Doubling the cost (run time) does not double the chance of finding a bug (coverage)
  • 8. Coverage (2/2) 3/2/2016 Daniel Hansson, Verifyter 8 Longer test suite means longer bug identification time at a higher cost, but only gives some better coverage
  • 9. Launch Frequency 3/2/2016 Daniel Hansson, Verifyter 9 Running twice instead of once per day matters a lot! For higher launch frequencies it is a case of diminishing returns
  • 10. Equations for 1 Test Suite 3/2/2016 Daniel Hansson, Verifyter 10 CPUs Average #CPU’s L Launches TSL Test Suite Length
  • 11. Conclusions for 1 test suite 3/2/2016 Daniel Hansson, Verifyter 11 • The BIT looks similar for different cases • The reason: the BIT depends mainly on #launches • Conclusion: 2-5 launches/cycle has a good cost- benefit ratio Good cost-benefit ratioGood cost-benefit ratio
  • 12. 2 Test Suites 3/2/2016 Daniel Hansson, Verifyter 12 • Assumption: Functional coverage of sanity is a sub-set of the nightly coverage
  • 13. 2 Test Suites 3/2/2016 Daniel Hansson, Verifyter 13 • There are 3 test suite sequences – sanity => sanity – sanity => nightly – nightly => sanity • Probability for a bug to be committed during a test sequence • BIT for each test sequence 2
  • 14. 2 Test Suites 3/2/2016 Daniel Hansson, Verifyter 14 Probability for a bug to appear in this part of the cycle Average BIT for each of the 3 sequences
  • 15. 3/2/2016 Daniel Hansson, Verifyter 15 Optimal Scheduling • The optimal launch schedule is achieved when all max BIT’s are equal • This keeps the max BIT’s too a min Optimal free time between two sanity runs Optimal free time between one sanity run and one nightly run
  • 16. 3/2/2016 Daniel Hansson, Verifyter 16 Optimal Scheduling (2/2) • If the nightly test suite length is equal or larger than max BITStoS then nightly will never first find a bug in the sanity coverage tranche • In this case it can be scheduled independently of the sanity runs
  • 17. Interleaving • Interleaving test suites reduces the overall BIT • This is because the nightly runs will be better spread out (lower BITnightly) 3/2/2016 Daniel Hansson, Verifyter 17 • BITsanity is not order dependent if it is optimally scheduled A B • With 3 test suites, run the shortest at least every second run
  • 18. 3/2/2016 Daniel Hansson, Verifyter 18 1 Nightly Run, X Sanity Runs • 1 Nightly and 2-4 Sanity: good cost-benefit ratio • Better than running 2 Nightly runs
  • 19. 3 Test Suites 3/2/2016 Daniel Hansson, Verifyter 19 Same pattern as for 2 Test Suites
  • 20. Summary • Detect Bugs Fast, Fix Bugs Fast => Earlier release • Launch Frequencies with good cost-benefit ratios: – 1 Test Suite: Run the test suite 2-5x per cycle – Multiple Test Suites: Run the largest test suite once and the smaller test suites 2-4x for each larger run • Optimal Scheduling: – All max BIT’s should be equal for lowest coverage tranche – If a test suite is longer than the max BIT of a shorter test suite then you can schedule the test suites independently – Interleave test suites – With 3 test suites, run the shortest at least every second run 3/2/2016 Daniel Hansson, Verifyter 20 To find your optimal setup you need to use the equations
  • 21. Optimal Setup 3/2/2016 Daniel Hansson, Verifyter 21 A B C D 8 AM sanity sanity sanity 9 nightly 10 11 Report Launch 12 PM Each 8h Each 8h 1 2 3 sanity 4 sanity 5 6 sanity 7 nightly 8 nightly 9 10 11 nightly nightly 0 AM 1 2 3 4 5 6 7 Which regression test setup is the most efficient? Answer: A