This research focuses on integration testing of enterprise systems, more concretely on how to automatically generate the initial test data to be entered into the relational database to support each test case. Existing approaches generate initial database entries for each test case one-by-one, but there are two problems with this approach. The first problem is that switching initial database states for each test case is too time consuming when we use the generated initial database states for testing. The second problem is that the total number of DB records tends to be large because many initial database states are generated. As a result, the total size of test data becomes large, which increases the cost of managing the test data and the time needed to switch initial database states for each test case. To solve these problems, we propose a framework for generating initial database states that are shared by multiple test cases. We list up the three key challenges (test case grouping, DB record arrangements, and initial database state constraint generation), and then introduce simple and reasonable solutions for each challenge. Using industrial-level enterprise systems, we confirm that our proposal reduces the number of initial database states by 49%, and the total number of DB records by 47%.
[1]
Rajesh Subramanyan,et al.
A survey on model-based testing approaches: a systematic review
,
2007,
WEASELTech '07.
[2]
Phyllis G. Frankl,et al.
A framework for testing database applications
,
2000,
ISSTA '00.
[3]
Ippokratis Pandis,et al.
TPC-E vs. TPC-C: characterizing the new TPC-E benchmark via an I/O comparison study
,
2011,
SGMD.
[4]
Tadahiro Uehara,et al.
Test data generation for web application using a UML class diagram with OCL constraints
,
2011,
Innovations in Systems and Software Engineering.
[5]
Jon Edvardsson,et al.
A Survey on Automatic Test Data Generation
,
2002
.
[6]
Natarajan Shankar,et al.
A Tutorial on Satisfiability Modulo Theories
,
2007,
CAV.
[7]
Koushik Sen,et al.
CUTE: a concolic unit testing engine for C
,
2005,
ESEC/FSE-13.
[8]
26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, KS, USA, November 6-10, 2011
,
2011,
ASE.