Core Concepts
A novel fuzzy logic-based approach to automate test case prioritization, using fuzzy linguistic variables and expert-derived fuzzy rules to establish a link between test case characteristics and their prioritization.
Abstract
The paper introduces a fuzzy logic-based methodology for automating the test case prioritization (TCP) process in software testing. The proposed system utilizes two fuzzy variables - Failure Rate and Execution Time - alongside two crisp parameters: Prerequisite Test Case and Recently Updated Flag.
The key aspects of the methodology are:
-
Fuzzy Sets and Logic Theory:
- Membership functions and fuzzy sets are used to represent linguistic variables like Execution Time and Failure Rate.
- Fuzzy rules are defined by experts to capture the relationship between test case characteristics and prioritization.
-
Dataset Collection:
- A diverse dataset of 48 test cases from a real-world e-commerce system was collected and formatted for the experiment.
-
Proposed Approach:
- The fuzzy inference system processes the fuzzy rules to determine the priority of each test case, considering both the fuzzy variables and crisp parameters.
- The Prerequisite Test Case parameter ensures a soft hierarchy among test cases, while the Recently Updated Flag raises the priority of test cases for recently modified functions.
The experimental results on the real-world software system demonstrate the effectiveness of the proposed fuzzy logic-based TCP system compared to unsorted and manually sorted test case lists. The methodology shows promising results in optimizing the testing process by identifying the most critical test cases for early execution, thereby reducing the overall time and effort required.
Stats
The total time spent running the tests was 725 seconds for the unsorted list, 605 seconds for the QA expert-sorted list, and 630 seconds for the proposed fuzzy logic-based methodology.
The number of executed test cases was 32 for the unsorted list, 25 for the QA expert-sorted list, and 27 for the proposed methodology.
The number of failures found was 5 for all three lists.
Quotes
"The proposed methodology significantly reduces the time and effort required by QA engineers."
"The key advantage of the methodology compared to similar studies is that real experts participated in knowledge base generation."