Abstract
This paper presents a regression testing technique (and associated tool) for object-oriented software based on use cases. The basic models we use to describe use cases are UML statechart and collaboration diagrams. The technique combines, in fact, the analysis of these models to a simple static analysis of the code. The goal is to identify changes that may not be visible in design models (change in a method’s body). The developed tool identifies modified (impacted by modifications) use cases and selects the appropriate test cases from an existing test suite. New test cases are generated when necessary. The selected test cases (including the new ones) are automatically executed. A case study is reported to provide evidence of the feasibility of the approach and its benefits (reduction of regression testing effort).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdullah, K.: The Firewall Concept for Regression Testing and Impact Analysis of Object Oriented Systems, PhD thesis. Case Western Reserve University (1998)
Badri, M., Badri, L., Naha, M.: A Use Case Driven Testing Process: Towards a Formal Approach Based on UML Collaboration Diagrams. In: Petrenko, A., Ulrich, A. (eds.) FATES 2003. LNCS, vol. 2931, pp. 223–235. Springer, Heidelberg (2004)
Badri, L., Badri, M., St-Yves, D.: Supporting predictive change impact analysis: A control call graph based technique. In: Proc. of the 12th Asia-Pacific Software Engineering Conference, pp. 167–175 (2005)
Badri, M., Badri, L., Bourque-Fortin, M.: Automated State-Based Unit Testing for Aspect-Oriented Programs: A Supporting Framework. Journal of Object Technology 8(3), 121–126 (2009)
Briand, L.C., Labiche, Y., Soccar, G.: Automating impact analysis and regression test selection based on UML designs. In: International Conference on Software Maintenance, pp. 252–261 (2002)
Briand, L.C., Labiche, Y., Leduc, J.: Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software. IEEE Transactions on Software Engineering, 642–663 (2006)
Chen, Y., Probert, R.L., Sims, D.P.: Specification-based Regression Test Selection with Risk Analysis. In: IBM Center Advanced Studies Conference (2002)
Engström, E., Skoglund, M., Runeson, P.: Empirical evaluations of regression test selection techniques: A systematic review. In: Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pp. 22–31 (2008)
Engström, E., Runeson, P., Skoglund, M.: A systematic review on regression test selection techniques. Information and Software Technology (2009)
Fahad, M., Nadeem, A.: A survey of UML Based Regression Testing. In: Shi, Z., Mercier-Laurent, E., Leake, D. (eds.) IFIP International Federation for Information Processing. Intelligent Information Processing IV, vol. 288, pp. 200–210. Springer, Boston (2008)
Graves, T.L., Harrold, M.J., Kim, J.M., Porter, A., And Rothermel, G.: An Empirical Study of Regression Test Selection Techniques. ACM Transactions on Software Engineering and Methodology 10(2), 184–208 (2001)
Harrold, M.J.: Testing Evolving Software. Journal of Systems and Software 47, 173–181 (1999)
Harrold, M.J., Jones, J.A., Li, T., Liang, D., Orso, A., Pennings, M., Sinha, S., Spoon, S.A., Gujarathi, A.: Regression test selection for Java software. In: Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 312–326 (2001)
Kung, D., Gao, J., Hsia, P.: Class firewall, Test Order and Regression Testing of Object Oriented Programs. Journal of Object Oriented Programming, 51–65 (1995)
Kung, D.: On regression testing of object-oriented programs. Journal of Systems and Software 32, 21–40 (1996)
Larman, C.: Applying UML and Design Patterns, An introduction to object-oriented analysis and design and the unified process. Prentice Hall (2004)
Le Traon, Y., Jéron, T., Jézéquel, J.M., Morel, P.: Efficient Object-Oriented Integration and Regression Testing. IEEE Transactions on Reliability 49(1) (2000)
Leung, H.K., White, L.: A study of integration testing and software regression at the integration level. In: The Proceedings of the Conference on Software Maintenance (1990)
Leung, H.K., White, L.: Insights into testing and regression testing global variables. Journal of Software Maintenance: Research and Practice 2(4), 209–222 (1990)
Leung, H.K., White, L.: A Cost Model to Compare Regression Test Strategies. In: Proceedings of the Conference on Software Maintenance 1991, pp. 201–208 (1991)
Mansour, N., Takkoush, H., Nehme, A.: UML-based regression testing for OO software. Journal of Software Maintenance and Evolution: Research and Practice 23, 51–68 (2011)
Massicotte, P., Badri, L., Badri, M.: Towards a Tool Supporting Integration Testing of Aspect-Oriented Programs. Journal of Object Technology 6(1), 671–689 (2007)
Offutt, J., Abdurazik, A.: Generating Tests from UML Specifications. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 416–429. Springer, Heidelberg (1999)
Pilskalns, O., Uyan, G., Andrews, A.: Regression Testing UML Designs. In: Proc. of the 22nd IEEE International Conference on Software Maintenance, ICSM 2006, pp. 254–264 (2006)
Rothermel, G., Harrold, M.J.: A comparison of regression test selection techniques. Technical report 114. Clemson University, Clemson, SC (April 1993)
Rothermel, G., Harrold, M.J.: Analyzing Regression Test Selection Techniques. IEEE Transactions on Software Engineering 22(8), 529–551 (1996)
Rothermel, G., Harrold, M.J.: A safe, efficient regression test selection technique. ACM Transactions on Software Engineering Methodology 6(2), 173–210 (1997)
Rothermel, G., Harrold, M.J., Dedhia, J.: Regression Test Selection for C++ Software. Journal of Software Testing Verification and Reliability 10 (2000)
Skoglund, M., Runeson, P.: A case study of the class firewall regression test selection technique on a large scale distributed software system. In: Proc. of the ISESE (2005)
Von Mayrhauser, A., Zhang, N.: Automated regression testing using DBT and Sleuth. Journal of Software Maintenance 11(2), 93–116 (1999)
White, L., Jaber, K., Robinson, B.: Utilization of extended firewall for object-oriented regression testing. In: Proc. of the IEEE International Conference on Software Maintenance, pp. 695–698 (2005)
Wu, Y., Chen, M.-H., Kao, H.M.: Regression testing on object-oriented programs. In: Proc. of the 10th International Symposium on Software Reliability Engineering, pp. 270–279 (1999)
Wu, Y., Offutt, J.: Maintaining evolving component based software with UML. In: Proceedings of the 7th European Conference on Software Maintenance and Reengineering (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vincent, PL., Badri, L., Badri, M. (2012). Regression Testing of Object-Oriented Software: A Technique Based on Use Cases and Associated Tool. In: Kim, Th., Ramos, C., Kim, Hk., Kiumi, A., Mohammed, S., Ślęzak, D. (eds) Computer Applications for Software Engineering, Disaster Recovery, and Business Continuity. Communications in Computer and Information Science, vol 340. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35267-6_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-35267-6_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35266-9
Online ISBN: 978-3-642-35267-6
eBook Packages: Computer ScienceComputer Science (R0)