Department of Computer Science Allegheny College http://www.cs.allegheny.edu/∼gkapfham/ University of Ulm – January 23, 2012 †Joint with Mary Lou Soffa (University of Virginia) and Jonathan Miller Kauffman (Allegheny College)
Software and Data are Everywhere Computer Server Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Everywhere Computer Server Program Computer Server Program Desktop Computer Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Everywhere Computer Server Program Computer Server Program Desktop Computer Program Desktop Computer Program Mobile Computer Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Program Program Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Program Program Program Program Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Program Program Program Program Program Program Program Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Program Program Program Program Program Program Program Program Computer Server Program Desktop Computer Program Mobile Computer Program Household Appliance Program Scientific Device Program Network Router Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity Computer Software Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity Computer Software Lines of Code Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity Computer Software Lines of Code Numerous Features Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity Computer Software Lines of Code Numerous Features Feature Interactions Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity Computer Software Lines of Code Numerous Features Feature Interactions Execution Environments Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity 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 Regression Testing Techniques for Relational Database Applications
Software Complexity and Data Enormity 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. Prediction: in 2011, 1.8 zettabytes (i.e., 1.8 trillion giga- bytes) of data will be created - IDC Digital Universe Study Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Evolving Execution Environment Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Evolving Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are 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 Regression Testing Techniques for Relational Database Applications
Software and Data are Evolving Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Evolving Execution Environment Program Execution Environment Program Execution Environment Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Software and Data are Evolving Execution Environment Program Execution Environment Program Execution Environment Program Execution Environment Changed due to modifica- tion of a kernel, device driver, or relational database Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Interesting Defect Report Database Server Crashes When you run a complex query against Microsoft SQL Server 2000, the SQL Server scheduler may stop respond- ing. Additionally, you receive an error message that resem- bles the following: Date Time server Error: 17883 Sever- ity: 1, State: 0 Date Time server Process 52:0 (94c) ... Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Interesting Defect Report Input-Dependent Defect This problem occurs when one or more of the following con- ditions are true: The query contains a UNION clause or a UNIONALL clause that affects many columns. The query contains several JOIN statements. The query has a large estimated cost. BUG 473858 (SQL Server 8.0) Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Defective Database Application The Risks Digest, Volume 22, Issue 64, 2003 Jeppesen reports airspace boundary problems About 350 airspace boundaries contained in Jeppesen Nav- Data are incorrect, the FAA has warned. The error occurred at Jeppesen after a software upgrade when information was pulled from a database containing 20,000 airspace bound- aries worldwide for the March NavData update, which takes effect March 20. Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Defective Database Application The Risks Digest, Volume 22, Issue 64, 2003 Jeppesen reports airspace boundary problems About 350 airspace boundaries contained in Jeppesen Nav- Data are incorrect, the FAA has warned. The error occurred at Jeppesen after a software upgrade when information was pulled from a database containing 20,000 airspace bound- aries worldwide for the March NavData update, which takes effect March 20. Practically all use of databases occurs from within applica- tion programs [Silberschatz et al., 2006, pg. 311] Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) A schema is a collection of table definitions: CREATE TABLE person ( id INT, name VARCHAR(100) NOT NULL, age INT(3), PRIMARY KEY (id) ) Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) The data manipulation language supports several operations: SELECT name FROM person WHERE age >= 30 AND age <= 40 Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) The data manipulation language supports several operations: UPDATE person SET name = Jan WHERE id = 2 Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) The data manipulation language supports several operations: INSERT INTO person (id, name, age) VALUES (1, John, 38) Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Language The structured query language (SQL) is an established stan- dard and a query and manipulation language for relational database management systems (RDBMS) The data manipulation language supports several operations: DELETE FROM person WHERE id = 2 Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Database State Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Relational Database Management System select Database State query Data Manipulation Language (DML) Statements Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Relational Database Management System update Database State modify Data Manipulation Language (DML) Statements Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Data Manipulation Language (DML) Statements Relational Database Management System insert Database State modify Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Data Manipulation Language (DML) Statements Relational Database Management System delete Database State modify Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Relational Database Management System create table Database Structure modify Data Definition Language (DDL) Statements Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Applications Program Relational Database Management System Relational Database Management System create table Database Structure modify Data Definition Language (DDL) Statements Can we categorize the dif- ferent ways of implementing database applications? Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Only the database administrator can add new constraints to the schema! Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure The programmers encode the constraints in the program’s source code! Constraint Ci Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure The programmers encode the constraints in the program’s source code! Constraint Ci Constraint Cj Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure The programmers encode the constraints in the program’s source code! Constraint Ci Constraint Cj Constraint Ck Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Constraint Ci Constraint Cj Constraint Ck Programmers make other changes to the source code of the program Program Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Constraint Ci Constraint Cj Constraint Ck External programs can change the state of the relational database Database State Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Constraint Ci Constraint Cj Constraint Ck Database administrator can change the structure of the database Database Structure Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
of Database Applications Program Relational Database Management System Relational Database Management System DML Command Database State Database Structure Constraint Ci Constraint Cj Constraint Ck How can we test a rapidly changing database application? Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
to the Rescue Database Applications Pervasive Complex Evolving Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
to the Rescue Database Applications Pervasive Complex Evolving Regression Testing supports the efficient construction of database software that is complex and rapidly evolving Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Case? Method Under Test Test Set Up Input Output Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Case? Method Under Test Test Set Up Input Output Test Clean Up Test Oracle Expected Output Test Verdict Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
a Test Suite? T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Tool Support for Software Testing? JUnit Apache Ant DBUnit Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Management T1 T2 T3 T4 . . . Tn Organize the Test Cases into a Test Suite Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Management T1 T2 T3 T4 . . . Tn Regression Testing Technique What if Some Test Cases are More Effective? T3 Tn Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Regression Testing Start Coverage Report Selection Reduction Prioritization Original Test Suite Modified Test Suite Test Suite Execution Test Coverage Monitoring Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 Run Test Case Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 T1 Passing Test Case: OA = OE Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 T1 T2 T3 T4 T5 T6 T7 Run Test Case Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Execution T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks T1 T1 T2 T3 T4 T5 T6 T7 T7 Failing Test Case: OA = OE Stop Running T T8 T9 T10 Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks Database-Aware Test Coverage Monitor Proteja Test Suite Manager Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Monitoring T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Test Suite T = T1, T2, . . . , T9, T10 JUnit and DBUnit Test Automation Frameworks Database-Aware Test Coverage Monitor Proteja Test Suite Manager T1 Run Test Case Collect Per-Test Case Coverage Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
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 Regression Testing Techniques for Relational Database Applications
• Databases are widely used in real-world applications • Database applications have complex state and structure • Source code, database state, and relational schema evolve • Prioritization techniques can increase effectiveness • Reduction methods can improve the efficiency of testing Future Work • New empirical studies of database-aware regression testing • Implement and release free and open source testing tools Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
• Databases are widely used in real-world applications • Database applications have complex state and structure • Source code, database state, and relational schema evolve • Prioritization techniques can increase effectiveness • Reduction methods can improve the efficiency of testing Future Work • New empirical studies of database-aware regression testing • Implement and release free and open source testing tools Kapfhammer Allegheny College Regression Testing Techniques for Relational Database Applications
Department of Computer Science Allegheny College http://www.cs.allegheny.edu/∼gkapfham/ Thank you for your attention! I welcome your questions and comments.