错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Optimizing test case prioritization through ranked NSGA-2 for enhanced fault sensitivity analysis

  • Kamal Garg,
  • Shashi Shekhar

摘要

Regression testing is a type of software testing that is performed during software maintenance in order to validate any additional modifications made to the functionality of the software. The objective of test case prioritization in regression is to establish a ranking for the test cases, giving priority to those that effectively cover a substantial portion of code or faults, while also minimizing the required execution time. Managing the prioritization of test cases in accordance with the tester's requirements can be a challenging task, given the significant number of test cases generated during development and maintenance. Different algorithms, including Greedy approaches, meta-heuristic techniques, and other optimization methods, are utilized to prioritize test cases, taking into account the constraints specified by the software tester. This paper employs a ranking-based NSGA-2 algorithm for the purpose of test case ordering and prioritization. The focus is on test cases that are responsive to faults, specifically those that result from modifications or the introduction of new software functionality. The proposed methodology entails the prioritization of test cases by leveraging their historical data. In addition to the Sensitive Index, other primary objectives of test prioritization include considering the execution cost and APFD (average percentage of faults detected). The proposed model has undergone testing on a total of eight applications, consisting of five handcrafted and three benchmark Java-based applications. Additionally, it has been subjected to comparison against several state-of-the-art algorithms commonly employed in the field of test case prioritization.