the Present and Future of Regression Testing Gregory M. Kapfhammer† Department of Computer Science Allegheny College http://www.cs.allegheny.edu/∼gkapfham/ University of Delhi – May 9, 2012 †Joint with Jonathan Miller Kauffman (Allegheny College)
Software is Everywhere Computer Server Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Everywhere Computer Server Program Computer Server Program Desktop Computer Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Everywhere Computer Server Program Computer Server Program Desktop Computer Program Desktop Computer Program Mobile Computer Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Everywhere Computer Server Program Computer Server Program Desktop Computer Program Desktop Computer Program Mobile Computer Program Mobile Computer Program Household Appliance Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Everywhere Computer Server Program Computer Server Program Desktop Computer Program Desktop Computer Program Mobile Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Household Appliance Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Everywhere Computer Server Program Computer Server Program Desktop Computer Program Desktop Computer Program Mobile Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Household Appliance Program Network Router Program Scientific Device Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Lines of Code Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Lines of Code Numerous Features Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Lines of Code Numerous Features Feature Interactions Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Lines of Code Numerous Features Feature Interactions Execution Environments Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Complex Computer Software Lines of Code Numerous Features Feature Interactions Execution Environments Software entities are more complex for their size than per- haps any other human construct - Frederick P. Brooks, Jr. Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Execution Environment Program Program Changed because of the addition of a new feature or the correction of a defect Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Software is Evolving Execution Environment Program Execution Environment Program Execution Environment Program Execution Environment Changed due to an up- grade in a kernel, device driver, or virtual machine Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Regression Testing to the Rescue Computer Software Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Regression Testing to the Rescue Computer Software Pervasive Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Regression Testing to the Rescue Computer Software Pervasive Complex Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Regression Testing to the Rescue Computer Software Pervasive Complex Evolving Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Regression Testing to the Rescue Computer Software Pervasive Complex Evolving Regression Testing supports the efficient construction of pervasive software that is complex and rapidly evolving Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Input Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Input Output Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Expected Output Output Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Expected Output Output Test Verdict The test case passes and the code is correct! Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Expected Output Output Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Expected Output Output Test Verdict The test case fails and a defect is found! Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? JUnit Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? JUnit Apache Ant Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
What is a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? JUnit Apache Ant Eclipse Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique What if Some Test Cases are More Effective? T3 Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique What if Some Test Cases are More Effective? T3 Tn Prioritization T3 Tn T1 T4 . . . T2 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique What if Some Test Cases are More Effective? T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn What if Some Test Cases are Redundant? T1 T2 T3 T4 . . . Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn What if Some Test Cases are Redundant? T1 T2 T3 T4 . . . Tn Reduction T4 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn What if Some Test Cases are Redundant? T1 T2 T3 T4 . . . Tn Reduction T4 T1 T2 T3 T4 . . . Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn T1 T2 T3 T4 . . . Tn Reduction T4 T1 T2 T3 T4 . . . Tn What if Only Certain Tests are Needed? T2 Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Management T1 T2 T3 T4 . . . Tn Regression Testing Technique T3 Tn Prioritization T3 Tn T1 T4 . . . T2 T1 T2 T3 T4 . . . Tn T1 T2 T3 T4 . . . Tn Reduction T4 T1 T2 T3 T4 . . . Tn What if Only Certain Tests are Needed? T2 Tn Selection T1 T2 T3 T4 . . . Tn Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results End Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results End Use the Coverage Report During the Next Round of Regression Testing Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results End Use the Same Test Suite for the Next Round of Regression Testing Standard Repeat Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results End Standard Repeat Make a New Test Suite for the Next Round of Regression Testing Version Specific Repeat Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Model of Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Program Adequacy Criterion Test Results End Standard Repeat Make a New Test Suite for the Next Round of Regression Testing Version Specific Repeat Our Tools Support All of the Phases in this Model! Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} R12 R12 R12 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} R12 R12 R12 R12 R12 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Adequacy T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 Run Test Case Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 Passing Test Case: OA = OE Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 Run Test Case Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T T8 T9 T10 T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T T8 T9 T10 T8 T9 T10 Continue Running T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Suite Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T T8 T9 T10 T8 T9 T10 Continue Running T T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework Cobertura Test Coverage Monitor Proteja Test Suite Manager Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit Test Automation Framework Cobertura Test Coverage Monitor Proteja Test Suite Manager T1 Run Test Case Collect Per-Test Case Coverage Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 Requirements Set R for ... Statement Coverage Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 Requirements Set R for ... Mutation Coverage Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Test Coverage Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 R12 Requirements Set R for ... Definition-Use Coverage Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 2, 3 CE = 0.3789 Prioritize to increase the CE of a test suite CE = Actual Ideal ∈ [0, 1] Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 2, 3 CE = 0.3789 1,2,3 Test Orderings Original ordering exhibits poor effectiveness score - CE = 0.3789 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 1, 3, 2 CE = 0.5053 1,2,3 Test Orderings 1,2,3 1,3,2 Different ordering improves the effectiveness score - CE = 0.5053 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 2, 3, 1 CE = 0.4316 1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 Some orderings have less improved scores - CE = 0.4316 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 3, 1, 2 CE = 0.5789 1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 1,2,3 1,3,2 2,3,1 3,1,2 Best ordering shows a higher effectiveness scores - CE = 0.5789 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 3, 1, 2 CE = 0.5789 1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 1,2,3 1,3,2 2,3,1 3,1,2 Greedy methods often produce high-effectiveness orderings Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Importance of Test Suite Prioritization 0 5 10 15 0 1 2 3 4 5 Testing Time (l) Covered Test Requirements (C(T, l)) 3, 1, 2 CE = 0.5789 1,2,3 Test Orderings 1,2,3 1,3,2 1,2,3 1,3,2 2,3,1 1,2,3 1,3,2 2,3,1 3,1,2 Search-based techniques may have some desirable characteristics Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} 1.66 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} 1.66 R12 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} 1.66 2.66 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Greedy Algorithms T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 Requirements Set R = {R1, R2, . . . , R11, R12} 1.66 2.66 Proceed incrementally, picking the test case with the lowest ratio value for the uncovered requirements Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 Possible configuration of the coverage report Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 Possible configuration of the coverage report Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 Possible configuration of the coverage report Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 Execution time of the test cases may mislead greedy Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 Execution time of the test cases may mislead greedy Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 Original ordering has low effectiveness score Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 CE(T) = 0.54 Original ordering has low effectiveness score Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 Greedy method constructs suite with marginal improvement Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 CE(T ) = 0.55 Greedy method constructs suite with marginal improvement Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 CE(T ) = 0.55 Greedy can exhibit high run-times (Jiang et al. ASE 2009) Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 Genetic may find better orderings (Conrad et al. GECCO 2010) Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ) = 0.63 Genetic may find better orderings (Conrad et al. GECCO 2010) Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ) = 0.63 Search-based algorithms are amenable to parallelization Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ) = 0.63 Search-based algorithms support “human in the loop” Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Limitations of Greedy Algorithms T1 T3 T2 T4 R1 R2 R3 T1 T3 T2 T4 R1 R2 R3 time(T1) = 1 time(T2) = 1 time(T4) = 1 time(T3) = 2.45 T1 T2 T3 T4 T3 T1 T2 T4 T1 T2 T4 T3 CE(T ) = 0.63 Search-based algorithms construct diverse test orderings Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point T1, T2, T3, T4, T5 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point T1, T2, T3, T4, T5 T2, T1, T3, T4, T5 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point T1, T2, T3, T4, T5 T2, T1, T3, T4, T5 T3, T2, T1, T4, T5 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point T1, T2, T3, T4, T5 T2, T1, T3, T4, T5 T3, T2, T1, T4, T5 T4, T2, T3, T1, T5 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm Explore the “neighborhood” of test suites from a starting point T1, T2, T3, T4, T5 T2, T1, T3, T4, T5 T3, T2, T1, T4, T5 T4, T2, T3, T1, T5 T5, T2, T3, T4, T1 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time T T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time T T T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time T T T T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Hill Climbing Algorithm fitness time T T T T T Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Graphs Diagrams Summarized Data Sets Models Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Graphs Diagrams Summarized Data Sets Models Iteratively Perform Visualization and Statistical Analysis Repeat Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Graphs Diagrams Summarized Data Sets Models Iteratively Perform Visualization and Statistical Analysis Repeat End Conduct Experiments with Additional Programs, Test Suites, and Techniques Repeat Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Graphs Diagrams Summarized Data Sets Models Repeat End Conduct Experiments with Additional Programs, Test Suites, and Techniques Repeat Our tools support all of these tasks! Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Experimentation How Do I Evaluate Regression Testing Methods? Start Programs Test Suites Conduct Experiments Regression Testing Techniques Technique Configurations Data Sets Visualization Statistical Analysis Graphs Diagrams Summarized Data Sets Models Repeat End Conduct Experiments with Additional Programs, Test Suites, and Techniques Repeat Greedy, Hill Climbing, Random, Adaptive Random, Simulated Annealing, Genetic Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Greedy and hill climbing produce comparable orderings Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime However, hill climbing is slightly more efficient than greedy Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime Greedy produces a slightly better ordering than hill climbing Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime But the hill climbing algorithm executes over four times faster! Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Greedy and Search-Based Prioritizer NAPSC Runtime (sec) Application GRD 0.98 0.22 Sudoku GRD 0.36 0.38 ReductionAndPrioritization GRD 0.71 33.88 JodaTime HC SA FS 0.98 0.01 Sudoku HC SA FS 0.36 0.04 ReductionAndPrioritization HC SA FS 0.69 7.88 JodaTime A small NAPSC increase may result in a large runtime increase Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Population Size NAPSC 0.3240 0.3245 0.3250 0.3255 0.3260 0.3265 10 20 30 JodaTime (JT) Statement Original NAPSC Score: 0.2784 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Population Size NAPSC 0.3240 0.3245 0.3250 0.3255 0.3260 0.3265 10 20 30 JodaTime (JT) Statement Negligible NAPSC increase as population size increases Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Population Size Runtime (seconds) 10 15 20 10 20 30 JodaTime (JT) Statement Increases in runtime are more marked Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Similarity Metric NAPSC 0.3194 0.3195 0.3196 0.3197 Euclidean Jaccard Manhattan JodaTime (JT) Statement Original NAPSC Score: 0.2784 Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Similarity Metric NAPSC 0.3194 0.3195 0.3196 0.3197 Euclidean Jaccard Manhattan JodaTime (JT) Statement NAPSC changes little as similarity metric is varied Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Similarity Metric NAPSC 0.3194 0.3195 0.3196 0.3197 Euclidean Jaccard Manhattan JodaTime (JT) Statement Scores are comparable to those produced by random (0.3240 - 0.3265) Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Similarity Metric Runtime (seconds) 80 90 100 110 120 Euclidean Jaccard Manhattan JodaTime (JT) Statement Adaptive random executes more slowly than random Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Empirical Results: Random and Adaptive Random Similarity Metric Runtime (seconds) 80 90 100 110 120 Euclidean Jaccard Manhattan JodaTime (JT) Statement Choose random because it produces comparable NAPSC scores in less time Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Future of Regression Testing Research • Reproducible research by releasing software tools and data • Integrate many existing algorithms into a single framework • Develop new forums for publishing important results • Software Quality Journal special issue • International Workshop on Regression Testing Practice • Encourage the use of coarse-grained information • Try to apply existing tools to industrial programs • Participate in community events; publish experience reports Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
Future of Regression Testing Research • Reproducible research by releasing software tools and data • Integrate many existing algorithms into a single framework • Develop new forums for publishing important results • Software Quality Journal special issue • International Workshop on Regression Testing Practice • Encourage the use of coarse-grained information • Try to apply existing tools to industrial programs • Participate in community events; publish experience reports Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
and Future Work Concluding Remarks • Comprehensive framework for regression testing • Interesting empirical results demonstrate trade-offs • Free/open source tools are available for download • http://proteja.googlecode.com • http://modificare.googlecode.com Future Work • Add new algorithms for regression testing • Conduct experiments with more case study applications • Further develop statistically meaningful empirical results Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
and Future Work Concluding Remarks • Comprehensive framework for regression testing • Interesting empirical results demonstrate trade-offs • Free/open source tools are available for download • http://proteja.googlecode.com • http://modificare.googlecode.com Future Work • Add new algorithms for regression testing • Conduct experiments with more case study applications • Further develop statistically meaningful empirical results Kapfhammer Allegheny College Software Quality Improvement through Repeated Test Execution: An Exploration of the Present and Future of Regression Testing
the Present and Future of Regression Testing Gregory M. Kapfhammer http://www.cs.allegheny.edu/∼gkapfham/ Thank you for your attention! Contact me with questions and/or comments!