Abstract
Often system developers follow Unified Modeling Language (UML) activity diagrams to depict all possible flows of controls commonly known as scenarios of use cases. Hence, an activity diagram is treated as a useful design artifact to identify all possible scenarios and then check faults in scenarios of a use case. However, identification of all possible scenarios and then testing with activity diagrams is a challenging task because several control flow constructs and their nested combinations make path identification difficult. In this paper, we address this problem and propose an approach to identify all scenarios from activity diagrams and use them to test use cases. The proposed approach is based on the classification of control constructs followed by a transformation approach which takes into account any combination of nested structures and transforms an activity diagram into a model called Intermediate Testable Model (ITM). We use ITM to generate test scenarios. With our approach it is possible to generate more scenarios than the existing work. Further, the proposed approach can be directly carried out using design models without any addition of testability information unlike the existing approaches.
Similar content being viewed by others
References
Magicdraw home page. http://www.magicdraw.com/
Aho A., Sethi R., Ullman J.: Compilers Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Allen F.E.: Control flow analysis. ACM Sigplan Notices 5(7), 1–19 (1970)
Bai, X., Lam, C.P., Li, H.: An approach to generate the thin-threads from the UML diagrams. In: Proceedings of Computer Software and Applications Conference, pp. 546–552 (2004)
Binder, R.V.: Testing Object Oriented Systems: Models, Patterns and Tools. The Addison-Wesley Object Technology Series (1999)
Briand L., Labiche Y.: A UML- based approach to system testing. J. Softw. Syst. Model. 1(1), 10–42 (2002)
Chandler, R., Lam, C., Li, H.: Dealing with concurrent regions during scenario generation from Activity diagrams. In: Proceedings of the International Conference on Systems, Computing Sciences and Software Engineering, pp. 415–420. Springer, Netherlands (2007)
Chandler, R., Lam, C.P., Li, H.: AD2US:an automated approach to generating usage scenarios from UML Activity diagrams. In: Proceedings of 12th Asia Pacific Software Engineering Conference, pp. 9–16. Taipei, Taiwan (2005)
Xu, D.H.L., Lam, C.P.: Using adaptive agents to automatically generate test scenarios from the UML Activity diagrams. In: Proceedings of 12th Asia Pacific Software Engineering Conference, pp. 15–17. Taipei, Taiwan (2005)
Delamaro, M., Pezze, M., Vincenzi, A.M.R.: Mutant operators for testing concurrent Java programs. In: Proceedings of Brazilian Symposium on Software Engineering, pp. 272–285. Rio de Janeiro, RJ, Brazil (2001)
Frohlich, P., Link, J.: Automated test case generation from dynamic models. In: Proceedings of 14th European Conference on Object-Orinted Programming (2000)
Harrold, M.J., Rothermel, G.: Performing data flow testing on classes. In: Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 154–163 (1994)
Hartmann, J., Viera, M., Foster, H., Ruder, A.: A UML based approach to system testing. Journal, Innovations in Systems and Software Engineering pp. 12–24 (2005). Springer, London
Hecht, M.S., Ullman, J.D.: Flow graph reducibility. In: Proceedings of the fourth annual ACM symposium on Theory of computing, pp. 238–250. Denver, Colorado, United States (1972)
Hecht M.S., Ullman J.D.: Characterizations of reducible flow graphs. J. ACM 21(3), 367–375 (1974)
Kim, H., Kang, S., Baik, J., Ko, I.: Test cases generation from UML Activity diagrams. In: Proceedings of 8th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, pp. 556–561 (2007)
Kim, S., Clark, J., McDermid, J.: The rigorous generation of Java mutation operators using HAZOP. In: Proceedings of the 12th International Conference on Software and Systems Engineering and their Applications, pp. 9–19. Paris, France (1999)
Kim, Y., Carlson, C.R.: Scenario based integration testing for object-oriented software development. In: Proceedings of Asian Test Symposium, pp. 283–288 (1999)
Li, H., Lam, C.P.: Using anti-ant-like agents to generate test threads from the UML diagrams. In: LNCS,Volume 3502, pp. 69–80 (2005)
Linzhang, W., Jiesong, Y., Xiaofeng, Y., Jun, H., Xuandong, L., Guoliang, Z.: Generating test cases from UML Activity diagram based on gray-box method. In: Proceedings of the 11th Asia-Pacific Software Engineering Conference, pp. 284–291. IEEE (2004)
Mingsong, C., Xiaokang, Q., Xuandong, L.: Automatic test case generation for UML Activity diagrams. In: Proceedings of the 2006 International workshop on Automation of software test, pp. 2–8. Shanghai, China (2006)
Offutt A.J.: Investigations of the software testing coupling effect. ACM Trans. Softw. Eng. Methodol. 1(1), 5–20 (1992)
Offutt, J., Abdurazik, A.: Generating tests from UML specifications. In: Proceedings of the Second International Conference on Unified Modeling Language, Beyond the Standard, pp. 416–429 (1999)
Offutt, J., Abdurazik, A.: Using UML Collaboration diagrams for static checking and test generation. In: Proceedings of Third International Conference on UML, pp. 383–395. York, UK (2000)
Ostrand T.J., Balcer M.J.: The category-partition method for specifying and generating fuctional tests. Commun. ACM 31(6), 676–686 (1988)
Ryser, J., Glinz., M.: A scenario-based approach to validating and testing software systems using statecharts. In: Proceedings of 12th International Conference on Software and Systems Engineering (1999)
Sethi R.: Testing for the Church-Rosser property. J. ACM 21(4), 671–679 (1974)
UML: UML 2.0 Superstructure-Final Adopted Specification. Object Management Group (2003). http://www.omg.org/docs/ad/03-08-02.pdf
Vieira, M., Leduc, J., Hasling, B., Subramanyan, R., Kazmeier, J.J.: Automation of GUI testing using a model-driven approach. In: Proceedings of the 2006 International workshop on Automation of Software Test, pp. 9–14. Shanghai, China (2006)
Weidenhaupt K., Pohl K., Jarke M., Haumer P.: Scenario usage in system development—a report on current practice. IEEE Softw. 15(2), 34–45 (1998)
Zhang F., D’Hollander E.H.: Using hammock graphs to structure programs. IEEE Trans. Softw. Eng. 30(4), 231–245 (2004)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Lionel Briand.
Rights and permissions
About this article
Cite this article
Nayak, A., Samanta, D. Synthesis of test scenarios using UML activity diagrams. Softw Syst Model 10, 63–89 (2011). https://doi.org/10.1007/s10270-009-0133-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0133-4