Table of Contents
Fetching ...

Fuzzy Inference System for Test Case Prioritization in Software Testing

Aron Karatayev, Anna Ogorodova, Pakizar Shamoi

TL;DR

The paper addresses the inefficiency of regression testing by introducing a fuzzy inference system for test-case prioritization that combines two fuzzy inputs (Failure rate, Execution time) with two crisp flags (Prerequisite Test Case, Recently Updated Flag). Expert-derived fuzzy rules map input characteristics to a test-case priority, and defuzzification yields an ordered execution sequence validated on real-world data. The approach demonstrates competitive performance against unsorted and expert-ordered baselines, with a concrete example achieving a 77.98% priority via centroid defuzzification. While promising, the method depends on carefully crafted membership functions and may require customization for different projects; future work includes adding more prioritization parameters and integrating with automated testing frameworks for streamlined data collection.

Abstract

In the realm of software development, testing is crucial for ensuring software quality and adherence to requirements. However, it can be time-consuming and resource-intensive, especially when dealing with large and complex software systems. Test case prioritization (TCP) is a vital strategy to enhance testing efficiency by identifying the most critical test cases for early execution. This paper introduces a novel fuzzy logic-based approach to automate TCP, using fuzzy linguistic variables and expert-derived fuzzy rules to establish a link between test case characteristics and their prioritization. Our methodology utilizes two fuzzy variables - failure rate and execution time - alongside two crisp parameters: Prerequisite Test Case and Recently Updated Flag. Our findings demonstrate the proposed system capacity to rank test cases effectively through experimental validation on a real-world software system. The results affirm the practical applicability of our approach in optimizing the TCP and reducing the resource intensity of software testing.

Fuzzy Inference System for Test Case Prioritization in Software Testing

TL;DR

The paper addresses the inefficiency of regression testing by introducing a fuzzy inference system for test-case prioritization that combines two fuzzy inputs (Failure rate, Execution time) with two crisp flags (Prerequisite Test Case, Recently Updated Flag). Expert-derived fuzzy rules map input characteristics to a test-case priority, and defuzzification yields an ordered execution sequence validated on real-world data. The approach demonstrates competitive performance against unsorted and expert-ordered baselines, with a concrete example achieving a 77.98% priority via centroid defuzzification. While promising, the method depends on carefully crafted membership functions and may require customization for different projects; future work includes adding more prioritization parameters and integrating with automated testing frameworks for streamlined data collection.

Abstract

In the realm of software development, testing is crucial for ensuring software quality and adherence to requirements. However, it can be time-consuming and resource-intensive, especially when dealing with large and complex software systems. Test case prioritization (TCP) is a vital strategy to enhance testing efficiency by identifying the most critical test cases for early execution. This paper introduces a novel fuzzy logic-based approach to automate TCP, using fuzzy linguistic variables and expert-derived fuzzy rules to establish a link between test case characteristics and their prioritization. Our methodology utilizes two fuzzy variables - failure rate and execution time - alongside two crisp parameters: Prerequisite Test Case and Recently Updated Flag. Our findings demonstrate the proposed system capacity to rank test cases effectively through experimental validation on a real-world software system. The results affirm the practical applicability of our approach in optimizing the TCP and reducing the resource intensity of software testing.
Paper Structure (13 sections, 3 equations, 3 figures, 4 tables)

This paper contains 13 sections, 3 equations, 3 figures, 4 tables.

Figures (3)

  • Figure 1: General Workflow of Test Cases Prioritization System.
  • Figure 2: Input fuzzy sets for Execution Time, Failure rate and Output fuzzy sets for Priority
  • Figure 3: Simulation Results.