Abstract
Regression testing is an important software maintenance activity to ensure the integrity of a software after modification. However, most methods and tools developed for software testing today do not work well for database applications; these tools only work well if applications are stateless or tests can be designed in such a way that they do not alter the state. To execute tests for database applications efficiently, the challenge is to control the state of the database during testing and to order the test runs such that expensive database reset operations that bring the database into the right state need to be executed as seldom as possible. This work devises a regression testing framework for database applications so that test runs can be executed in parallel. The goal is to achieve linear speed-up and/or exploit the available resources as well as possible. This problem is challenging because parallel testing needs to consider both load balancing and controlling the state of the database. Experimental results show that test run execution can achieve linear speed-up by using the proposed framework.
Similar content being viewed by others
References
NI TestStand. http://www.zone.ni.com/zone/jsp/zone.jsp
Agrawal, H., Horgen, J., Krauser, E., London, S.: Incremental regression testing. In: IEEE Conference. on Software Maintenance, Montreal, Canada, 1993
Beck, K., Gamma, E.: Programmers love writing tests http://www.members.pingnet.ch/gamma/junit.htm (1998)
Chawathe, S., Garcia-Molina, H.: Meaningful change detection in structured data. In Proc. of the ACM SIGMOD Conference on Management of Data, pp. 26–37, Tucson, AZ, USA, 1997
Chays, D., Deng, Y., Frankl, P.G., Dan, S., Vokolos, F.I., Weyuker, E.J.: An AGENDA for testing relational database applications. Software Testing, verification and reliability, 2004
Chou Chang M., Lai F. (1996) Efficient exploitation of instruction-level parallelism for superscalar processors by the conjugate register file scheme. IEEE Trans. Comput. 45(3): 278–293
DBUnit.org. Dbunit homepage. http://www.dbunit.org/
DeWitt D., Gray J. (1992) Parallel database systems: future of high performance database systems. Comm. ACM 35(6): 85–98
Gray J., Reuter A. (1993) Transaction Processing: Concepts and Techniques. Morgan Kaufmann, Sanmateo
Gray, J., Sundaresan, P., Englert, S., Baclawski, K., , P.J.: Quickly generating billion-record synthetic databases. In: SIGMOD Conference, pp. 243–252 (1994)
Haftmann, F., Kossmann, D., Kreutz, A.: Efficient regression tests for database applications. In: Conference on Innovative Data Systems Research (CIDR), pp. 95–106, 2005
Haftmann, F., Kossmann, D., Lo, E.: Parallel execution of test runs for database application systems. In: VLDB, pp. 589–600, 2005.
Haraty, R.A., Mansour, N., Daou, B.: Regression testing of database applications. In: SAC, pp. 285–289. ACM, 2001
JUnit.org. Junit homepage. http://www.junit.org
Liu Y. (1999). Regression testing experiments and infrastructure. Oregon State University, Master Thesis
Mönkeberg, A., Weikum, G.: Performance evaluation of an adaptive and robust load control method for the avoidance of data-contention thrashing. In: VLDB, pp. 432–443 (1992)
Neufeld A., Moerkotte G., Lockemann P.C. (1993) Generating consistent test data for a variable set of general consistency constraints. VLDB J. 2(2): 173–213
Rosenblum D.S., Weyuker E.J. (1997) Using coverage information to predict the cost-effectiveness of regression testing strategies. IEEE Trans. Softw. Eng., 23(3): 146–156
Slutz, D.R. : Massive stochastic testing of SQL. In: VLDB, pp. 618–622 (1998)
Sommerville, I.: Software Engineering (5th ed.). Addison Wesley Longman Publishing Co., Inc., Reading (1995)
Weikum, G., Vossen, G.: Transactional Information Systems. Morgan Kaufmann Publishers, San Mateo (2001)
Wong, E., Horgen, J., London, S., Agrawal, H.: Effective regression testing in practice. In: IEEE Symposium of Software Reliability Engineering (ISSRE 97), pp. 264–274, Albuquerque, NM, USA, 1997
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Haftmann, F., Kossmann, D. & Lo, E. A framework for efficient regression tests on database applications. The VLDB Journal 16, 145–164 (2007). https://doi.org/10.1007/s00778-006-0028-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00778-006-0028-8