Skip to main content

State Traversal: Listen to Transitions for Coverage Analysis of Test Cases to Drive the Test

  • Chapter
  • First Online:
Optimization of Automated Software Testing Using Meta-Heuristic Techniques

Abstract

The testing exercises comprise designing test cases that are sequences of inputs, executing the program with test cases, and examining the outcomes created by this execution. Model-based testing (MBT) has better approach than code-based testing as test case generation from source code proves to be inadequate to detect state-based faults. This chapter presents our work concerning MBT, state-based test case generation using state chart diagram. In this chapter, we first review the main concepts and techniques in MBT. Then in the next step, we review the most common modeling formalisms for state chart diagram, focusing on various state-based coverage criteria. We address two case studies to implement the models. Subsequently, we propose methods for synchronous state-based testing approach to generate test cases.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Similar content being viewed by others

References

  1. Antoniol, G., Briand, L. C., Di Penta, M., & Labiche, Y. (2002). A case study using the round-trip strategy for state-based class testing. In Proceedings of the13th international symposium on software reliability engineering (pp. 269–279). https://doi.org/10.1109/ISSRE.2002.1173268

    Chapter  Google Scholar 

  2. Mishra, D. B., Acharya, A. A., & Acharya, S. (2020). White box testing using genetic algorithm—An extensive study. In A journey towards bio-inspired techniques in software engineering (Vol. 185, p. 167). Springer.

    Chapter  Google Scholar 

  3. Agrawal, H., DeMillo, R., Hathaway, R., Hsu, W., Krauser, E., & Spafford, E. (1989). Design of mutant operators for the C programming language (Technical report SERC-TR-41-P). Software Engineering Research Center, Department of Computer Science, Purdue University.

    Google Scholar 

  4. Holt, N. E., Briand, L. C., & Torkar, R. (2014). Empirical evaluations on the cost-effectiveness of statebased testing: An industrial case study. Information and Software Technology, 56(8), 890–910. https://doi.org/10.1016/j.infsof.2014.02.011

    Article  Google Scholar 

  5. Kaner, C., & Padmanabhan, S. (2007). Practice and transfer of learning in the teaching of software testing. In 20th Conference on Software Engineering Education & Training (CSEET’07) (pp. 157–166). IEEE.

    Chapter  Google Scholar 

  6. Mishra, D. B., Mishra, R., Das, K. N., & Acharya, A. A. (2019). Test case generation and optimization for critical path testing using genetic algorithm. In Soft computing for problem solving (pp. 67–80). Springer.

    Chapter  Google Scholar 

  7. Briand, L., & Labiche, Y. (2001). A UML-based approach to system testing. In International conference on the unified modeling language (pp. 194–208). Springer.

    Google Scholar 

  8. Mishra, D. B., Mishra, R., Das, K. N., & Acharya, A. A. (2017). A systematic review of software testing using evolutionary techniques. In Proceedings of sixth international conference on soft computing for problem solving (pp. 174–184). Springer.

    Chapter  Google Scholar 

  9. Farchi, E., Hartman, A., & Pinter, S. S. (2002). Using a model-based test generator to test for standard conformance. IBM Systems Journal, 41(1), 89–110.

    Article  Google Scholar 

  10. Neto, A. D., Subramanyan, R., Vieira, M., Travassos, G. H., & Shull, F. (2008). Improving evidence about software technologies: A look at model-based testing. IEEE Software, 25(3), 10–13.

    Article  Google Scholar 

  11. Dias-Neto, A. C., & Travassos, G. H. (2010). A picture from the model-based testing area: Concepts, techniques, and challenges. In Advances in computers (Vol. 80, pp. 45–120). Elsevier.

    Google Scholar 

  12. Shafique, M., & Labiche, Y. (2010). A systematic review of model based testing tool support (Technical report SCE-10-04). Carleton University.

    Google Scholar 

  13. Nidhra, S., & Dondeti, J. (2012). Black box and white box testing techniques-a literature review. International Journal of Embedded Systems and Applications (IJESA), 2(2), 29–50.

    Article  Google Scholar 

  14. Bohme, M., Pham, V. T., & Roychoudhury, A. (2017). Coverage-based greybox fuzzing as Markov chain. IEEE Transactions on Software Engineering.

    Google Scholar 

  15. Binder, R. V. (2000). Testing object-oriented systems: Models, patterns, and tools. Addison-Wesley Professional.

    Google Scholar 

  16. Broy, M., Jonsson, B., Katoen, J. P., Leucker, M., & Pretschner, A. (2005). Model-based testing of reactive systems. Advanced lectures: Outcome of a research seminar. Springer. https://doi.org/10.1007/b137241

    Book  MATH  Google Scholar 

  17. Utting, M., Pretschner, A., & Legeard, B. (2012). A taxonomy of model-based testing approaches. Software Testing, Verification and Reliability, 22(5), 297–312.

    Article  Google Scholar 

  18. El-Far, I. K., & Whittaker, J. A. (2001). Model-based software testing. In Encyclopedia of software engineering.

    Google Scholar 

  19. El-Fakih, K., Simao, A., Jadoon, N., & Maldonado, J. C. (2017). An assessment of extended finite state machine test selection criteria. Journal of Systems and Software, 123, 106–118.

    Article  Google Scholar 

  20. Chow, T. S. (1978). Testing software design modeled by finite-state machines. IEEE Transactions on Software Engineering, SE-4(3), 178–187. https://doi.org/10.1109/TSE.1978.231496

    Article  MATH  Google Scholar 

  21. Turner, C. D., & Robson, D. J. (1993). The state-based testing of object-oriented programs. In Proceedings software maintenance CSM-93 conference on IEEE (pp. 302–310).

    Google Scholar 

  22. Utting, M., Legeard, B., Bouquet, F., Fourneret, E., Peureux, F., & Vernotte, A. (2016). Recent advances in model-based testing. Advances in Computers, 101, 53–20.

    Article  Google Scholar 

  23. Pradhan, S., & Ray, M. (2021). Asynchronous testing in web applications. In Intelligent and cloud computing (pp. 355–361). Springer.

    Chapter  Google Scholar 

  24. Abdurazik, A., Ammann, P., Ding, W., & Offutt, J. (2000). Evaluation of three specification-based testing criteria. In Proceedings sixth IEEE international conference on engineering of complex computer systems. ICECCS 2000 (pp. 179–187). IEEE.

    Google Scholar 

  25. Toth, K. (2006). Experiences with open source software engineering tools. IEEE Software, 23(6), 44–52.

    Article  Google Scholar 

  26. Safdar, S. A., Iqbal, M. Z., & Khan, M. U. (2015). Empirical evaluation of UML modeling tools–a controlled experiment. In European conference on modelling foundations and applications (pp. 33–44). Springer.

    Chapter  Google Scholar 

  27. Arcuri, A., Fraser, G., & Galeotti, J. P. (2014). Automated unit test generation for classes with environment dependencies. In Proceedings of the 29th ACM/IEEE international conference on automated software engineering (pp. 79–90).

    Chapter  Google Scholar 

  28. Polo, M., Reales, P., Piattini, M., & Ebert, C. (2013). Test automation. IEEE Software, 30(1), 84–89.

    Article  Google Scholar 

  29. Utting, M., & Legeard, B. (2010). Practical model-based testing: A tools approach. Elsevier.

    Google Scholar 

  30. Holt, N. E., Torkar, R., Briand, L., & Hansen, K. (2012). State-based testing: Industrial evaluation of the cost-effectiveness of round-trip path and sneak-path strategies. In 2012 IEEE 23rd international symposium on software reliability engineering (pp. 321–330). IEEE.

    Chapter  Google Scholar 

  31. Briand, L. C., Labiche, Y., & Wang, Y. (2004). Using simulation to empirically investigate test coverage criteria based on statechart. In Proceedings of the 26th international conference on in software engineering (pp. 86–95). ICSE IEEE.

    Google Scholar 

  32. Briand, L.C., Labiche, Y., & Lin, Q. (2005). Improving statechart testing criteria using data flow information. In 16th IEEE International Symposium on Software Reliability Engineering (ISSRE’05) (p. 10). IEEE.

    Google Scholar 

  33. G. Antoniol, L. Briand, M. Di Penta, Y. Labiche. (2002). A case study using the round-trip strategy for state-based class testing. In Proceedings of the 13th international symposium on software, reliability engineering (ISSRE’02).

    Google Scholar 

  34. S. Mouchawrab, L. Briand, Y. Labiche. (2007). Assessing, comparing, and combining statechart-based testing and structural testing: An experiment. In First international symposium on empirical software engineering and measurement, ESEM 2007.

    Google Scholar 

  35. Mouchawrab, S., Briand, L., Labiche, Y., & Di Penta, M. (2011). Assessing, comparing, and combining state machine-based testing and structural testing: A series of experiments. IEEE Transactions on Software Engineering, 37(2), 161–187.

    Article  Google Scholar 

  36. Pradhan, S., Ray, M., & Swain, S. K. (2019). Transition coverage based test case generation from state chart diagram. Journal of King Saud University-Computer and Information Sciences.

    Google Scholar 

  37. Briand, L., Labiche, Y., & Lin, Q. (2010). Improving the coverage criteria of UML state machines using data flow analysis. Software Testing, Verification and Reliability, 20(3), 177–207.

    Article  Google Scholar 

  38. Gomaa, H. (2006). Designing concurrent, distributed, and real-time applications with UML. In Proceedings of the 28th international conference on software engineering (pp. 1059–1060).

    Google Scholar 

  39. Bogdanov, K., & Holcombe, M. (2001). State chart testing method for aircraft control systems. Software Testing, Verification and Reliability, 11(1), 39–54.

    Article  Google Scholar 

  40. Chevalley, P., & Thévenod-Fosse, P. (2001). An empirical evaluation of statistical testing designed from UML state diagrams: The flight guidance system case study. In Proceedings 12th international symposium on software reliability engineering (pp. 254–263). IEEE.

    Google Scholar 

  41. Yang, R.D., & Chung, C.G. (1990). A path analysis approach to concurrent program testing. In Ninth annual international Phoenix conference on computers and communications. 1990 conference proceedings (pp. 425–432). IEEE.

    Google Scholar 

  42. Kansomkeat, S., & Rivepiboon, W. (2003). Automated-generating test case using UML statechart diagrams. In Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on enablement through technology (pp. 296–300).

    Google Scholar 

  43. Swain, R., Panthi, V., Behera, P. K., & Mohapatra, D. P. (2012). Automatic test case generation from UML state chart diagram. International Journal of Computer Applications, 42(7), 26–36.

    Article  Google Scholar 

  44. Belli, F., Budnik, C. J., Hollmann, A., Tuglular, T., & Wong, W. E. (2016). Model-based mutation testing approach and case studies. Science of Computer Programming, 120, 25–48.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Pradhan, S., Ray, M., Bisoyi, S., Mishra, D.B. (2022). State Traversal: Listen to Transitions for Coverage Analysis of Test Cases to Drive the Test. In: Khari, M., Mishra, D.B., Acharya, B., Gonzalez Crespo, R. (eds) Optimization of Automated Software Testing Using Meta-Heuristic Techniques. EAI/Springer Innovations in Communication and Computing. Springer, Cham. https://doi.org/10.1007/978-3-031-07297-0_3

Download citation

Publish with us

Policies and ethics