Test Parameter Selection for Software Module Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiency in testing software modules due to the large number of test functions in a test suite, where some test functions are executed multiple times unnecessarily, leading to substantial time consumption in testing complex software modules.
Innovation Solution
A method that accesses a test parameter data structure and a parameter usage data structure to identify the specific test parameters used by each test function, allowing the test initiator to execute each test function an optimal number of times based on the parameters and values used, employing combinatorial testing techniques to minimize unnecessary executions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a comprehensive test suite with many test functions is used to thoroughly test software modules, then testing coverage and reliability are improved, but testing time and productivity deteriorate
Solution Approach 1:
The patent segments the test suite by creating a parameter usage data structure that divides test functions into groups based on their parameter requirements. Each test function is analyzed to identify which parameters it actually uses, allowing the test initiator to segment executions into necessary and unnecessary categories. This segmentation enables selective execution of only those test functions that are relevant to the changed parameters, maintaining comprehensive coverage while reducing redundant executions.
Solution Approach 2:
The patent applies partial action by executing only the subset of test functions that are necessary based on parameter usage analysis, rather than executing the entire test suite. The system determines the minimal required execution set by comparing changed parameters against the parameter usage data structure, thereby performing partial testing that is sufficient for regression testing purposes without the excessive action of running all test functions.
2Reliability
If all test functions are executed multiple times with different parameter combinations, then thorough parameter testing is achieved, but time consumption increases substantially
Solution Approach 1:
The patent performs preliminary action by pre-analyzing and storing parameter usage information in a parameter usage data structure before actual test execution. During the test initialization phase, the system pre-determines which test functions use which parameters and stores this mapping relationship. When parameters change, this pre-computed information allows immediate identification of affected test functions without requiring runtime analysis, thereby reducing testing duration while maintaining thorough parameter testing.
Solution Approach 2:
The system implements feedback by using the parameter usage data structure to inform test execution decisions. After parameters are identified as changed, the feedback mechanism queries the parameter usage data structure to determine which test functions should be executed, creating a closed-loop system where parameter change information feeds back into intelligent test selection, avoiding unnecessary executions and reducing overall testing time.
Data Source
AI summary
Optimal selection of relevant testing parameters is disclosed. A test parameter data structure that identifies a plurality of test parameters for use with a plurality of different test functions of a test suite is accessed, each test parameter having at least one test value. A parameter usage data structure that identifies for each respective test function a set of test parameters of the plurality of test parameters used by the respective test function is accessed. Each respective test function is initiated a number of times based at least in part on the set of test parameters used by the respective test function.


