Continuous Integration Test Prioritization via Association Rule Mining
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional technologies fail to rank and prioritize test cases effectively, leading to delayed detection of failures in software testing, especially when resources are limited, and do not leverage adaptive association rule mining techniques to identify relevant test cases dynamically.
Innovation Solution
A test selection and prioritization system that mines a test case repository to identify relationships between test cases, using association rule mining algorithms like Apriori, to create dynamic execution plans that prioritize test cases likely to fail early, iteratively updating based on execution results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all test cases are executed according to a static test case execution plan, then complete test coverage is achieved, but test execution time increases and failure detection is delayed
Solution Approach 1:
The patent transforms the static test case execution plan into a dynamic one by continuously mining relationships between test cases based on execution results. The system adapts the execution plan in real-time by identifying co-failing test cases and adjusting priorities, allowing the test suite to evolve from a fixed sequence to a flexible, data-driven execution strategy that optimizes both coverage and time efficiency.
Solution Approach 2:
The system implements feedback loops by analyzing execution results of test cases and using this information to dynamically adjust the test case execution plan. The mining process continuously feeds back relationship patterns between test cases, enabling the system to learn from past executions and improve future test scheduling, thereby reducing redundant executions and accelerating failure detection.
2Ease of operation
If test cases are executed in arbitrary order, then execution simplicity is maintained, but failure detection timing is delayed
Solution Approach 1:
The system performs preliminary mining of test case relationships before execution to establish an optimized execution order. By pre-identifying co-failing test cases and their relationships based on historical execution data, the system prepares a prioritized execution plan that ensures failures are detected as early as possible without requiring complex real-time analysis during execution.
Solution Approach 2:
The patent replaces the mechanical, arbitrary ordering of test cases with an intelligent, data-driven ordering system. Instead of using simple sequential or random execution, the system employs association rule mining algorithms to automatically determine optimal execution sequences based on learned relationships between test cases, substituting brute-force simplicity with algorithmic intelligence.
3Device complexity
If static test case execution plans are used, then system complexity is reduced, but adaptability to software changes is poor
Solution Approach 1:
The system enables self-service by automatically mining test case relationships and generating optimized execution plans without requiring manual intervention. The mining process autonomously analyzes execution results, identifies patterns between test cases, and adjusts the execution plan accordingly, allowing the system to adapt to software changes independently while maintaining manageable complexity through automation.
Solution Approach 2:
The patent dynamically changes the execution plan parameters based on mined relationships between test cases. Instead of using a fixed execution sequence, the system adjusts execution priorities, selection criteria, and ordering based on learned patterns from historical data, enabling flexible adaptation to software changes while keeping the underlying mining mechanism reusable across different scenarios.
4Quantity of substance
If conventional test selection methods are used, then resource requirements are minimized, but testing efficiency is reduced
Solution Approach 1:
The system applies partial action by selectively executing only the most relevant test cases based on mined relationships rather than running the entire test suite. By identifying co-failing test cases and prioritizing those with higher failure probability, the system executes a subset of test cases that provides maximum testing value with minimal resource consumption, avoiding unnecessary executions of low-risk test cases.
Data Source
AI summary
Methods, system, and non-transitory processor-readable storage medium for a test selection and prioritization system are provided herein. An example method includes mining, by the system, a test case repository comprising test cases and execution results, to identify relationships between test cases based on the execution of the test cases according to a test case execution plan. The system creates a first test case execution plan comprising a first subset of the test cases based on the identified relationships. A test management system executes the first subset of the test cases according to the first test case execution plan on at least one test system. The system assesses results of the execution of the first subset to identify a second test case execution plan, where the second test case execution plan results in test execution failures occurring earlier than test cases executed according to the test case execution plan.


