Test Optimization for UI Workflows via Input Combination Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods are inadequate for intensive workflows due to the impracticality of fully exhaustive testing, as they fail to consider the large number of possible input combinations and are not applicable to new products or functional testing phases, leading to numerous errors.
Innovation Solution
A test optimization system that determines optimal input combinations through a combination of a target program analyzer, grouping engine, and optimal input combination selector, using approaches like linked and unlinked gear methods to select a subset of input combinations that are representative of all program features, thereby enabling feature exhaustive testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fully exhaustive testing is conducted to cover all possible input combinations, then testing completeness is improved, but testing time and resource requirements become impractically large
Solution Approach 1:
The patent applies partial action by selecting a representative subset of input combinations rather than testing all possible combinations. The system identifies and tests only those combinations that are most likely to reveal defects, based on historical data and risk analysis, thereby achieving sufficient testing coverage without the prohibitive time cost of exhaustive testing.
Solution Approach 2:
The patent changes the parameter of test selection from uniform random selection to risk-based prioritized selection. By adjusting the selection criteria to incorporate historical defect data and risk metrics, the system transforms the testing approach to focus on high-risk areas, improving testing effectiveness while reducing overall test volume.
2Productivity
If risk-based testing strategies using historical data are employed, then testing efficiency is improved, but applicability to new products without historical data is reduced
Solution Approach 1:
The patent applies preliminary action by establishing a framework that prepares for both historical data-driven testing and new product testing in advance. The system is designed to automatically adapt its data sources based on availability, having pre-configured multiple data acquisition strategies that can be activated depending on whether historical data exists or the product is new.
Solution Approach 2:
The patent implements universality by creating a testing system that can operate effectively in multiple scenarios: products with historical data, new products without historical data, and products with limited data. The system universally applies risk-based testing principles while flexibly sourcing input from available data repositories, making it adaptable across different product lifecycles and organizations.
3Measurement precision
If component or API level priority testing is applied, then unit test effectiveness is improved, but scalability to larger test cases is reduced
Solution Approach 1:
The patent merges component-level testing with system-level testing by integrating the priority assignment mechanisms at multiple levels. The system combines fine-grained component priority assessment with coarse-grained system workflow priority, creating a unified testing approach that maintains precision at the unit level while scaling to comprehensive system testing through hierarchical aggregation.
Data Source
AI summary
A system and method provide for determining optimal input combinations useable in testing program code that includes user interface intensive workflows. Various embodiments provides for determining an input set corresponding to the target program code, determining mutually exclusive feature groups corresponding to the input set and determining a set of optimal input combinations corresponding to the feature groups. A more specific embodiment provides for determining the set of optimal input combinations in accordance with a linked or unlinked gear approach.


