Advertisement

A Test Specification Language for Information Systems Based on Data Entities, Use Cases and State Machines

  • Alberto Rodrigues da Silva
  • Ana C. R. PaivaEmail author
  • Valter E. R. da Silva
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 991)

Abstract

Testing is one of the most important activities to ensure the quality of a software system. This paper proposes and discusses the TSL (Test Specification Language) that adopts a model-based testing approach for both human-readable and computer-executable specifications of test cases. TSL is strongly inspired on the grammar, nomenclature and writing style as defined by the RSLingo RSL, which is a rigorous requirements specification language. Both RSL and TSL are controlled natural languages that share common concepts such as data entities, use cases and state machines. However, by applying black-box functional testing design techniques, TSL includes and supports four complementary testing strategies, namely: domain analysis testing; use case tests; state machine testing; and acceptance criteria. This paper focuses on the first three testing strategies of TSL. Finally, a simple but effective case study illustrates the overall approach and supports the discussion.

Keywords

Test Specification Language (TSL) Test case specification Model based Testing (MBT) Test case generation 

Notes

Acknowledgments

This work was partially supported by national funds under FCT project UID/CEC/50021/2019.

References

  1. 1.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd., Birmingham (2016)Google Scholar
  2. 2.
    Ten Buuren, R.A.: Domain-Specific Language Testing Framework. Master of Science, University of Twente, Enschede (2015)Google Scholar
  3. 3.
    Fagan, M.E.: Advances in software inspections. In: Broy, M., Denert, E. (eds.) Pioneers and Their Contributions to Software Engineering. Springer, Heidelberg (2001).  https://doi.org/10.1007/978-3-642-48354-7_14CrossRefGoogle Scholar
  4. 4.
    Ferreira, D., Silva, A.R.: RSLingo: an information extraction approach toward formal requirements specifications. In: Proceedings of MoDRE 2012. IEEE CS (2012)Google Scholar
  5. 5.
    Ferreira, D., Silva, A.R.: RSL-PL: a linguistic pattern language for documenting software requirements. In: Proceedings of RePa 2013. IEEE CS (2013)Google Scholar
  6. 6.
    Ferreira, D., Silva, A.R.: RSL-IL: an interlingua for formally documenting requirements. In: Proceedings of the of Third IEEE International Workshop on Model Driven Requirements Engineering. IEEE CS (2013a)Google Scholar
  7. 7.
    Ibe, M.: Decomposition of test cases in model-based testing. In: CEUR Workshop Proceedings (2013)Google Scholar
  8. 8.
    King, T.: Functional testing with domain-specific languages (2014)Google Scholar
  9. 9.
    Kovitz, B.: Practical Software Requirements: Manual of Content and Style. Manning, Shelter Island (1998)Google Scholar
  10. 10.
    Monteiro, T., Paiva, A.C.R.: Pattern based GUI testing modeling environment. In: Sixth International Conference on Software Testing, Verification and Validation (ICST) Workshops Proceedings (2013)Google Scholar
  11. 11.
    Morgado, I., Paiva, A.C.R.: Mobile GUI testing. Softw. Qual. J. 26, 1–18 (2017)Google Scholar
  12. 12.
    Paiva, A.C.R.: Automated specification-based testing of graphical user interfaces, Ph.D. thesis, Faculty of Engineering, Porto University, Porto, Portugal (1997)Google Scholar
  13. 13.
    Reis, A., Silva, A.R.: XIS-Reverse: a model-driven reverse engineering approach for legacy information systems. In: Proceedings of MODELSWARD 2017. SCITEPRESS (2017)Google Scholar
  14. 14.
    Ribeiro, A., Silva, A.R.: XIS-mobile: a DSL for mobile applications. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing (SAC) (2014)Google Scholar
  15. 15.
    Ribeiro, A., Silva, A.R.: Evaluation of XIS-mobile, a domain specific language for mobile application development. J. Softw. Eng. Appl. 7(11), 906–919 (2014a)CrossRefGoogle Scholar
  16. 16.
    Moreira, R.M.L.M., Paiva, A.C.R., Nabuco, M., Memon, A.: Pattern-based GUI testing: bridging the gap between design and quality assurance. Softw. Test. Verif. Reliab. J. 27(3), e1629 (2017)CrossRefGoogle Scholar
  17. 17.
    Savic, D., et al.: SilabMDD: a use case model driven approach. In: ICIST 2015 5th International Conference on Information Society and Technology (2015)Google Scholar
  18. 18.
    Silva, A.R.: Model-driven engineering: a survey supported by a unified conceptual model. Comput. Lang. Syst. Struct. 43(C), 139–155 (2015)Google Scholar
  19. 19.
    Silva, A.R.: SpecQua: towards a framework for requirements specifications with increased quality. In: Cordeiro, J., Hammoudi, S., Maciaszek, L., Camp, O., Filipe, J. (eds.) ICEIS 2014. LNBIP, vol. 227, pp. 265–281. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-22348-3_15CrossRefGoogle Scholar
  20. 20.
    Silva, A.R., et al.: A pattern language for use cases specification. In: Proceedings of EuroPLOP 2015. ACM (2015)Google Scholar
  21. 21.
    Silva, A.R., Saraiva, J., Ferreira, D., Silva, R., Videira, C.: Integration of RE and MDE paradigms: the ProjectIT approach and tools. IET Softw. 1(6), 294–314 (2007)CrossRefGoogle Scholar
  22. 22.
    Silva, A.R., Saraiva, J., Silva, R., Martins, C.: XIS - UML profile for eXtreme modeling interactive systems. In: Proceedings of MOMPES 2007. IEEE Computer Society (2007)Google Scholar
  23. 23.
    Silva, A.R., Verelst, J., Mannaert, H., Ferreira, D., Huysmans, P.: Towards a system requirements specification template that minimizes combinatorial effects. In: Proceedings of QUATIC 2014 Conference. IEEE CS (2014)Google Scholar
  24. 24.
    Silva, A.R.: Linguistic patterns and linguistic styles for requirements specification (i): an application case with the rigorous RSL/business-level language. In: Proceedings of EuroPLOP2017. ACM (2017)Google Scholar
  25. 25.
    Silva, A.R.: A rigorous requirement specification language for information systems: focus on RSL’s use cases, data entities and state machines, INESC-ID Technical Report (2017)Google Scholar
  26. 26.
    Solis, C., Wang, X.: A study of the characteristics of behaviour driven development. In: 37th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), pp. 383–387. IEEE (2011)Google Scholar
  27. 27.
    Stahl, T., Volter, M.: Model-Driven Software Development. Wiley, Hoboken (2005)zbMATHGoogle Scholar
  28. 28.
    Verelst, J., Silva, A.R., Mannaert, H., Ferreira, D.A., Huysmans, P.: Identifying combinatorial effects in requirements engineering. In: Proper, H.A., Aveiro, D., Gaaloul, K. (eds.) EEWC 2013. LNBIP, vol. 146, pp. 88–102. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38117-1_7CrossRefGoogle Scholar
  29. 29.
    Videira, C., Silva, A.R.: Patterns and metamodel for a natural-language-based requirements specification language. In: CAiSE Short Paper Proceedings (2005)Google Scholar
  30. 30.
    Videira, C., Ferreira, D., Silva, A.R.: A linguistic patterns approach for requirements specification. In: Proceedings 32nd Euromicro Conference on Software Engineering and Advanced Applications, Euromicro 2006. IEEE Computer Society (2006)Google Scholar
  31. 31.
    Bhat, A., Quadri, S.M.K.: Equivalence class partitioning and boundary value analysis - a review. In: 2nd International Conference on Computing for Sustainable Global Development (INDIACom) (2015)Google Scholar
  32. 32.
    Silva, A.R., Paiva, A.C.R., Silva, V.E.R.: Towards a test specification language for information systems: focus on data entity and state machine tests. In: The 6th International Conference on Model-Driven Engineering and Software Development (2018)Google Scholar
  33. 33.
    Jacobson, I., et al.: Object oriented Software engineering: A Use Case Driven Approach. Addison- Wesley, Boston (1992)zbMATHGoogle Scholar
  34. 34.
    Silva, A.R.: RSLingo RSL Excel Template, v4.0, October 2017. https://www.researchgate.net/publication/320256323_RSLingo_RSL_Excel_Template_v40 (2017)
  35. 35.
    Neto, A.C.D., 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 (2007)Google Scholar
  36. 36.
    Hasling, B., Goetz. H., Beetz, K.: Model based testing of system requirements using UML use case models. In: 1st International Conference on IEEE Software Testing, Verification, and Validation (2008)Google Scholar
  37. 37.
    Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliab. 22(5), 297–312 (2012)CrossRefGoogle Scholar
  38. 38.
    Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.): Model-Based Testing of Reactive Systems. LNCS, vol. 3472. Springer, Heidelberg (2005).  https://doi.org/10.1007/b137241CrossRefzbMATHGoogle Scholar
  39. 39.
    Wynne, M., Hellesoy, A., Tooke, S.: The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Pragmatic Bookshelf, Raleigh (2017)Google Scholar
  40. 40.
    Cucumber & Gherkin. https://cucumber.io/docs/reference. Accessed March 2018
  41. 41.
    Paiva, A.C.R., Vilela, L.: Multidimensional test coverage analysis: PARADIGM-COV tool. Cluster Comput.-J. Netw. Softw. Tools Appl. 20, 633–649 (2017)Google Scholar
  42. 42.
    Nabuco, M., Paiva, A.C.R.: Model-based test case generation for web applications. In: Murgante, B., et al. (eds.) ICCSA 2014. LNCS, vol. 8584, pp. 248–262. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-09153-2_19CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Alberto Rodrigues da Silva
    • 1
  • Ana C. R. Paiva
    • 2
    • 3
    Email author
  • Valter E. R. da Silva
    • 2
  1. 1.INESC-ID, Instituto Superior TécnicoUniversidade de LisboaLisboaPortugal
  2. 2.Faculdade de Engenharia da Universidade do PortoPortoPortugal
  3. 3.INESC TECPortoPortugal

Personalised recommendations