Table of Contents
Fetching ...

Segment-Based Test Case Prioritization: A Multi-objective Approach

Hieu Huynh, Nhu Pham, Tien N. Nguyen, Vu Nguyen

TL;DR

This work tackles UI test case prioritization without source code by introducing a segment-based, multi-objective TCP that uses web page segmentation to define four coverage criteria. The method leverages evolutionary algorithms (AGE-MOEA and NSGA-II) to optimize test order across segments, sibling objects, object types, and objects, producing a Pareto front of solutions. Empirical evaluation on 11 UI test suites shows SegTCP achieving leading APFD and APFDc scores, low fault-detection overhead (MTFD), and reduced function duplication (FDR), despite higher upfront prioritization cost. The results demonstrate the practical value of segmentation-aware coverage in UI testing and provide a new dataset to support UI TCP research, highlighting improved fault detection and reduced redundancy in real-world scenarios.

Abstract

Regression testing of software is a crucial but time-consuming task, especially in the context of user interface (UI) testing where multiple microservices must be validated simultaneously. Test case prioritization (TCP) is a cost-efficient solution to address this by scheduling test cases in an execution order that maximizes an objective function, generally aimed at increasing the fault detection rate. While several techniques have been proposed for TCP, most rely on source code information which is usually not available for UI testing. In this paper, we introduce a multi-objective optimization approach to prioritize UI test cases, using evolutionary search algorithms and four coverage criteria focusing on web page elements as objectives for the optimization problem. Our method, which does not require source code information, is evaluated using two evolutionary algorithms (AGE-MOEA and NSGA-II) and compared with other TCP methods on a self-collected dataset of 11 test suites. The results show that our approach significantly outperforms other methods in terms of Average Percentage of Faults Detected (APFD) and APFD with Cost (APFDc), achieving the highest scores of 87.8\% and 79.2\%, respectively. We also introduce a new dataset and demonstrate the significant improvement of our approach over existing ones via empirical experiments. The paper's contributions include the application of web page segmentation in TCP, the construction of a new dataset for UI TCP, and empirical comparisons that demonstrate the improvement of our approach.

Segment-Based Test Case Prioritization: A Multi-objective Approach

TL;DR

This work tackles UI test case prioritization without source code by introducing a segment-based, multi-objective TCP that uses web page segmentation to define four coverage criteria. The method leverages evolutionary algorithms (AGE-MOEA and NSGA-II) to optimize test order across segments, sibling objects, object types, and objects, producing a Pareto front of solutions. Empirical evaluation on 11 UI test suites shows SegTCP achieving leading APFD and APFDc scores, low fault-detection overhead (MTFD), and reduced function duplication (FDR), despite higher upfront prioritization cost. The results demonstrate the practical value of segmentation-aware coverage in UI testing and provide a new dataset to support UI TCP research, highlighting improved fault detection and reduced redundancy in real-world scenarios.

Abstract

Regression testing of software is a crucial but time-consuming task, especially in the context of user interface (UI) testing where multiple microservices must be validated simultaneously. Test case prioritization (TCP) is a cost-efficient solution to address this by scheduling test cases in an execution order that maximizes an objective function, generally aimed at increasing the fault detection rate. While several techniques have been proposed for TCP, most rely on source code information which is usually not available for UI testing. In this paper, we introduce a multi-objective optimization approach to prioritize UI test cases, using evolutionary search algorithms and four coverage criteria focusing on web page elements as objectives for the optimization problem. Our method, which does not require source code information, is evaluated using two evolutionary algorithms (AGE-MOEA and NSGA-II) and compared with other TCP methods on a self-collected dataset of 11 test suites. The results show that our approach significantly outperforms other methods in terms of Average Percentage of Faults Detected (APFD) and APFD with Cost (APFDc), achieving the highest scores of 87.8\% and 79.2\%, respectively. We also introduce a new dataset and demonstrate the significant improvement of our approach over existing ones via empirical experiments. The paper's contributions include the application of web page segmentation in TCP, the construction of a new dataset for UI TCP, and empirical comparisons that demonstrate the improvement of our approach.
Paper Structure (37 sections, 6 equations, 5 figures, 5 tables)

This paper contains 37 sections, 6 equations, 5 figures, 5 tables.

Figures (5)

  • Figure 1: An example of a PHP Web application. images/icons/status_online.png, images/icons/pencil.png, and images/icons/vcard.png denote button 'details', 'edit', and 'print', respectively.
  • Figure 2: Overview of Segment-based Test Case Prioritization Method
  • Figure 3: Overview of our genetic algorithm
  • Figure 4: The APFD and APFDc distribution of our SegTCP method and other six methods over 11 test suites (RQ1).
  • Figure 5: Average coverage graphs for 5 types of subjects along with the Average NAPFD chart (\ref{['RQ1']}, \ref{['RQ2']})

Theorems & Definitions (2)

  • Definition 3.1
  • Definition 3.2