Abstract
Software integration testing is a critical step in the software development lifecycle, as modern software systems often need to interact with many other distributed and heterogeneous systems. However, conducting integration testing is a challenging task because application production environments are generally neither suitable nor available to enable testing services. Additionally, replicating such environments for integration testing is usually very costly. Testing environment emulation is an emerging technique for creating integration testing environments with executable models of server side production-like behaviors. Aiming to achieve high development productivity and ease of use for business users, we propose a novel domain-specific modeling approach for testing environment emulation. Our approach is based on model-driven engineering, and abstracts software service interfaces, or endpoints, into different request message processing layers. Each of these layers represents a modeling problem domain. To model endpoints, we develop a suite of domain-specific visual languages for modeling these interface layers. To build a testing environment, we have created a supporting toolset to transform endpoint models to executable forms automatically. We provide a set of example scenarios to demonstrate the capabilities of our approach. We have also conducted a user study that demonstrates the acceptance of our approach by IT professionals and business users.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Accenture: Accenture Technology Vision 2015 (2015)
Dustin, E.: Effective Software Testing: 50 Ways to Improve Your Software Testing. Addison-Wesley Longman Publishing Co., Boston (2002)
Liu, J., Grundy, J., Avazpour, I., Abdelrazek, M.: TeeVML: tool support for semi-automatic integration testing environment emulation. Presented at the IEEE/ACM International Conference on Automated Software Engineering, Singapore (2016)
Jayasinghe, D.: Quickstart Apache Axis2. Packt Publishing Ltd, Birmingham (2008)
Vukotic, A., Goodwill, J.: Apache Tomcat 7. Apress, New York City (2011)
Liu, J., Grundy, J., Abdelrazek, M., Avazpour, I.: Testing environment emulation - a model-based approach. Presented at the 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD), Porto, Portugal (2017)
Yadav, R.: Oracle PeopleSoft Enterprise Financial Management 9.1 Implementation: An Exhaustive Resource for PeopleSoft Financials Application Practitioners to Understand Core Concepts, Configurations, and Business Processes. Packt Pub., Birmingham (2011)
Wong, T.: Salesforce.com For Dummies, 4th edn. Wiley, Hoboken (2010)
Thurlow, R.: RPC: Remote Procedure Call Protocol Specification Version 2. Edited by The Internet Engineering Task Force (2009)
IETF: Lightweight Directory Access Protocol (LDAP) v3. Edited by The Internet Engineering Task Force (2006)
Dorsten, G.J.V., Spruit, A., Barendsen, A.: Core Banking Systems Survey (2008). https://www.nl.capgemini.com/resource-file-access/resource/pdf/Core_Banking_Systems_Survey_2008_0.pdf
Christensen, E., Curbera, F., Meredith, G.: Web Services Description Language (WSDL) 1.1. W3C. Note 15 (2001). www.w3.org/TR/wsdl2001
Sousa, T.B.: Dataflow programming concept, languages and applications. In: Doctoral Symposium on Informatics Engineering (2012)
Boshernitsan, M., Downes, M.: Visual programming languages: a survey. Computer Science (2004)
Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cognit. Sci. 11, 65–100 (1987)
Moody, D.L.: The “Physics” of notations: towards a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35, 756–779 (2009)
Liu, J., Grundy, J., Avazpour, I., Abdelrazek, M.: A domain-specific visual modeling language for testing environment emulation. Presented at the IEEE Symposium on Visual Languages and Human-Centric Computing, Cambridge, UK (2016)
Liu, J.: Model-driven endpoint development for testing environment emulation. Ph.D. thesis, Swinburne University of Technology, Melbourne, Australia (2017)
Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, Hoboken (2008)
Dai, G., Bai, X., Wang, Y., Dai, F.: Contract-based testing for web services. In: 31st Annual International Computer Software and Applications Conference, COMPSAC (2007)
Apache TCPMon (2013). https://ws.apache.org/tcpmon/index.html
Hine, C., Schneider, J.-G., Han, J., Versteeg, S.: Scalable emulation of enterprise systems. In: Software Engineering Conference, Australian (2009)
Yu, J., Han, J., Schneider, J.-G., Hine, C., Versteeg, S.: A virtual deployment testing environment for enterprise software systems. Presented at the Proceedings of the 8th International ACM SIGSOFT Conference on Quality of Software Architectures, Italy (2012)
Du, M., Schneider, J.-G., Hine, C., Grundy, J., Versteeg, S.: Generating service models by trace subsequence substitution. Presented at the Proceedings of the 9th International ACM Sigsoft Conference on Quality of Software Architectures, Canada (2013)
Giudice, D.L.: The Forrester Wave™: Service Virtualization And Testing Solutions (2014)
Pfleeger, S.L., Kitchenham, B.A.: Principles of survey research: part 1: turning lemons into lemonade. SIGSOFT Softw. Eng. Notes 26, 16–18 (2001)
Brooke, J.: SUS-a quick and dirty usability scale. In: Usability evaluation in industry (1996)
Sauro, J., Lewis, J.R.: Quantifying the User Experience: Practical Statistics for User Research. Morgan Kaufmann Publishers Inc., Burlington (2012)
Bangor, A., Kortum, P.T., Miller, J.T.: An empirical evaluation of the system usability scale. Int. J. Hum.–Comput. Interact. 24, 574–594 (2008)
Sugerman, J., Venkitachalam, G., Lim, B.-H.: Virtualizing I/O devices on VMware workstation’s hosted virtual machine monitor. Presented at the Proceedings of the General Track: USENIX Annual Technical Conference (2001)
Watson, J.: VirtualBox: bits and bytes masquerading as machines. Linux J. (2008)
Gibbons, P.B.: A stub generator for multilanguage RPC in heterogeneous environments. IEEE Trans. Softw. Eng. 13, 77–87 (1987)
Freeman, S., Mackinnon, T., Pryce, N., Walnes, J.: Mock roles, objects. Presented at the in Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, Canada (2004)
Han, J.: Rich Interface Specification for Software Components. Peninsula School of Computing and Information Technology Monash University, McMahons Road Frankston, Australia (2000)
Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32, 38–45 (1999)
De Alfaro, L., Henzinger, T.A.: Interface automata. In: ACM SIGSOFT Software Engineering Notes (2001)
Endriss, U., Maudet, N., Sadri, F., Toni, F.: Protocol conformance for logic-based agents. In: IJCAI (2003)
Plasil, F., Visnovsky, S., Besta, M.: Bounding component behavior via protocols. In: Technology of Object-Oriented Languages and Systems, TOOLS 30 Proceedings (1999)
Jin, Y., Han, J.: Specifying interaction constraints of software components for better understandability and interoperability. In: Franch, X., Port, D. (eds.) ICCBSS 2005. LNCS, vol. 3412, pp. 54–64. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30587-3_16
Wehrheim, H., Reussner, R.H.: Towards more realistic component protocol modelling with finite state machines. UNU-IIST (2006)
Hatcliff, J., Leavens, G.T., Leino, K.R.M., Muller, P., Parkinson, M.: Behavioral interface specification languages. ACM Comput. Surv. 44, 16 (2012)
Morgan, C.: Programming from SPECIFICATIONS. Prentice-Hall Inc., Upper Saddle River (1990)
von Rosing, M., White, S., Cummins, F., de Man, H.: Business Process Model and Notation—BPMN (2015)
Jacobson, I., Booch, G., Rumbaugh, J., Rumbaugh, J., Booch, G.: The unified software development process. Addison-wesley Reading, Boston (1999)
Schieferdecker, I., Dai, Z.R., Grabowski, J., Rennoch, A.: The UML 2.0 testing profile and its relation to TTCN-3. In: Hogrefe, D., Wiles, A. (eds.) TestCom 2003. LNCS, vol. 2644, pp. 79–94. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44830-6_7
Zhang, S.J., Liu, Y.: An automatic approach to model checking UML state machines. In: Fourth International Conference on Secure Software Integration and Reliability Improvement Companion (SSIRI-C) (2010)
Dumas, M., ter Hofstede, A.H.M.: UML activity diagrams as a workflow specification language. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 76–90. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45441-1_7
Abouzahra, A., Bézivin, J., Del Fabro, M.D., Jouault, F.: A practical approach to bridging domain specific languages with UML profiles. In: Proceedings of the Best Practices for Model Driven Software Development at OOPSLA (2005)
Acknowledgements
Support for this work from an Australian Postgraduate Award for the first author and partial support for this work from ARC Discovery Project DP140102185 is greatly acknowledged.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Liu, J., Grundy, J., Abdelrazek, M., Avazpour, I. (2018). A Domain-Specific Modeling Approach for Testing Environment Emulation. In: Pires, L., Hammoudi, S., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2017. Communications in Computer and Information Science, vol 880. Springer, Cham. https://doi.org/10.1007/978-3-319-94764-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-94764-8_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94763-1
Online ISBN: 978-3-319-94764-8
eBook Packages: Computer ScienceComputer Science (R0)