Development of a Model-driven Approach to Test Data Selection for Functional Testing of Application Systems


Application systems represent an important group of software systems in today’s companies. One main characteristic of these systems is their usage of databases to store customer or product information. These databases can add additional complexity to the testing activities because different test cases may require the databases to contain specific but different information. For instance, one functional test case may require a customer which has two contracts of certain contract types. Another test case may require a customer with unpaid invoices or no contracts at all.

As it is essential for the functional testing of application systems to have a database containing the right test data, processes and techniques to provide the data are necessary parts of the test preparation. One approach often used in practice is to copy (masked) production data into the test systems. By using tools such as Jailer, data sets which respect the database’s integrity constraints can be extracted from production databases and copied into test databases.

However, the selection of the right row sets is still a manual task which requires knowledge about the application’s data models as well as skills in writing SQL SELECT statements. Since the manual creation of the statements is complex and error-prone, an automatable approach and tool support are desirable.

More recently, model-based testing (MBT) has become a promising approach to not only systemize but also to (partially) automate central testing activities based on information extracted from models such as UML diagrams.

 

Goals of the Thesis

The goal of this thesis is to develop a concept to support and partially automate the selection of the right test data sets using model-based techniques and to create a prototypical implementation of the concept. Possible directions include, but are not limited to, the creation of domain-specific languages or the extension of Eclipse’s modeling tools.

 

Tasks

  • Requirements Analysis: First, the specific requirements of test data for functional testing should be collected. In addition, the selection process of tools such as Jailer should be analyzed. The information provided by domain and data models as well as necessary manual steps should be identified.
  • Conceptual Design: Based on this analysis, a concept of the prototype should be designed by relating the identified requirements and by choosing appropriate techniques of model-based testing.
  • Prototypical Implementation: Finally, the concept should be realized by developing a first prototypical implementation and also by evaluating the prototype with the selection of real test data.

 

Literature

  • Klaus Haller. 2010. The test data challenge for database-driven applications. In Proceedings of the Third International Workshop on Testing Database Systems (DBTest ’10). ACM, New York, NY, USA, , Article 6 , 6 pages.
  • Utting, Mark, Alexander Pretschner, and Bruno Legeard. A taxonomy of model-based testing approaches. In Software Testing, Verification and Reliability 22.5 (2012): 297-312.
  • Dias Neto, Arilo C., et al. A survey on model-based testing approaches: a systematic review. In Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies. ACM, 2007. S. 31-36.
  • Jailer: http://jailer.sourceforge.net

Info

  • Type: Master Thesis
  • Status: Completed
  • ID: 2017-001
  • Student: Tatiana Vert

  • Language: German, English

Supervisor