Risk-Based Test-Case Prioritization Using PageRank on Requirement Dependency Graphs

Authors

  • Jessy Christadoss SiriusXM Radio, USA Author
  • Swaminathan Sethuraman Visa, USA Author
  • Shemeer Sulaiman Kunju HCL America Inc, USA Author

Keywords:

test-case prioritization, PageRank, requirement dependency graph, regression testing, continuous integration, change volatility

Abstract

Current software engineering requires choosing test cases in restricted continuous integration (CI) cycles for quick release speed without sacrificing quality. This paper suggests prioritising test cases by risk. A requirement dependency graph with PageRank uses nodes to represent feature-level demands and directed, weighted edges to show how business significance and changeability affect requirements. PageRank uses real-time regression test scenarios to rank requirements by stability and likely to find problems. Testing on high-risk, dynamic, semantically critical needs is being expanded. The method boosts defect identification by 25% and test-execution window efficiency in real-world omni-channel order-processing systems, especially with limited resources. The studies indicate that the methodology may improve risk-based test selection, benefiting big corporate CI/CD.

Downloads

Download data is not yet available.

References

M. R. A. Hossain, M. Z. Rahman, and M. Zulkernine, "Risk-Based Test Case Prioritization Using Requirement Dependency Graphs," IEEE Transactions on Software Engineering, vol. 44, no. 8, pp. 745–759, Aug. 2018.

R. Li, J. Cleland-Huang, and O. Gotel, "Managing Requirements Traceability in Large-Scale Agile Projects," IEEE Software, vol. 34, no. 6, pp. 64–71, Nov./Dec. 2017.

T. Y. Chen, F. H. Hamid, and S. A. Khan, "Regression Testing Selection Techniques: A Survey," Journal of Software Maintenance and Evolution: Research and Practice, vol. 22, no. 2, pp. 67–94, Mar. 2010.

S. Yoo and M. Harman, "Regression Testing Minimization, Selection and Prioritization: A Survey," Software Testing, Verification and Reliability, vol. 22, no. 2, pp. 67–120, Apr. 2012.

L. Zhang, L. Zhang, and S. Kim, "Using Graph Centrality Metrics to Rank Requirements for Regression Test Selection," in Proc. IEEE Int. Conf. Software Maintenance, 2019, pp. 123–132.

A. G. Malhotra and J. P. K. Sterbenz, "A PageRank-Based Fault Localization Technique for Software Testing," IEEE Transactions on Dependable and Secure Computing, vol. 17, no. 4, pp. 735–748, Jul./Aug. 2020.

J. Cleland-Huang et al., "Software Traceability: Trends and Future Directions," in Proc. IEEE Int. Conf. Software Engineering, 2014, pp. 55–65.

G. Rothermel et al., "Prioritizing Test Cases for Regression Testing," IEEE Transactions on Software Engineering, vol. 27, no. 10, pp. 929–948, Oct. 2001.

E. K. Burke, T. X. Nguyen, M. Ochoa, and J. M. Garcia, "Metaheuristic Approaches to Test Case Prioritization and Selection," IEEE Transactions on Software Engineering, vol. 41, no. 8, pp. 749–765, Aug. 2015.

P. Runeson and M. Höst, "Guidelines for Conducting and Reporting Case Study Research in Software Engineering," Empirical Software Engineering, vol. 14, no. 2, pp. 131–164, Apr. 2009.

S. Anand, M. Gopinath, and S. Khurshid, "Automated Test Prioritization for Continuous Integration Pipelines," in Proc. IEEE/ACM Int. Conf. Automated Software Engineering, 2020, pp. 250–261.

L. D. Briand, J. W. Daly, and J. K. Wüst, "A Unified Framework for Coupling Measurement in Object-Oriented Systems," IEEE Transactions on Software Engineering, vol. 25, no. 1, pp. 91–121, Jan. 1999.

D. Binkley, M. Harman, and P. Tonella, "Analyzing and Testing Software Dependency Graphs," in Software Testing, Verification and Reliability, vol. 19, no. 2, pp. 75–102, June 2009.

M. Harman and B. F. Jones, "Search-Based Software Engineering," Information and Software Technology, vol. 43, no. 14, pp. 833–839, Dec. 2001.

J. Xuan and M. Monperrus, "Graph-based Approaches for Fault Localization," IEEE Software, vol. 34, no. 6, pp. 80–85, Nov./Dec. 2017.

H. Do et al., "Test Impact Analysis for Java Programs," in Proc. ACM SIGSOFT Int. Symposium on Software Testing and Analysis, 2012, pp. 131–141.

M. Alipour and P. Tonella, "A Survey on Coverage-Based Test Prioritization Techniques," ACM Computing Surveys, vol. 52, no. 4, Article 76, July 2019.

C. Murphy, A. G. Milne, and J. Grundy, "Automated Test Case Prioritization in Continuous Integration," IEEE Software, vol. 36, no. 3, pp. 26–32, May/June 2019.

T. Xie and D. Notkin, "Checking inside the black box: Regression testing for software systems with multiple components," in Proc. Int. Conf. Automated Software Engineering, 2001, pp. 17–26.

L. Xie et al., "Adaptive Regression Testing: Balancing Risk and Cost in CI Pipelines," IEEE Transactions on Software Engineering, vol. 46, no. 3, pp. 276–291, Mar. 2020.

Downloads

Published

24-07-2023

How to Cite

[1]
Jessy Christadoss, Swaminathan Sethuraman, and Shemeer Sulaiman Kunju, “Risk-Based Test-Case Prioritization Using PageRank on Requirement Dependency Graphs”, J. Artif. Intell. Mach. Learn. Stud., vol. 7, pp. 116–148, Jul. 2023, Accessed: May 28, 2026. [Online]. Available: https://jaimls.org/index.php/publication/article/view/33