Test scenario prioritization for object-oriented systems using UML diagram

  • Namita PandaEmail author
  • Arup Abhinna Acharya
  • Durga Prasad Mohapatra
Original Article


The exponential growth in the complexity of product requirements has raised the importance of software testing. Software change management is one of the major challenge and regression testing provides a solution in this regard. Regresion testing is performed to find out the effect of the modified component on the other components present in the application. Here, a behavioural model i.e. an UML State Machine Diagram (SMD) is used to model the system requirements. Further, an intermediate State Machine Graph (SMG) is constructed from SMD. The test scenarios are generated by identifying the paths those are linearly independent of each other. These test scenarios are validated for code coverage using dynamic program analysis technique. Then, by traversing the SMG, nodes are identified those got affected due to the different change carried away in the software. A repository is maintained to store the information about affected nodes periodically. Next time, during regression testing, pattern of nodes those are frequently affected, are identified from the stored data and these patterns helps in test case prioritization. Two more criterias i.e. functional priority set by the client and number of times the user accessed the user interface are also added up. Further, it calculates the total priority value of a test scenarios and test-scenarios are arranged in depending upon their total priority value. Moelling dynamic nature of the application as well as applying mining on the historical data makes the proposed approach more efficient when compared with the related works.


Regression testing Test case prioritization State machine diagram Test scenarios 



  1. Acharya AA, Mahali P, Mohapatra DP (2015) Model based test case prioritization using association rule mining. In: Proceedings of computational intelligence in data mining, vol 3. Springer, India, pp 429–440Google Scholar
  2. Bahrami A (2008) Object oriented systems development: using the unified modeling language, 19th edn. Mcgraw-Hill College, IndiaGoogle Scholar
  3. Chauhan N (2010) Software testing principles : practices. Oxford University Press, New DelhiGoogle Scholar
  4. e Zehra Haidry S, Miller T (2013) Using dependency structures for prioritization of fundamental test suites. IEEE Trans Softw Eng 39(2):258–275CrossRefGoogle Scholar
  5. Han J, Kamber M (2010) Data mining: concepts and techniques, 2nd edn. Morgan Kaufmann Publishers, San FranciscozbMATHGoogle Scholar
  6. Han X, Zeng H, Gao H (2012) A heuristic model-based test prioritization method for regression testing. In: Proceedings of international symposium on computer, consumer and control, vol. 48. IEEE, pp 886–889Google Scholar
  7. Indumathi CP, Selvamani K (2015) Test case prioritization using open dependency structure algorithm. In: Proceedings of international conference on intelligent computing, communication and convergence (ICCC-2015), procedia computer science, vol 48. Elsevier, pp 250–255Google Scholar
  8. Khalilian A, Azgomi MA, Fazlalizadeh Y (2012) A improved method for test case prioritization by incorporating historical test data. Sci Comput Program 78:93–116CrossRefzbMATHGoogle Scholar
  9. Korel B, Koutsogiannakis G (2009) Experimental comparison of code-based and model-based test prioritization. In: Proceedings of IEEE international conference on software testing verification and validation workshops, pp 77–84Google Scholar
  10. Krishnamoorthi R, Mary SASA (2009) Requirement based system test case prioritization of new and regression test cases. Int J Softw Eng Knowl Eng 19(3):453CrossRefGoogle Scholar
  11. Mall R (2009) Fundamental of software engineering. PHI Learning Private Limited, New DelhiGoogle Scholar
  12. Mathur AP (2008) Foundations of software testing, 1st edn. Addison-Wesley Professional, ReadingGoogle Scholar
  13. Pressman RS (2010) Software engineering: a practitioner’s approach, 7th edn. McGraw-Hill, New YorkzbMATHGoogle Scholar
  14. Rothermal G, Untch RH, Chu C, HarRold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948CrossRefGoogle Scholar
  15. Samuel P, Joseph AT (2008) Test sequence generation from UML sequence diagrams. In: Proceedings of 9th international conference on software engineering, artificial intelligence, networking, and parallel/distributed computing, vol 2008, pp 879–887Google Scholar
  16. Srivastava PR, Kumar K, Raghurama G (2008) Test case prioritization based on requirements and risk factors. ACMSIGSOFT Softw Eng Notes 33(4):1–5CrossRefGoogle Scholar
  17. Wang X, Zeng H (2016) History-based dynamic test case prioritization for requirement properties in regression testing. In: Proceedings of international workshop on continuous software evolution and delivery, Austin, TX, USA, pp 41–47Google Scholar
  18. Yoo S, Harman M (2012) Regression testing, minimisation, selection and prioritisation: a survey. Softw Test Verification Reliab 22(2):67–120CrossRefGoogle Scholar

Copyright information

© The Society for Reliability Engineering, Quality and Operations Management (SREQOM), India and The Division of Operation and Maintenance, Lulea University of Technology, Sweden 2019

Authors and Affiliations

  1. 1.School of Computer Engineering, Kalinga Institute of Indutrial TechnologyDeemed to be UniversityBhubaneswarIndia
  2. 2.Department of Computer Science & EngineeringNational Institute of TechnologyRourkelaIndia

Personalised recommendations