the measured performance of database aware test coverage
play

The Measured Performance of Database-Aware Test Coverage Monitoring - PowerPoint PPT Presentation

Introduction to Database Applications Introduction to Software Testing Database-Aware Test Coverage Monitoring Experimental Study The Measured Performance of Database-Aware Test Coverage Monitoring Gregory M. Kapfhammer Department of


  1. Introduction to Database Applications Introduction to Software Testing Database-Aware Test Coverage Monitoring Experimental Study The Measured Performance of Database-Aware Test Coverage Monitoring Gregory M. Kapfhammer † Department of Computer Science Allegheny College http://cs.allegheny.edu/~gkapfham/ University of Pittsburgh, 2007 † In Conjunction with Mary Lou Soffa (UVa/CS), Panos Chrysanthis (Pitt/CS), Bruce Childers (Pitt/CS) Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  2. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Outline Introduction to Database Applications 1 Motivation What is a Database Application? Introduction to Software Testing 2 Traditional Software Testing A New Testing Paradigm Database-Aware Test Coverage Monitoring 3 Coverage Monitoring Basics Fundamentals of Coverage Monitoring Instrumentation Probes Experimental Study 4 Experiment Design Instrumentation Costs Coverage Monitoring Costs Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  3. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study An Interesting Defect Report Database Server Crashes When you run a complex query against Microsoft SQL Server 2000, the SQL Server scheduler may stop responding. Additionally, you receive an error message that resembles the following: Date Time server Error: 17883 Severity: 1, State: 0 Date Time server Process 52:0 (94c) ... An Input-Dependent Defect This problem occurs when one or more of the following conditions are true: The query contains a U N I O N clause or a U N I O N A L L clause that affects many columns. The query contains several J O I N statements. The query has a large estimated cost. BUG 473858 (SQL Server 8.0) Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  4. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study An Interesting Defect Report Database Server Crashes When you run a complex query against Microsoft SQL Server 2000, the SQL Server scheduler may stop responding. Additionally, you receive an error message that resembles the following: Date Time server Error: 17883 Severity: 1, State: 0 Date Time server Process 52:0 (94c) ... An Input-Dependent Defect This problem occurs when one or more of the following conditions are true: The query contains a U N I O N clause or a U N I O N A L L clause that affects many columns. The query contains several J O I N statements. The query has a large estimated cost. BUG 473858 (SQL Server 8.0) Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  5. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Real World Example A Severe Defect The Risks Digest, Volume 22, Issue 64, 2003 Jeppesen reports airspace boundary problems About 350 airspace boundaries contained in Jeppesen NavData 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 boundaries worldwide for the March NavData update, which takes effect March 20. An Important Point Practically all use of databases occurs from within application programs [Silberschatz et al., 2006, pg. 311]. Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  6. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Real World Example A Severe Defect The Risks Digest, Volume 22, Issue 64, 2003 Jeppesen reports airspace boundary problems About 350 airspace boundaries contained in Jeppesen NavData 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 boundaries worldwide for the March NavData update, which takes effect March 20. An Important Point Practically all use of databases occurs from within application programs [Silberschatz et al., 2006, pg. 311]. Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  7. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Program and Database Interactions P m Basic Operation Program P creates SQL insert select statements in order to view update delete and/or modify the state of the relational database D D 1 e Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  8. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Database Interaction Granularity P R 1 A B C D m i R 2 D k E F G H R 3 m j I J K L D l Database Interactions Program P interacts with two relational databases D k and D l at different levels of granularity (relation, record, attribute, ...) Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  9. Introduction to Database Applications Introduction to Software Testing Motivation Database-Aware Test Coverage Monitoring What is a Database Application? Experimental Study Types of Applications Database−Centric Applications Interaction Approach Program Location Interface Outside DBMS Embedded Inside DBMS Testing framework relevant to all types of applications Current tool support focuses on Interface-Outside applications Example: Java application that submits SQL Strings to an HSQLDB relational database using a JDBC driver Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  10. Introduction to Database Applications Introduction to Software Testing Traditional Software Testing Database-Aware Test Coverage Monitoring A New Testing Paradigm Experimental Study Outline Introduction to Database Applications 1 Motivation What is a Database Application? Introduction to Software Testing 2 Traditional Software Testing A New Testing Paradigm Database-Aware Test Coverage Monitoring 3 Coverage Monitoring Basics Fundamentals of Coverage Monitoring Instrumentation Probes Experimental Study 4 Experiment Design Instrumentation Costs Coverage Monitoring Costs Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  11. Introduction to Database Applications Introduction to Software Testing Traditional Software Testing Database-Aware Test Coverage Monitoring A New Testing Paradigm Experimental Study Focus on Testing Individual Components P Input Output a 5 print ... exit Final Result: 45 Byte Code Virtual Graphical Machine Database Interface File Operating System System Traditional Assumption Defects may exist in program P and/or P ’s execution environment Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  12. Introduction to Database Applications Introduction to Software Testing Traditional Software Testing Database-Aware Test Coverage Monitoring A New Testing Paradigm Experimental Study Various Approaches to Software Testing Structural Testing Random Testing Input Space MTTF(P) = k Software Freq Specification Reliability Testing Input Techniques and Supporting Tools Structural testing requires a test coverage monitor! Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  13. Introduction to Database Applications Introduction to Software Testing Traditional Software Testing Database-Aware Test Coverage Monitoring A New Testing Paradigm Experimental Study Testing Environment Interactions P Input Output a 5 print ... exit Final Result: 45 Virtual Machine Database Operating System File System A New Direction in Software Testing Defects may exist in P ’s interaction with its environment. This suggests the need for a database-aware test coverage monitor ! Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  14. Introduction to Database Applications Coverage Monitoring Basics Introduction to Software Testing Fundamentals of Coverage Monitoring Database-Aware Test Coverage Monitoring Instrumentation Probes Experimental Study Outline Introduction to Database Applications 1 Motivation What is a Database Application? Introduction to Software Testing 2 Traditional Software Testing A New Testing Paradigm Database-Aware Test Coverage Monitoring 3 Coverage Monitoring Basics Fundamentals of Coverage Monitoring Instrumentation Probes Experimental Study 4 Experiment Design Instrumentation Costs Coverage Monitoring Costs Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

  15. Introduction to Database Applications Coverage Monitoring Basics Introduction to Software Testing Fundamentals of Coverage Monitoring Database-Aware Test Coverage Monitoring Instrumentation Probes Experimental Study Coverage Criteria for Database Applications P 3 delete from R define(R) where A > 100 m i select * from R use(R) 6 Candidates for Coverage Monitoring Find defects in the database interactions by ensuring that the test suite covers all of the possible def-use associations and/or calling contexts Gregory M. Kapfhammer Database-Aware Test Coverage Monitoring

Recommend


More recommend