Model-based Test Case Prioritization
DOI:
https://doi.org/10.26438/ijcse/v6i10.373381Keywords:
Test case prioritization, sequence diagram, message sequence path, forward slicing, information flow modelAbstract
The efficiency of Software testing can be improved by scheduling the test cases using test case prioritization technique (TCP). A novel test case prioritization approach is proposed to schedule the execution of test cases in testing process of software development. Our approach prioritizes the test cases generated from UML Sequence diagram. The major objective of our TCP approach is to achieve high rate of fault detection and test coverage. In this paper, an intermediate graph is created form UML sequence diagram to generate the message sequence paths. We calculate the weights of each node of the graph according to the affecting nodes using forward slice and edge using information flow model. Then the weights of test paths which are generated from sequence diagram are calculated by adding the weights of associated nodes and edges. According to the weights of corresponding test paths the test cases are prioritized. The obtained results indicate that the proposed technique is effective in prioritizing the test cases by the Average Percentage of Fault Detection (APFD) metric to estimate the performance of our proposed approach. The result of our proposed approach is compared with the result of traditional approach using APFD for some selected software. Finally, our proposed prioritization approach is also compared with some available related work
References
[1] R. Mall, “Fundamentals of Software Engineering”, Prentice-Hall, Springer-Verlag GmbH, 3rd Edition 2009.
[2] M. Khatibsyarbini, M.A. Isa, Dayang N.A, Jawawi, R. Tumeng, “Test case prioritization approaches in regression testing: A systematic literature review” Information and Software Technology, Vol.93, pp. 74-93, January 2018.
[3] H. Srikanth, L. Williams. “On the economics of requirements-based test case prioritization”, In Proceedings of the Seventh International Workshop on Economics-Driven Software Engineering Research, 2005.
[4] C. E.Williams, “Software testing and the UML” In Proceedings of the International Symposium on Software Reliability Engineering, (ISSRE ’99), Boca Raton, FL, November 1999.
[5] S. Elbaum, A.G.Malishevsky, G.Rothermel, “Test case prioritization: A family of empirical studies”, IEEE Transactions on Software Engineering, Vol. 28,Issue.2, pp. 159-182, 2002.
[6] J. Chen , L. Zhu , T. Y. Chen , D. Towey, Fei-Ching Kuo , R. Huang , Y. Guo, “Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering”, The Journal of Systems and Software, Vol. 135, pp. 107–125, 2018.
[7] G. Rothermel, R. H.Untch, C.Chu, M. J.Harrold, “Prioritizing test cases for regression testing”, Software Engineering, Vol. 27,Issue.10, pp. 929-948, 2001.
[8] M.Weiser, “Program slicing”, In Proceedings of the 5th International Conference on Software, San Diego, Calif, USA, pp. 439–449, 1981.
[9] M. Weiser, “Programmers Use Slices when Debugging”, Communications of the ACM 25, vol.7, pp.446-452, 1982.
[10] A. Besz´edes, “Global dynamic slicing for the C language,” Acta Polytechnica Hungarica, vol. 12, no. 1, pp. 117–136, 2015.
[11] X. B. Li, C. X. Fan, J. Pang, and J. J. Zhao, “A model for slicing JAVA programs hierarchically,” Journal of Computer Science and Technology, vol. 19, no. 6, pp. 848–858, 2004.
[12] H. W. Alomari, M. L. Collard, J. I. Maletic, N. Alhindawi, and O. Meqdadi, “srcSlice: very efficient and scalable forward static slicing,” Journal of Software: Evolution and Process, vol. 26, no.11, pp. 931–961, 2014.
[13] J. Silva, “A vocabulary of program slicing-based techniques”, ACM Computing Surveys, vol. 44, no. 3, article 12, 2012.
[14] Z. Awedikian, K. Ayari, G . Antoniol, “MC/DC Automatic Test Input Data Generation”, In Proceedings of the 11th Annual conference on Genetic and evolutionary computation, ACM, pp. 1657-1664, 2009.
[15] M. Weiser, “Program slicing”, IEEE Transactions on Software Engineering, Vol. 10, No. 4,pp.352–357, 1984.
[16] D. Kundu, D.Samanta, “A novel approach of prioritizing use case scenarios”, Asia–Pacific Software Engineering Conference (APSEC), IEEE Computer Society, Washington, DC, pp. 542-549, 2007.
[17] C. R.Panigrahi, R. Mall, “Model-based regression test case prioritization”, ACM SIGSOFT Software Engineering Notes, Vol. 35,No.6, pp. 1-7, November 2010.
[18] P.G. Sapna , A. Balakrishnan”An Approach for Generating Minimal Test Cases for Regression Testing”, Procedia Computer Science, Vol. 47,pp. 188 – 196, 2015
[19] S. Panda, D. Munjal, D. P. Mohapatra, ”A Slice-Based Change Impact Analysis for Regression Test Case Prioritization of Object-Oriented Programs”, Advances in Software Engineering, Volume 2016, pp.1-20, 2016.
[20] S. Gupta , H. Raperia , E. Kapur , H. Singh, A. Kumar,”A Novel Approach for test case Prioritization”, International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.2, No.3, 2012.
[21] D. Jeffrey, N.Gupta, “Test case prioritization using relevant slices”, International Computer Software and Applications Conference (COMPSAC). IEEE Computer Society, Washington, DC, pp. 411–420, 2006.
[22] S.S.Basa, S.Swain, D.P.Mohapatra,”UML Activity Diagram-Based Test Case Generation”, Journal of Emerging Technologies and Innovative Research (JETIR), Volume 5, Issue 8, 2018.
[23] C. Mingsong, Q. Xiaokang, L. Xuandong, ”Automatic test case generation for UML activity diagrams”, In International workshop on Automation of software test, pp. 2-8, 2006.
[24] D. Kundu, D. Samanta,” A Novel Approach to Generate Test Cases from UML Activity Diagrams”, Journal of Object Technology, Vol. 8, No. 3, pp.65-83, 2009.
[25] G.Rothermel., R. H.Untch, C.Chu, M. J.Harrold, “Prioritizing test cases for regression testing”, Software Engineering, Vol. 27,Issue.10, pp. 929-948, 2001.
[26] S. Elbaum, G. Rothermel, S. Kanduri, and A. Malishevsky, “Selecting a cost-effective test case prioritization technique”, Software Quality Control, Vol.12, Issue.3, pp.185–210, 2004.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
