Skip to main content

A Domain-Specific Modeling Approach for Testing Environment Emulation

  • Conference paper
  • First Online:
Book cover Model-Driven Engineering and Software Development (MODELSWARD 2017)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 880))

  • 584 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Accenture: Accenture Technology Vision 2015 (2015)

    Google Scholar 

  2. Dustin, E.: Effective Software Testing: 50 Ways to Improve Your Software Testing. Addison-Wesley Longman Publishing Co., Boston (2002)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Jayasinghe, D.: Quickstart Apache Axis2. Packt Publishing Ltd, Birmingham (2008)

    Google Scholar 

  5. Vukotic, A., Goodwill, J.: Apache Tomcat 7. Apress, New York City (2011)

    Book  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Wong, T.: Salesforce.com For Dummies, 4th edn. Wiley, Hoboken (2010)

    Google Scholar 

  9. Thurlow, R.: RPC: Remote Procedure Call Protocol Specification Version 2. Edited by The Internet Engineering Task Force (2009)

    Google Scholar 

  10. IETF: Lightweight Directory Access Protocol (LDAP) v3. Edited by The Internet Engineering Task Force (2006)

    Google Scholar 

  11. 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

  12. Christensen, E., Curbera, F., Meredith, G.: Web Services Description Language (WSDL) 1.1. W3C. Note 15 (2001). www.w3.org/TR/wsdl2001

  13. Sousa, T.B.: Dataflow programming concept, languages and applications. In: Doctoral Symposium on Informatics Engineering (2012)

    Google Scholar 

  14. Boshernitsan, M., Downes, M.: Visual programming languages: a survey. Computer Science (2004)

    Google Scholar 

  15. Larkin, J.H., Simon, H.A.: Why a diagram is (sometimes) worth ten thousand words. Cognit. Sci. 11, 65–100 (1987)

    Article  Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. Liu, J.: Model-driven endpoint development for testing environment emulation. Ph.D. thesis, Swinburne University of Technology, Melbourne, Australia (2017)

    Google Scholar 

  19. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley, Hoboken (2008)

    Book  Google Scholar 

  20. 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)

    Google Scholar 

  21. Apache TCPMon (2013). https://ws.apache.org/tcpmon/index.html

  22. Hine, C., Schneider, J.-G., Han, J., Versteeg, S.: Scalable emulation of enterprise systems. In: Software Engineering Conference, Australian (2009)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. Giudice, D.L.: The Forrester Wave™: Service Virtualization And Testing Solutions (2014)

    Google Scholar 

  26. Pfleeger, S.L., Kitchenham, B.A.: Principles of survey research: part 1: turning lemons into lemonade. SIGSOFT Softw. Eng. Notes 26, 16–18 (2001)

    Article  Google Scholar 

  27. Brooke, J.: SUS-a quick and dirty usability scale. In: Usability evaluation in industry (1996)

    Google Scholar 

  28. Sauro, J., Lewis, J.R.: Quantifying the User Experience: Practical Statistics for User Research. Morgan Kaufmann Publishers Inc., Burlington (2012)

    Google Scholar 

  29. 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)

    Article  Google Scholar 

  30. 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)

    Google Scholar 

  31. Watson, J.: VirtualBox: bits and bytes masquerading as machines. Linux J. (2008)

    Google Scholar 

  32. Gibbons, P.B.: A stub generator for multilanguage RPC in heterogeneous environments. IEEE Trans. Softw. Eng. 13, 77–87 (1987)

    Article  Google Scholar 

  33. 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)

    Google Scholar 

  34. Han, J.: Rich Interface Specification for Software Components. Peninsula School of Computing and Information Technology Monash University, McMahons Road Frankston, Australia (2000)

    Google Scholar 

  35. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32, 38–45 (1999)

    Article  Google Scholar 

  36. De Alfaro, L., Henzinger, T.A.: Interface automata. In: ACM SIGSOFT Software Engineering Notes (2001)

    Google Scholar 

  37. Endriss, U., Maudet, N., Sadri, F., Toni, F.: Protocol conformance for logic-based agents. In: IJCAI (2003)

    Google Scholar 

  38. Plasil, F., Visnovsky, S., Besta, M.: Bounding component behavior via protocols. In: Technology of Object-Oriented Languages and Systems, TOOLS 30 Proceedings (1999)

    Google Scholar 

  39. 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

    Chapter  Google Scholar 

  40. Wehrheim, H., Reussner, R.H.: Towards more realistic component protocol modelling with finite state machines. UNU-IIST (2006)

    Google Scholar 

  41. Hatcliff, J., Leavens, G.T., Leino, K.R.M., Muller, P., Parkinson, M.: Behavioral interface specification languages. ACM Comput. Surv. 44, 16 (2012)

    Article  Google Scholar 

  42. Morgan, C.: Programming from SPECIFICATIONS. Prentice-Hall Inc., Upper Saddle River (1990)

    MATH  Google Scholar 

  43. von Rosing, M., White, S., Cummins, F., de Man, H.: Business Process Model and Notation—BPMN (2015)

    Google Scholar 

  44. Jacobson, I., Booch, G., Rumbaugh, J., Rumbaugh, J., Booch, G.: The unified software development process. Addison-wesley Reading, Boston (1999)

    Google Scholar 

  45. 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

    Chapter  MATH  Google Scholar 

  46. 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)

    Google Scholar 

  47. 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

    Chapter  Google Scholar 

  48. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Jian Liu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics