Dynamic Test Case Sequencing for Regression Suite Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The manual execution of large regression test suites is time-consuming and effort-intensive, and existing automated testing solutions lack effective management and prioritization of test cases to ensure efficient defect detection and coverage in software applications.
Innovation Solution
A touchless automated platform system that processes log files and testing results using pattern-mining algorithms to determine usage patterns and cluster defects, generating prioritizations for test cases based on code module usage and functionality, and sequencing these cases for execution to optimize testing coverage and defect detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual execution of large regression test suites is performed, then comprehensive test coverage can be achieved, but the process becomes time-consuming and effort-intensive
Solution Approach 1:
The patent segments the large regression test suite into smaller groups based on code modules and their usage patterns. By dividing the test suite according to the hierarchical structure of code modules and their interdependencies, the system enables selective execution of test cases corresponding to modified modules, thereby reducing overall execution time while maintaining comprehensive coverage of affected functionality.
Solution Approach 2:
The patent implements dynamic test case sequencing that adapts based on change detection in code modules. The system dynamically determines which test cases to execute by analyzing modifications to code modules and automatically sequencing test cases according to usage patterns and module dependencies, transforming the static manual execution process into a dynamic automated workflow that optimizes both coverage and efficiency.
2Productivity
If automated testing solutions are implemented, then execution time is reduced, but effective management and prioritization of test cases becomes challenging
Solution Approach 1:
The patent applies preliminary action by pre-analyzing code modules and their usage patterns before test execution. The system performs static analysis to establish the hierarchical structure of code modules, identifies usage patterns in advance, and pre-determines test case priorities based on module importance and interdependencies. This preliminary preparation enables efficient automated management during actual test execution without requiring complex real-time decision-making.
Solution Approach 2:
The patent implements feedback mechanisms where test execution results are analyzed and fed back into the test suite management system. The system uses test outcomes to refine its understanding of code module behavior, adjusts test case priorities based on observed usage patterns, and continuously optimizes the test sequencing strategy. This closed-loop feedback system simplifies management by enabling automatic adaptation rather than requiring manual intervention.
3Reliability
If test cases are executed frequently to ensure defect detection, then testing coverage increases, but the effort and time required for management increases
Solution Approach 1:
The patent enables self-service by implementing an automated system that autonomously manages test suite execution without requiring manual intervention. The system automatically detects code changes, determines affected modules using usage patterns, selects and sequences appropriate test cases, and executes them frequently as needed. This self-managing capability allows frequent defect detection while eliminating the proportional increase in manual management effort, as the system performs all management tasks automatically.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a touchless testing platform employed to, for example, create automated testing scripts, sequence test cases, and implement defect solutions. In one aspect, a method includes receiving a log file and testing results generated from a code base for an application; processing the log file through a pattern-mining algorithm to determine a usage pattern of code modules within the code base; clustering defects from the testing results based on a respective functionality of the application reported within each of the defects; generating testing prioritizations for test cases for the application by assigning weightages to the test cases based on the clusters of defects and the usage pattern of the code modules within the code base; sequencing a set of the test cases based on the test prioritizations; and transmitting the sequence to a test execution engine.


