Directly to content
  1. Publishing |
  2. Search |
  3. Browse |
  4. Recent items rss |
  5. Open Access |
  6. Jur. Issues |
  7. DeutschClear Cookie - decide language by browser settings

Generating Meaningful Test Databases

Binnig, Carsten

German Title: Generierung relevanter Testdatenbanken

[thumbnail of diss.pdf]
Preview
PDF, English
Download (1MB) | Terms of use

Citation of documents: Please do not cite the URL that is displayed in your browser location input, instead use the DOI, URN or the persistent URL below, as we can guarantee their long-time accessibility.

Abstract

Testing is one of the most time-consuming and cost-intensive tasks in software development projects today. A recent report of the NIST [RTI02] estimated the costs for the economy of the Unites States of America caused by software errors in the year 2000 to range from $22.2 to $59.5 billion. Consequently, in the past few years, many techniques and tools have been developed to reduce the high testing costs. Many of these techniques and tools are devoted to automate various testing tasks (e.g., test case generation, test case execution, and test result checking). However, almost no research work has been carried out to automate the testing of database applications (e.g., an E-Shop application) and relational database management systems (DBMSs). The testing of a database application and of a DBMS requires different solutions because the application logic of a database application or of a DBMS strongly depends on the contents of the database (i.e., the database state). Consequently, when testing database applications or DBMSs new problems arise compared to traditional software testing. This thesis focuses on a specific problem: the test database generation. The test database generation is a crucial task in the functional testing of a database application and in the testing of a DBMS (also called test object further on). In order to test a certain behavior of the test object, we need to generate one or more test databases which are adequate for a given set of test cases. Currently, a number of academic and commercial test database generation tools are available. However, most of these generators are general-purpose solutions which create the test databases independently from the test cases that are to be executed on the test object. Hence, the generated test databases often do not comprise the necessary data characteristics to enable the execution of all test cases. In this thesis we present two innovative techniques (Reverse Query Processing and Symbolic Query Processing), which tackle this problem for different applications (i.e, the functional testing of database applications and DBMSs). The idea is to let the user specify the constraints on the test database individually for each test case in an explicit way. These constraints are then used directly to generate one or more test databases which exactly meet the needs of the test cases that are to be executed on the test object.

Translation of abstract (German)

In heutigen Softwareentwicklungsprojekten ist das Testen eine der kosten- und zeitintensivsten Tätigkeiten. Wie ein aktueller Bericht des NIST [RTI02] zeigt, verursachten Softwarefehler in den USA im Jahr 2000 zwischen 22, 2 und 59, 5 Milliarden Dollar an Kosten. Demzufolge wurden in den letzten Jahren verschiedene Methoden und Werkzeuge entwickelt, um diese hohen Kosten zu reduzieren. Viele dieser Werkzeuge dienen dazu die verschiedenen Testaufgaben (z.B. das Erzeugen von Testfällen, die Ausführung von Testfällen und das Überprüfen der Testergebnisse) zu automatisieren. Jedoch existieren fast keine Forschungsarbeiten zur Testautomatisierung von Datenbankanwendungen (wie z.B. eines E-Shops) oder von relationalen Datenbankmanagementsystemen (DBMS). Hierzu sind neue Lösungen erforderlich, da das Verhalten der zu testenden Anwendung stark vom Inhalt der Datenbank abhängig ist. Folglich ergeben sich für den Test von Datenbankanwendungen oder von Datenbankmanagementsystemen neue Probleme und Herausforderungen im Vergleich zum traditionellen Testen von Anwendungen ohne Datenbank. Die vorliegende Arbeit diskutiert ein bestimmtes Problem aus diesem Umfeld: Die Generierung von Testdatenbanken. Die Generierung von Testdatenbanken ist eine entscheidende Tätigkeit für den erfolgreichen Test einer Datenbankanwendung oder eines Datenbankmanagementsystems (im weiteren Verlauf auch Testobjekt genannt). Um eine bestimmte Funktionalität des Testobjekts zu testen, müssen die Daten in den Testdatenbanken bestimmte Charakteristika aufweisen. Zur Erzeugung einer Testdatenbank existieren verschiedene Forschungsprototypen wie auch kommerzielle Datenbankgeneratoren. Jedoch sind die existierenden Datenbankgeneratoren meist Universallösungen, welche die Testdatenbanken unabhängig von den auszuführenden Testfällen erzeugen. Demzufolge weisen die generierten Testdatenbanken meist nicht die notwendigen Datencharakteristika auf, die zur Ausführung einer bestimmten Menge von Testfällen notwendig sind. Die vorliegende Doktorarbeit stellt zwei innovative Ansätze vor (Reverse Query Processing und Symbolic Query Processing), die dieses Problem für unterschiedliche Anwendungen (d.h. für das funktionale Testen von Datenbankanwendungen und Datenbankmanagementsystemen) lösen. Die generelle Idee beider Ansätze ist, dass der Benutzer explizit für jeden Testfall die notwendigen Bedingungen an die Testdaten formulieren kann. Diese Bedingungen werden dann dazu genutzt, um eine oder mehrere Testdatenbanken zu generieren, die die gewünschten Datencharakteristika aufweisen, welche zur Ausführung der Testfälle notwendig sind.

Document type: Dissertation
Supervisor: Kossmann, Prof. Dr. Donald
Date of thesis defense: 15 April 2008
Date Deposited: 23 Apr 2008 13:23
Date: 2008
Faculties / Institutes: The Faculty of Mathematics and Computer Science > Department of Computer Science
DDC-classification: 004 Data processing Computer science
Controlled Keywords: Datenbank, CASE, Modellgetriebene Entwicklung, Softwareentwicklung, Informationssystem, Datenbanksystem
Uncontrolled Keywords: Softwaretest , Testdatenbanken-Generatoren , Software-TestautomatisierungSoftware Testing , Test Database Generators , Software Test Automation
About | FAQ | Contact | Imprint |
OA-LogoDINI certificate 2013Logo der Open-Archives-Initiative