Performance Analysis of Test Path Generation Techniques Based on Complex Activity Diagrams

Walaiporn Sornkliang, Thimaporn Phetkaew

Abstract


Effort reduction in software testing is important to reduce the total cost of the software development project. UML activity diagram is used by the tester for test path generation. It is hard to select the appropriate test path generation technique to diminish the effort of software testing. In the experiment, we compared the efficiency of 11 commonly-used test path generation techniques with both simple activity diagrams and the constructed complex activity diagrams. The experimental results summarized in three aspects. 1) For all possible path testing, the Activity Convert Grammar was the most appropriate test path generation technique, which can generate the number of paths equivalent to the target number of all possible paths. 2) Testing all possible paths for the large or complex object-oriented method is laborious. Almost all techniques could generate test paths that cover basis path coverage. 3) To compare the efficiency of test path generation algorithms, the percentage test path deviation to the target number of all possible paths of the Activity Convert Grammar was 0% for both a Complex Concurrent Structure activity diagram and a Complex Control Structure activity diagram. We also suggested the suitable UML activity diagram for each test path generation method.

Full Text:

PDF

References


Oluwagbemi, O., & Asmuni, H. (2015). Automatic generation of test cases from activity diagrams for UML based testing (UBT). Jurnal Teknologi (Science & Engineering), UTM University Teknologi Malaysia, 77(13), pp. 37-48. https://doi.org/10.11113/jt.v77.6358.

Paiboonkasemsut, P., & Limpiyakorn, Y. (2015). Reliability tests for process flow with fault tree analysis. 2015 2nd International Conference on Information Science and Security (ICISS), IEEE, 14-16 December, Seoul, South Korea, pp. 1-4. https://doi.org/10.1109/ICISSEC.2015.7371028.

Swain, R.K., Panthi, V., Mohapatra, D.P., & Behera, P.K. (2014). Prioritizing test scenarios from UML communication and activity diagrams. Innovations in Systems and Software Engineering, Springer Verlag, 10(3), pp. 165-180.

https://doi.org/10.1007/s11334-013-0228-5.

Yin, Y., Xu, Y., Miao, W., & Chen, Y. (2017). An automated test case generation approach based on activity diagrams of SysML. International Journal of Performability Engineering, RAMS Consultants, 13(6), pp. 922-936.

https://doi.org/10.23940/ijpe.17.06.p13.922936.

Khurana, N., Chhillar, R.S., & Chhillar, U. (2016). A novel technique for generation and optimization of test cases using use case, sequence, activity diagram and genetic algorithm. Journal of Software, Academy Publisher, 11(3), pp. 242-250.

https://doi.org/10.17706/jsw.11.3.242-250.

Jena, A.K., Swain, S.K., & Mohapatra, D.P. (2014). A novel approach for test case generation from UML activity diagram. 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), IEEE, 7-8 February, Ghaziabad, India, pp. 621-629. https://doi.org/10.1109/ICICICT.2014.6781352.

Pechtanun, K., & Kansomkeat, S. (2012). Generation test cases from UML activity diagram based on AC grammar. 2012 International Conference on Computer and Information Science (ICCIS), IEEE, 12-14 June, Kuala Lumper, Malaysia, pp. 895-899.

https://doi.org/10.1109/ICCISci.2012.6297153.

Swain, R.K., Panthi, V., & Behera, P.K. (2013). Generation of test cases using activity diagram. International Journal of Computer Science and Informatics, IPM Publication, 3(2), pp. 1-10.

http://interscience.in/IJCSI_Vol3Iss2/1-10.pdf.

Chouhan, C., Shrivastava, V., & Sodhi, P.S. (2012). Test case generation based on activity diagram for mobile application. International Journal of Computer Applications, Foundation of Computer Science, 57(23), pp. 4-9. https://doi.org/10.5120/9436-3563.

Boghdady, P.N., Badr, N.L., Hashim, M.A., & Tolba, M.F. (2011). An enhanced test case generation technique based on activity diagrams. The 2011 International Conference on Computer Engineering & Systems, IEEE, 29 November - 1 December, Cairo, Egypt, pp. 289-294. https://doi.org/10.1109/ICCES.2011.6141058.

Nayak, A., & Samanta, D. (2011). Synthesis of test scenarios using UML activity diagram. Software and Systems Modeling, Springer Verlag, 10, pp. 63-89. https://doi.org/10.1007/s10270-009-0133-4.

Jorgensen, P.C. (2014). Software testing a craftsman’s approach. 4th ed., CRC Press, London.

Pressman, R.S. (2011). Software engineering: a practitioner’s approach. 5th ed., McGraw-Hill series in computer science, pp. 437-439.

Subashni, S., & Satheesh, K.N. (2010). Software testing using visual studio 2010. Packt Publishing, Birmingham, pp. 6-8.

Shirole, M., & Kumar, R. (2013). UML behavioral model based test case generation: a survey. ACM SIGSOFT Software Engineering Notes, Association for Computing Machinery, 38(4), pp. 1-13.

https://doi.org/10.1145/2492248.2492274.

IEEE Computer Society (2008). IEEE standard for software and system test documentation IEEE Std 829TM-2008, IEEE, pp. 1-84.

https://doi.org/10.1109/IEEESTD.2008.4578383.

Hooda, I., & Chhillar, R. (2014). A review: study of test case generation techniques. International Journal of Computer Applications (0975–8887), Foundation of Computer Science, 107(16), pp. 33-37.

https://doi.org/10.5120/18839-0375.

Rahman, Md.A., Hasan, Md.A., Shah, K., & Siddik, Md.S. (2019). Multipartite based test case prioritization using failure history. International Journal of Advanced Science and Technology, Science and Engineering Research Support Society, 129, pp. 25-42.

http://sersc.org/journals/index.php/IJAST/article/view/1353/1084.

Agarwal, B.B., Tayal, S.P., & Gupta, M. (2010). Software engineering & testing. Jones and Bartlett, Sudbury, Massachusetts, pp. 157-164.

Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The unified modeling language user guide. 2nd ed., Addison Wesley Professional, pp. 311-331.

https://pdfs.semanticscholar.org/f6b0/0ae65bc03ae3e2dc1edd8d9d1af3ea96f750.pdf.

Pezze, M., & Young, M. (2008). Software testing and analysis: process, principles, and techniques. John Wiley&Sons, pp. 211-230.

https://ix.cs.uoregon.edu/~michal/book/Samples/book.pdf.

Tsui, F., Karnal, O., & Bernal, B. (2017). Essentials of software engineering. 4th ed., Jones&Bartlett Learning, Burlington, Massachusetts, pp. 170-171.

Meziane, F., & Vadera, S. (2010). Artificial intelligence applications for improved software engineering development: new prospects. Information Science Reference, Hershey, New York, pp. 248.

https://doi.org/10.4018/978-1-60566-758-4.

Mahali, P., & Acharya, A.A. (2013). Model based test case prioritization using UML activity Diagram and evolutionary algorithm. International Journal of Computer Science and Informatics, IPM Publication, 3(2), pp. 42-47.

https://pdfs.semanticscholar.org/e263/de716d26500be67881b13e33579ad5f746e4.pdf.

Khandai, S., Acharya, A.A., & Mohapatra, D.P. (2011). Prioritizing test cases using business criticality test value. International Journal of Advanced Computer Science and Applications (IJACSA), Science and Information Organization, 3(5), pp. 103-110.

https://doi.org/10.14569/IJACSA.2012.030516.

Oluwagbemi, O., & Asmuni, H. (2015). An approach for automatic generation of test cases from UML diagram. International Journal of Software Engineering and Its Applications, Science and Engineering Research Support Society, 9(8), pp. 87-106.

https://pdfs.semanticscholar.org/2d44/4279968e52e441b8b81c1d3d2505dc9ac918.pdf?_ga=2.203778320.1602077095.1579951079-1724188612.1530871129.

Khandai, M., Acharya, A.A., & Mohapatra, D.P. (2011). Test case generation for concurrent system using UML combinational diagram. International Journal of Computer Science and Information Technology, TECH SCIENCE Publisher, 2(3), pp. 1172-1182. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.228.548&rep=rep1&type=pdf.




DOI: https://doi.org/10.31449/inf.v45i2.3049

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.