Test Case Ranking via Neural Vector Similarity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software testing techniques require executing a large number of test cases, which can take several days or weeks, causing significant delays and resource consumption, as they execute test cases in arbitrary order without prioritizing potential failures.

Innovation Solution

An online system ranks test cases based on their likelihood of failure using a machine learning-based neural network that determines vector representations of modified files and test cases, executing those likely to fail first, thereby providing early indication of defects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a large number of test cases are executed to ensure software quality, then reliability is improved, but testing time increases significantly

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of modified files and predicts which test cases are likely to fail before execution. By pre-ranking test cases based on failure probability, the system ensures that high-priority tests run first, providing early indication of defects without requiring all test cases to complete

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the execution order parameter of test cases from arbitrary to priority-based ranking. By using machine learning models to predict failure likelihood and adjusting the execution sequence accordingly, the system maintains reliability while reducing overall testing time

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If all test cases are executed to detect defects, then measurement precision is improved, but productivity decreases

Engineering Contradiction:
Improvedefect detection accuracyVSAvoidsoftware development speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary prediction of test case failure likelihood using modified file analysis and machine learning models. This pre-assessment allows the system to identify high-probability failure cases before execution, ensuring focused defect detection

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system executes only the necessary portion of test cases by stopping early when high-probability failure cases are identified. By ranking and executing test cases in order of predicted failure likelihood, the system achieves adequate defect detection without requiring complete execution of all test cases

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If test cases are executed in arbitrary order, then device complexity is reduced, but loss of time increases

Engineering Contradiction:
Improvetesting system complexityVSAvoidtesting duration
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of modified files and predicts test case failure likelihood before execution. By pre-ranking test cases based on predicted failure probability, the system optimizes execution order without requiring complex real-time adjustments during testing

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10474562B2Machine learning based ranking of test cases for software development
Publication Date: 2019.11.12 SALESFORCE INC
  • US10474562B2 patent drawing
  • US10474562B2 patent drawing
  • US10474562B2 patent drawing

AI summary

An online system ranks test cases run in connection with check-in of sets of software files in a software repository. The online system ranks the test cases higher if they are more likely to fail as a result of defects in the set of files being checked in. Accordingly, the online system informs software developers of potential defects in the files being checked in early without having to run the complete suite of test cases. The online system determines a vector representation of the files and test cases based on a neural network. The online system determines an aggregate vector representation of the set of files. The online system determines a measure of similarity between the test cases and the aggregate vector representation of the set of files. The online system ranks the test cases based on the measures of similarity of the test cases.