Abstract
Regression testing verifies if systems under evolution retain their existing functionality. Based on large test sets accumulated over time, this is a costly process, especially if testing is manual or the system to be tested is remote or only available for testing during a limited period. Often, changes made to a system are local, arising from fixing bugs or specific additions or changes to the functionality. Rerunning the entire test set in such cases is wasteful. Instead, we would like to be able to identify the parts of the system that were affected by the changes and select only those test cases for rerun which test functionality that could have been affected.
This paper proposes a model-based approach to this problem, where service interfaces are described by visual contracts, i.e., pre and post conditions expressed as graph transformation rules. The analysis of conflicts and dependencies between these rules allows us to assess the impact of a change of the signature, contract, or implementation of an operation on other operations, and thus to decide which of the test cases is required for re-execution. Apart from discussing the conceptual foundations and justifications of the approach, we illustrate and evaluate it on a case study of a bug tracking service in several versions.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Download to read the full chapter text
Chapter PDF
References
Canfora, G., Penta, M.D.: Testing services and service-centric systems: Challenges and opportunities. IT Professional 8, 10–17 (2006)
Penta, M., Bruno, M., Esposito, G., Mazza, V., Canfora, G.: Web services regression testing. Test and Analysis of Web Services, 205–234 (2007)
Rothermel, G., Harrold, M.J.: Analyzing regression test selection techniques. IEEE Transactions on Software Engineering 22 (1996)
Leung, H., White, L.: Insights into regression testing [software testing]. In: Proc. Conference on Software Maintenance, pp. 60–69 (October 1989)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2006)
Heckel, R.: Graph transformation in a nutshell. In: Electr. Notes Theor. Comput. Sci., pp. 187–198. Elsevier, Amsterdam (2006)
Lohmann, M., Sauer, S., Engels, G.: Executable visual contracts. In: VLHCC 2005: Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 63–70. IEEE Computer Society, Washington, DC, USA (2005)
Lohmann, M., Mariani, L., Heckel, R.: A model-driven approach to discovery, testing and monitoring of web services. Test and Analysis of Web Services, 173–204 (2007)
Khan, T., Machado, R., Heckel, R.: On the observable behavior of graph transformation systems. Technical Report CS-10-003, Department of Computer Sciences (August 2010), http://www.cs.le.ac.uk/people/tak12/observable.pdf
Baldan, P., Corradini, A., Montanari, U.: Contextual petri nets, asymmetric event structures, and processes. Information and Computation 171(1), 1–49 (2001)
AGG: AGG - Attributed Graph Grammar System Environment (2007), http://tfs.cs.tu-berlin.de/agg
Diekert, V., Rozenberg, G.: The Book of Traces. World Scientific Publishing Co., Inc., River Edge (1995)
Pfleeger, S.L.: Software Engineering: Theory and Practice. Prentice Hall PTR, Upper Saddle River (2001)
Howden, W.: Reliability of the path analysis testing strategy. IEEE Transactions on Software Engineering SE-2(3), 208–215 (1976)
Pasquini, A., Agostino, E.D.: Fault seeding for software reliability model validation. Control Engineering Practice 3(7), 993–999 (1995)
Korel, B., Tahat, L., Vaysburg, B.: Model based regression test reduction using dependence analysis. In: Proc. Conference on Software Maintenance, pp. 214–223 (2002)
Chen, Y., Probert, R.L., Ural, H.: Model-based regression test suite generation using dependence analysis. In: A-MOST 2007: Proc. of the 3rd Intl. Workshop on Advances in Model-based Testing, pp. 54–62. ACM, New York (2007)
Briand, L.C., Labiche, Y., He, S.: Automating regression test selection based on UML designs. Inf. Softw. Technol. 51(1), 16–30 (2009)
Ruth, M., Oh, S., Loup, A., Horton, B., Gallet, O., Mata, M., Tu, S.: Towards automatic regression test selection for web services. In: COMPSAC 2007: Proceedings of the 31st Annual International Computer Software and Applications Conference, pp. 729–736. IEEE Computer Society, Washington, DC, USA (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Khan, T.A., Heckel, R. (2011). On Model-Based Regression Testing of Web-Services Using Dependency Analysis of Visual Contracts. In: Giannakopoulou, D., Orejas, F. (eds) Fundamental Approaches to Software Engineering. FASE 2011. Lecture Notes in Computer Science, vol 6603. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19811-3_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-19811-3_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19810-6
Online ISBN: 978-3-642-19811-3
eBook Packages: Computer ScienceComputer Science (R0)