Abstract
Model-based testing (MBT) is about testing a software system using a model of its behaviour. To benefit fully from MBT, automation support is required. The goal of this systematic review is determining the current state of the art of prominent MBT tool support where we focus on tools that rely on state-based models. We automatically searched different source of information including digital libraries and mailing lists dedicated to the topic. Precisely defined criteria are used to compare selected tools and comprise support for test adequacy and coverage criteria, level of automation for various testing activities and support for the construction of test scaffolding. Simple adequacy criteria are supported but not advanced ones; data(-flow) criteria are seldom supported; support for creating test scaffolding varies a great deal. The results of this review should be of interest to a wide range of stakeholders: software companies interested in selecting the most appropriate MBT tool for their needs; organizations willing to invest into creating MBT tool support; researchers interested in setting research directions.
Similar content being viewed by others
Notes
For instance, Mathur defines MBT as “the generation of tests from a formal model of application behaviour” and identifies test generation from combinatorial designs as MBT [8].
AGEDIS project: http://www.agedis.de/index.html (last accessed June 2012).
D-MINT project: http://www.d-mint.org/ (last accessed June 2012).
This tool is based on UniTESK technology.
http://graphml.graphdrawing.org (last accessed June 2012).
http://www.yworks.com (last accessed June 2012).
http://testng.org (last accessed June 2012).
http://www.gentleware.com (last accessed June 2012).
http://www.artisansoftwaretools.com (last accessed June 2012).
http://www.elvior.ee/messagemagic/general/ (last accessed June 2012).
http://www.cs.aau.dk/~behrmann/cora/ (last accessed June 2012).
http://graphml.graphdrawing.org (last accessed June 2012).
http://www.omg.org/technology/documents/formal/xmi.htm (last accessed June 2012).
http://strategoxt.org/Transform/GraphXML (last accessed June 2012).
http://www.objecteering.com (last accessed June 2012).
http://www.altova.com/xml-editor (last accessed June 2012).
http://www.ibm.com/developerworks/rational/products/rsa/ (last accessed June 2012).
http://www-01.ibm.com/software/awdtools/rhapsody/ (last accessed June 2012).
http://www.sparxsystems.com.au/ (last accessed June 2012).
http://www.topcased.org/ (last accessed June 2012).
https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24\(\wedge \)1131_4000_100 (last accessed June 2012).
https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24\(\wedge \)1352_4000_100 (last accessed June 2012).
http://www-01.ibm.com/software/awdtools/modeler/swmodeler/ (last accessed June 2012).
http://www-01.ibm.com/software/awdtools/architect/swarchitect/ (last accessed June 2012).
http://www.borland.com/us/products/together/index.html (last accessed June 2012).
References
Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008)
Beizer, B.: Software Testing Techniques. Van Nostrand Reinhold, New York (1990)
Patton, R.: Software Testing. SAMS, Indianapolis (2005)
Boberg, J.: Early fault detection with model-based testing. In: ACM SIGPLAN Workshop on ERLANG, pp. 9–20. ACM, New york (2008)
Pretschner, A.: Model-based testing in Practice. In: Formal Methods. Lecture Notes in Computer Science, vol. 3582, pp. 537–541. Springer, Heidelberg (2005)
Broy, M., Jonsson, B., Katoen, J., Leucker, M., Pretschner, A.: Model-based testing of reactive systems, vol. 3472, Springer, Heidelberg (2005)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan-Kaufmann, San Francisco (2006)
Mathur, A.P.: Foundations of Software Testing. Pearson Education, Upper Saddle River (2009)
Gossens, S., Belli, F., Beydeda, S., Cin, M.D.: View graphs for analysis and testing of programs at different abstraction levels. In: IEEE International Symposium on High-Assurance Systems Engineering, pp. 121–130 (2005)
Vegas, S., Juristo, N., Basili, V. R.: Maturing software engineering knowledge through classifications: a case study on unit testing techniques. IEEE Trans. Softw. Eng. 35(4), 551–565 (2009)
Pender, T.: UML Bible. Wiley, New York (2003)
Monin, J.: Understanding Formal Methods. Springer, Berlin (2003)
van Eijk, P.H.J., Vissers, C.A., Díaz, M.: The Formal Description Technique LOTOS: Results of the ESPRIT/SEDOS Project. Elsevier, Amsterdam (1989)
Karris, S.T.: Introduction to Stateflow with Applications. Orchard Publications, Fremont (2007)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE. 77(4), 541–580 (1989)
Halbwachs, N.: Synchronous Programming of Reactive Systems. Springer, Berlin (1993)
Binder, R.V.: Model-Based Testing User Survey: Results and Analysis. http://www.robertvbinder.com/docs/arts/MBT-User-Survey.pdf (2011). Accessed June 2012
Kitchenham, B., Charters, S.: Guidelines for Performing Systematic Literature Reviews in Software Engineering. Computer Science, Keele University, Staffordshire (2007)
Dyba, T., Kitchenham, B., Jorgensen, M.: Evidence-based software engineering for practitioners. IEEE Softw. 22(1), 58–65 (2005)
Kitchenham, B., Dyba, T., Jorgensen, M.: Evidence-based software engineering. In: ACM/IEEE International Conference on Software Engineering, pp. 273–281 (2004)
Brereton, P., Kitchenham, B., Budgen, D., Turner, M., Khalil, M.: Lessons from applying the systematic literature review process within the software engineering domain. J. Syst. Softw. 80(4), 571–583 (2007)
Dias Neto, A.C., Subramanyan, R., Vieira, M., Travassos, G.H.: A survey on model-based testing approaches: a systematic review. In: International Workshop on Empirical Assessment of Software Engineering Languages and Technologies (in Conjunction with IEEE/ACM ASE), pp. 31–36 (2007)
Hartman, A.: Model-Based Test Generation Tools. http://cm.techwell.com/sites/default/files/articles/XDD6047filelistfilename1_0.pdf (2002). Accessed June 2012 (2002)
Bruegge, B., Dutoit, A.H.: Object-Oriented Software Engineering using UML, Patterns, and Java. Prentice Hall, Englewood Cliffs (2004)
Chanson, S.T., Zhu, J.: A unified approach to protocol test sequence generation. In: Proceedings. Twelfth Annual Joint Conference of the IEEE Computer and Communications Societies. Networking: Foundation for the Future, pp. 106–114 (1993)
Jacky, J., Veanes, M., Campbell, C., Schulte, W.: Model-Based Software Testing and Analysis with C#. Cambridge University Press, Cambridge (2008)
Binder, R.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, Reading (1999)
Jorgensen, P.: Software Testing-a Craftsman’s Approach. Auerbach Publications, Boca Raton (2008)
Lewis, W.: Software Testing and Continuous Quality Improvement. CRC Press, Boca Raton (2008)
Pezze, M., Young, M.: Software Testing and Analysis. Wiley, New York (2007)
Poston, R.M.: Automating Specification-Based Software Testing. IEEE Computer Society, Los Alamitos (1997)
Dustin, E., Garrett, T., Gauf, B.: Implementing Automated Software Testing: How to Lower Costs while Raising Quality. Addison-Wesley, Upper Saddle River (2009)
Dustin, E., Rashka, J., Paul, J.: Automated Software Testing-introduction, Management, and Performance. Addison-Wesley, Upper Saddle River (1999)
Fewster, M.G.D.: Software Test Automation-Effective use of Test Execution Tools. Addison-Wesley, Upper Saddle River (1999)
Li, K., Wu, M.: Effective Software Test Automation: Developing an Automated Software Testing Tool. Sybex, Alamdea (2004)
Weyuker, E.J.: On testing non-testable programs. Comput. J. 25(4), 465–470 (1982)
Briand, L., Labiche, Y., He, S.: Automating regression test selection based on UML Designs. Inf. Softw. Technol. 51(1), 16–30 (2009)
Mansour, N., Takkoush, H., Nehme, A.: UML-based regression testing for OO software. J. Softw. Maint. Evolut. Res. Pract. 23, 51–68 (2011)
Goga, N.: Comparing TorX, Autolink, TGV and UIO Test Algorithms, SDL 2001: Meeting UML, pp. 379–402. Springer, Berlin (2001)
Offutt, A.J., Liu, S., Abdurazik, A., Ammann, P.: Generating test data from state-based specifications. Softw. Test. Verif. Reliab. 13, 25–53 (2003)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines: a survey. Proc. IEEE 84, 1090–1123 (1996)
Mouchawrab, S., Briand, L.C., Labiche, Y., Penta, M.D.: Assessing, comparing, and combining state machine-based testing and structural testing: a series of experiments. IEEE Trans. Softw. Eng. 37, 161–187 (2011)
Khalil, M., Labiche, Y.: On the round trip path testing strategy. In: IEEE 21st International Symposium on Software Reliability Engineering (ISSRE), pp. 388–397 (2010)
Briand, L.C., Labiche, Y., Wang, Y.: Using simulation to empirically investigate test coverage criteria. In: IEEE/ACM International Conference on Software Engineering, pp. 86–95 (2004)
Ammann, P., Offutt, A., Hong, H.: Coverage criteria for logical expressions. In: International Symposium on Software Reliability Engineering, pp. 99–107 (2003)
Vouk, M., Tai, K., Paradkar, A.: Empirical studies of predicate-based software testing. In: 5th International Symposium on Software Reliability Engineering, pp. 55–64 (1994)
Ostrand, T.J., Balcer, M.J.: The category-partition method for specifying and generating functional test. Commun. ACM 31, 676–686 (1988)
Reid, S.: An empirical analysis of equivalence partitioning, boundary value analysis and random testing. In: Software Metrics Symposium, pp. 64–73 (1997)
Maity, S., Nayak, A.: Improved test generation algorithms for pair-wise testing. In: IEEE International Symposium on Software Reliability Engineering, pp. 235–244 (2005)
Burr, K., Young, W.: Combinatorial test techniques: table-based automation, test generation, and code coverage. In: International Conference on Software Testing Analysis and Review, pp. 503–513 (1998)
Antoniol, G., Briand, L.C., Penta, M.D., Labiche, Y.: A case study using the round-trip strategy for state-based class testing. In: 13th International Symposium on Software Reliability Engineering, pp. 269–279 (2002)
Saifan, A., Dingel, J.: Model-Based Testing of Distributed Systems. School of Computing, Queen’s University, Canada (2008)
Saifan, A., Dingel, J.: A survey of using model-based testing to improve quality attributes in distributed systems. In: Advanced Techniques in Computing Sciences and Software Engineering, pp. 283–288, Springer, Netherlands (2010)
Hartman, A.: AGEDIS-model based test generation tool. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 129–132 (2004)
Utting, M., Pretschner, A., Legeard, B.: A Taxonomy of Model-Based Testing. Department of Computer Science, The University of Waikato, New Zealand (2006)
Belinfante, A., El-Ramly, M., Horstmann, M.: Tools for test case generation. In: Model-Based Testing of Reactive Systems. LNCS, pp. 391–438. Springer, Berlin (2005)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. J. Softw. Test. Verif. Reliab. 22(5), 297–312 (2011)
Zander, J., Schieferdecker, I., Mostermna, P.J.: A taxonomy of model-based testing for embedded systems from multiple industry domains. In: Model-Based Testing for Embedded Systems, pp. 3–22. CRC Press, Boca Raton (2012)
Schieferdecker, I.: Model-based testing. IEEE Softw. 29(1), 14–18 (2012)
Sinha, A., Williams, C.E., Santhanam, P.: A measurement framework for evaluating model-based test generation tools. IBM Syst. J. 45(3), 501–514 (2006)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Shafique, M., Labiche, Y. A systematic review of state-based test tools. Int J Softw Tools Technol Transfer 17, 59–76 (2015). https://doi.org/10.1007/s10009-013-0291-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-013-0291-0