Abstract
Novel techniques and a toolset are presented for automatically testing the conformance of software implementations against partial behavioral models constituted by a set of parameterized UML sequence diagrams, describing both external interactions with users or client applications and internal interactions between objects in the system. Test code is automatically generated from the sequence diagrams and executed on the implementation under test, and test results and coverage information are presented back visually in the model. A runtime test library handles internal interaction checking, test stubs, and user interaction testing, taking advantage of aspect-oriented programming techniques. Incremental conformance checking is achieved by first translating sequence diagrams to Extended Petri Nets that combine the characteristics of Colored Petri Nets and Event-Driven Petri Nets.
Similar content being viewed by others
References
OMG Unified Modeling Language\(^{{\rm TM}}\) (OMG UML): Superstructure, Version 2.4.1. Object Management Group (OMG) (2011)
Mellor, S.J., Clark, A.N., Futagami, T.: Model-driven development. IEEE Softw. Mag. 20(5), 1418 (2003)
Uttin, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, Burlington (2007)
Faria, J.P., Paiva, A.C.R., Yang, Z.: Test generation from UML sequence diagrams. In: 8th International Conference on the Quality of Information and Communications Technology, pp. 245–250 (2012)
JUnit testing framework: http://www.junit.org (2014)
Faria, J.P., Castro, M.V., Paiva, A.C.R.: Techniques and toolset for conformance testing against UML sequence diagrams. In: 25th IFIP International Conference on Testing Software and Systems (ICTSS’13), LNCS vol. 8254, pp. 180–195. Springer, Berlin, Heidelberg, New York (2013). http://link.springer.com/chapter/10.1007%2F978-3-642-41707-8_12#
Stotts, P.D., Pugh, W.: Parallel finite automata for modeling concurrent software systems. J. Syst. Softw. 27, 27–43 (1994)
Micskei, Z., Waeselynck, H.: The many meanings of UML 2 sequence diagrams: a survey. J. Softw. Syst. Model. 10, 489–514 (2011)
Jensen, K., Kristensen, L.M., Wells, L.: Coloured Petri nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Trans. 9, 213–254 (2007). (Springer)
Jorgensen, P.C.: Event-driven Petri nets. In: Modeling Software Behavior: A Craftsman’s Approach, pp. 137–153. Auerbach Publications, Boca Raton (2009)
Faria, J.P., Paiva, A.C.R.: UML Checker: Formal Specification in VDM++ of the Petri Net-based Conformance Checking Engine, TR-SDBT-2013-04, FEUP (2013). https://blogs.fe.up.pt/sdbt/files/2013/04/TR-2013-04.pdf
Enterprise Architect. http://www.sparxsystems.com.au (2014)
AspectJ. http://www.eclipse.org/aspectj (2014)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson, London (1994)
Hallal, H., Boroday, S., Petrenko, A., Ulrich, A.: A formal approach to property testing in causally consistent distributed traces. Formal Aspects Comput. 18(1), 63–83 (2006)
Castro, M.V.: Automating Scenario Based Testing with UML and AOP. MSc thesis, FEUP (2013) https://blogs.fe.up.pt/sdbt/files/2013/04/Castro.pdf (in Portuguese)
JaCoCo Java Code Coverage Library. http://www.eclemma.org/jacoco/ (2014)
Google’s Guava libraries. https://code.google.com/p/guava-libraries/ (2014)
Harel, D., Maoz, S.: Assert and negate revisited: modal semantics for UML sequence diagrams. J. Softw. Syst. Model. 7(2), 237–253 (2008). (Springer)
Knapp, A., Wuttke, J.: Model checking of UML 2.0 interactions. Models Softw. Eng. LNCS 4364, 42–51 (2007). (Springer)
Bouabana-Tebibel, T., Rubin, S.H.: An interleaving semantics for UML 2 interactions using Petri nets. Inform. Sci. 232, 276–293 (2013)
Fernandes, J.M., Tjell, S., Jørgensen, J.B., Ribeiro, O.: Designing tool support for translating use cases and UML 2.0 sequence diagrams into coloured Petri net. In: SCESM’07, IEEE CS (2007)
Briand, L., Labiche, Y., Leduc, J.: Towards the reverse engineering of UML sequence diagrams for distributed java software. IEEE Trans. Soft. Eng. 32(9), 642–663 (2006)
Kansomkeat, S., Offutt, J., Abdurazik, A., Baldini, A.: A comparative evaluation of tests generated from different UML diagrams. SNPD 2008, 867–872 (2008)
Philip, S., Joseph, A.T.: Test sequence generation from UML sequence diagrams. SNPD 2008, 879–887 (2008)
Samuel, P., Mall, R.: A novelt test case design technique using dynamic slicing of UML sequence diagrams. e-Informatica 2(1), 71–92 (2008)
Nayak, A., Samanta, D.: Automatic test data synthesis using UML sequence diagrams. J. Object Technol. 9(2), 115–144 (2010)
Benattou, M., Bruel, J., Hameurlain, N.: Generating test data from OCL specification. In: ECOOP Workshop Integration and Transformation of UML Models (2002)
Engels, G., Gldali, B., Lohmann, M.: Towards model-driven unit testing. In: Khne, T. (ed.) MoDELS 2006 Workshops, LNCS, vol. 4364, pp. 182–192 (2007)
Fraikin, F., Leonhardt, T.: SeDiTeC-testing based on sequence diagrams. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ASE 2002), IEEE (2002)
Wittevrongel, J., Maurer, F.: SCENTOR: scenario-based testing of E-business applications. In: 2nd International Workshop on Automation of Software Test (AST) (2007)
Javed, A., Strooper, P., Watson, G.: Automated generation of test cases using model-driven architecture. In: 2nd International Workshop on Automation of Software Test (AST) (2007)
IBM Rational Rhapsody: IBM Rational Rhapsody Automatic Test Conductor Add on User Guide, v2.5.2 (2013)
Boroday, S., Petrenko, A., Ulrich, A.: Implementing MSC tests with quiescence observation. In: TESTCOM/FATES 2009. LNCS, vol. 5826, pp. 49–65 (2009)
Ambler, S.: Agile Modeling (AM) Home Page—Effective Practices for Modeling and Documentation. http://www.agilemodeling.com (2014)
Acknowledgments
This work is financed by the ERDF European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through the FCT—Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-020554.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Faria, J.P., Paiva, A.C.R. A toolset for conformance testing against UML sequence diagrams based on event-driven colored Petri nets. Int J Softw Tools Technol Transfer 18, 285–304 (2016). https://doi.org/10.1007/s10009-014-0354-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-014-0354-x