Skip to main content
Log in

A framework for efficient regression tests on database applications

  • Special Issue Ppaer
  • Published:
The VLDB Journal Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. NI TestStand. http://www.zone.ni.com/zone/jsp/zone.jsp

  2. Agrawal, H., Horgen, J., Krauser, E., London, S.: Incremental regression testing. In: IEEE Conference. on Software Maintenance, Montreal, Canada, 1993

  3. Beck, K., Gamma, E.: Programmers love writing tests http://www.members.pingnet.ch/gamma/junit.htm (1998)

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. DBUnit.org. Dbunit homepage. http://www.dbunit.org/

  8. DeWitt D., Gray J. (1992) Parallel database systems: future of high performance database systems. Comm. ACM 35(6): 85–98

    Article  Google Scholar 

  9. Gray J., Reuter A. (1993) Transaction Processing: Concepts and Techniques. Morgan Kaufmann, Sanmateo

    Google Scholar 

  10. Gray, J., Sundaresan, P., Englert, S., Baclawski, K., , P.J.: Quickly generating billion-record synthetic databases. In: SIGMOD Conference, pp. 243–252 (1994)

  11. Haftmann, F., Kossmann, D., Kreutz, A.: Efficient regression tests for database applications. In: Conference on Innovative Data Systems Research (CIDR), pp. 95–106, 2005

  12. Haftmann, F., Kossmann, D., Lo, E.: Parallel execution of test runs for database application systems. In: VLDB, pp. 589–600, 2005.

  13. Haraty, R.A., Mansour, N., Daou, B.: Regression testing of database applications. In: SAC, pp. 285–289. ACM, 2001

  14. JUnit.org. Junit homepage. http://www.junit.org

  15. Liu Y. (1999). Regression testing experiments and infrastructure. Oregon State University, Master Thesis

  16. 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)

  17. 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

    Article  Google Scholar 

  18. 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

    Article  Google Scholar 

  19. Slutz, D.R. : Massive stochastic testing of SQL. In: VLDB, pp. 618–622 (1998)

  20. Sommerville, I.: Software Engineering (5th ed.). Addison Wesley Longman Publishing Co., Inc., Reading (1995)

  21. Weikum, G., Vossen, G.: Transactional Information Systems. Morgan Kaufmann Publishers, San Mateo (2001)

  22. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eric Lo.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00778-006-0028-8

Keywords

Navigation