Abstract
The growing dependence of our society on increasingly complex software systems makes software testing ever more important and challenging. In many domains, several independent systems, forming a distributed and heterogeneous system of systems, are involved in the provisioning of end-to-end services to users. However, existing test automation techniques provide little tool support for properly testing such systems. Hence, we propose an approach and toolset architecture for automating the testing of end-to-end services in distributed and heterogeneous systems, comprising a visual modeling environment, a test execution engine, and a distributed test monitoring and control infrastructure. The only manual activity required is the description of the participants and behavior of the services under test with UML sequence diagrams, which are translated to extended Petri nets for efficient test input generation and test output checking at runtime. A real world example from the Ambient Assisted Living domain illustrates the approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
AAL4ALL: Ambient Assisted Living For All (2015). http://www.aal4all.org
Boehm, B.: Some future software engineering opportunities and challenges. In: Nanz, S. (ed.) The Future of Software Engineering, pp. 1–32. Springer, Heidelberg (2011). http://dx.doi.org/10.1007/978-3-642-15187-3_1
Canini, M., Jovanović, V., Venzano, D., Novaković, D., Kostić, D.: Online testing of federated and heterogeneous distributed systems. SIGCOMM Comput. Commun. Rev. 41(4), 434–435 (2011). http://doi.acm.org/10.1145/2043164.2018507
Dias Neto, A.C., Subramanyan, R., Vieira, M., Travassos, G.H.: A survey on model-based testing approaches: a systematic review. In: Proceedings of the 1st ACM International Workshop on Empirical Assessment of Software Engineering Languages and Technologies: Held in Conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007, WEASELTech 2007, pp. 31–36. ACM, New York (2007). http://doi.acm.org/10.1145/1353673.1353681
DoD: Systems Engineering Guide for Systems of Systems. Technical report, Office of the Deputy Under Secretary of Defense for Acquisition and Technology, Systems and Software Engineering Version 1.0 (2008)
Faria, J.P., Lima, B., Sousa, T.B., Martins, A.: A testing and certification methodology for an open ambient-assisted living ecosystem. Int. J. E-Health Med. Commun. (IJEHMC) 5(4), 90–107 (2014)
Faria, J.: A toolset for conformance testing against UML sequence diagrams (2014). https://blogs.fe.up.pt/sdbt/
Faria, J., Paiva, A.: A toolset for conformance testing against UML sequence diagrams based on event-driven colored Petri nets. Int. J. Softw. Tools Technol. Transf., pp. 1–20 (2014). http://dx.doi.org/10.1007/s10009-014-0354-x
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education, Upper Saddle River (1994)
Gross, H.G.: Component-Based Software Testing with UML. Springer, Heidelberg (2005)
Hierons, R.M.: Combining centralised and distributed testing. ACM Trans. Softw. Eng. Methodol. 24(1), 5:1–5:29 (2014). http://doi.acm.org/10.1145/2661296
Hierons, R.M., Merayo, M.G., Núñez, M.: Scenarios-based testing of systems with distributed ports. Softw. Pract. Experience 41(10), 999–1026 (2011). http://dx.doi.org/10.1002/spe.1062
IBM: IBM\(\textregistered \) Rational\(\textregistered \) Rhapsody\(\textregistered \) Automatic Test Conductor Add On User Guide, v2.5.2 (2013)
Javed, A., Strooper, P., Watson, G.: Automated generation of test cases using model-driven architecture. In: Second International Workshop on Automation of Software Test, 2007, AST 2007, p. 3, May 2007
Jensen, K., Kristensen, L., Wells, L.: Coloured Petri Nets and CPN tools for modelling and validation of concurrent systems. Int. J. Softw. Tools Technol. Transf. 9(3–4), 213–254 (2007). http://dx.doi.org/10.1007/s10009-007-0038-x
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). http://dx.doi.org/10.1007/BFb0053381
Liu, X., Guo, Z., Wang, X., Chen, F., Lian, X., Tang, J., Wu, M., Kaashoek, M.F., Zhang, Z.: D3S: debugging deployed distributed systems. In: NSDI, vol. 8, pp. 423–437 (2008)
Moreira, R.M., Paiva, A.C.: PBGT tool: an integrated modeling and testing environment for pattern-based GUI testing. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, pp. 863–866. ACM, New York (2014). http://doi.acm.org/10.1145/2642937.2648618
OMG: OMG Unified Modeling LanguageTM (OMG UML), Superstructure. Technical report, Object Management Group (2011)
STAF: Software Testing Automation Framework (STAF) (2014). http://staf.sourceforge.net/
Tassey, G.: The Economic Impacts of Inadequate Infrastructure for Software Testing. Technical report, National Institute of Standards and Technology (2002)
Torens, C., Ebrecht, L.: RemoteTest: a framework for testing distributed systems. In: 2010 Fifth International Conference on Software Engineering Advances (ICSEA), pp. 441–446 August 2010
Ulrich, A., König, H.: Architectures for testing distributed systems. In: Csopaki, G., Dibuz, S., Tarnay, K. (eds.) Testing of Communicating Systems. IFIP – The International Federation for Information Processing, vol. 21, pp. 93–108. Springer, US (1999). http://dx.doi.org/10.1007/978-0-387-35567-2_7
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco (2007)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verification Reliab. 22(5), 297–312 (2012). http://dx.doi.org/10.1002/stvr.456
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester (2013)
Wittevrongel, J., Maurer, F.: SCENTOR: scenario-based testing of e-business applications. In: Proceedings of the Tenth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2001, WET ICE 2001, pp. 41–46 (2001)
Zhang, F., Qi, Z., Guan, H., Liu, X., Yang, M., Zhang, Z.: FiLM: a runtime monitoring tool for distributed systems. In: Third IEEE International Conference on Secure Software Integration and Reliability Improvement, 2009, SSIRI 2009, pp. 40–46, July 2009
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Lima, B., Faria, J.P. (2016). Automated Testing of Distributed and Heterogeneous Systems Based on UML Sequence Diagrams. In: Lorenz, P., Cardoso, J., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2015. Communications in Computer and Information Science, vol 586. Springer, Cham. https://doi.org/10.1007/978-3-319-30142-6_21
Download citation
DOI: https://doi.org/10.1007/978-3-319-30142-6_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30141-9
Online ISBN: 978-3-319-30142-6
eBook Packages: Computer ScienceComputer Science (R0)