Software Integration Test Necessity Judgment via Feature Model Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing number of software components in a software product line leads to significant time and effort expenditure in integration tests, making it necessary to develop a method to determine the necessity of performing integration tests efficiently.
Innovation Solution
A method and apparatus that utilize feature models to generate specific judgment formulas based on state variables, allowing for logical evaluation of integration test necessity without referring to the feature model, thereby reducing unnecessary tests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If integration tests are performed for all two-component combinations of n software components, then the reliability of software component combinations is improved, but the time and effort spent in integration tests increases significantly
Solution Approach 1:
The patent segments the integration testing process by dividing all possible component combinations into two groups: those requiring integration tests and those that do not. This is achieved by analyzing feature models to identify mutually exclusive feature combinations, thereby segmenting the testing scope and eliminating unnecessary tests while maintaining reliability for valid combinations.
Solution Approach 2:
Instead of performing integration tests for all possible component combinations (excessive action), the patent applies partial action by selectively testing only those combinations that are not mutually exclusive according to the feature model. This reduces the testing scope to the necessary minimum while ensuring reliability for valid configurations.
2Adaptability or versatility
If the number of software components available as core assets is increased, then the adaptability and versatility of the software product line is improved, but the labor involved in integration tests increases significantly
Solution Approach 1:
The patent performs preliminary analysis of the feature model before integration testing to identify mutually exclusive feature combinations. By pre-determining which component combinations are invalid based on feature constraints, the system eliminates unnecessary integration tests in advance, thereby reducing labor as the number of software components increases while maintaining adaptability.
Solution Approach 2:
The feature model serves as an intermediary that mediates between the set of available software components and the integration testing process. It provides constraint information that automatically determines which component combinations require testing, thereby reducing manual labor and simplifying the testing process as the component library grows.
Data Source
AI summary
Whether or not an integration test between or among software components is necessary is judged. Corresponding information between features is acquired, which configures a feature model expressing characteristics of a group of products produced by the software product line, and a type and variations of each software component. For each software component, a set of state variables of all of the features corresponding to the software components is produced based on the corresponding information. For each software component, a specific logical formula is produced. Two or more software components are designated. A necessity judgment formula is produced by logical-product combining all the specific judgment formulas, for the software components designated. It is judged that the integration test is necessary when the necessity judgment formula always shows FALSE (inconsistent formula) and not necessary when the necessity judgment formula shows unclearness as to TRUE or FALSE, or always shows TRUE (valid formula).


