Software Integration Test Necessity Judgment via Feature Model Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvereliability of software component combinationsVSAvoidtime and effort spent in integration tests
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improveadaptability of software product lineVSAvoidlabor involved in integration tests
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8959487B2Method and apparatus for judging necessity of performing integration test
Publication Date: 2015.02.17 DENSO CORP
  • US8959487B2 patent drawing
  • US8959487B2 patent drawing
  • US8959487B2 patent drawing

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).