IDE Automated Test Subset Execution for Instant Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional integrated development environments (IDEs) often take a long time to provide feedback on code changes due to the need to run an entire test suite after saving and building, which delays unit test feedback for developers.

Innovation Solution

Implement a method where a subset of automated tests is executed in real-time within the IDE when the code is determined to be syntactically valid, excluding long-running tests and those not associated with the edited code, and reporting errors by highlighting the relevant code portions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire test suite is executed after saving and building code, then comprehensive test coverage is achieved, but feedback time is significantly delayed

Engineering Contradiction:
Improvetest coverageVSAvoidfeedback time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the test suite into multiple independent test cases that can be executed individually. Instead of running the entire test suite after every code change, the system identifies and executes only the specific tests relevant to the modified code sections, thereby reducing feedback time while maintaining comprehensive coverage through selective execution

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by executing only the necessary subset of tests related to the edited code rather than the complete test suite. The system determines which tests are relevant based on code location, test associations, and execution history, performing partial testing that is sufficient for immediate feedback without the overhead of running all tests

Inventive Principle:
Principle #16Partial or excessive action

2Loss of time

If automated tests are executed immediately upon code saving, then real-time feedback is provided, but development productivity decreases due to frequent full builds

Engineering Contradiction:
Improvefeedback timeVSAvoiddevelopment efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-configuring test associations with code sections and pre-determining test execution criteria. When code is saved, the system already has metadata about which tests correspond to which code areas, enabling immediate selective test execution without requiring full build processes or manual test selection

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamics by making the test execution strategy adaptive rather than static. The system dynamically determines which tests to run based on the specific code changes detected, the associated test metadata, and execution history, adjusting the test scope in real-time to balance feedback speed with development productivity

Inventive Principle:
Principle #15Dynamics

3Reliability

If all automated tests are run after each code change, then complete validation is achieved, but the feedback loop becomes excessively long

Engineering Contradiction:
Improvevalidation completenessVSAvoidfeedback duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent applies local quality by tailoring the test execution scope to the specific location and nature of code changes. Instead of uniformly running all tests, the system identifies tests locally associated with the modified code sections and executes only those, providing targeted validation that maintains reliability for the affected areas while significantly reducing overall feedback duration

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10235281B2Automated test runs in an integrated development environment system and method
Publication Date: 2019.03.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10235281B2 patent drawing
  • US10235281B2 patent drawing
  • US10235281B2 patent drawing

AI summary

A method, computer program product, and computer system for editing code, by a computing device, via an integrated development environment. The code is determined to be syntactically valid. While editing the code, a subset of automated tests associated with the code is executed in response to determining that the code is syntactically valid. It is determined whether at least one automated test error is detected. The at least one automated test error is reported.