Automated Test Failure Analysis Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service automation systems face inefficiencies in analyzing large numbers of automated tests, where testers spend excessive time determining the causes of failed tests, often reviewing redundant results due to similar or previously unaddressed issues, leading to a time-consuming and inefficient process.

Innovation Solution

An algorithm is implemented to detect redundant test failures by analyzing attributes such as messages, stack traces, and screenshots, which are stored in a knowledge base and compared to previous failures, using weight coefficients and similarity metrics like Damerau-Levenshtein distance and Dice coefficient to identify redundant causes and discard them from further analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If testers manually review all failed test results to determine causes, then comprehensive analysis is achieved, but time consumption increases significantly

Engineering Contradiction:
Improveanalysis completenessVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces an intermediary system consisting of a knowledge base and automated analysis algorithm that mediates between the large volume of failed test results and the tester. The knowledge base stores historical failure data and patterns, while the algorithm automatically compares new failures against this stored knowledge, filtering out redundant cases before presenting only unique failures to the tester for manual review.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by allowing the automated test framework to autonomously analyze and categorize its own failure results. The algorithm automatically identifies redundant failures by comparing attributes like error messages, stack traces, and screenshots against the knowledge base, and self-manages the update of the knowledge base with newly identified unique failure patterns, reducing the need for continuous manual intervention.

Inventive Principle:
Principle #25Self-service

2Reliability

If all failed tests are analyzed in detail, then all potential bugs are detected, but redundant analysis of similar failures increases workload

Engineering Contradiction:
Improvebug detection coverageVSAvoidtester efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and separates redundant failure cases from the set of all failed tests by comparing their attributes (error messages, stack traces, screenshots) against stored patterns in the knowledge base. Only the essential unique failures that represent new bug types are extracted for detailed analysis, while redundant instances are automatically identified and set aside, allowing testers to focus on novel issues without repeating analysis of known problems.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If the knowledge base is continuously updated with new failure patterns, then detection accuracy improves, but system complexity increases

Engineering Contradiction:
Improvefailure pattern recognition accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-processing and storing failure patterns in the knowledge base before they are needed for comparison. The knowledge base is proactively updated with new failure patterns as they are discovered, and the algorithm is pre-configured with comparison criteria and attributes. This preliminary organization of data structures and comparison logic simplifies the real-time analysis process, as the system already has structured data ready for efficient matching rather than having to build analysis frameworks during each test run.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10152407B1Optimization of analysis of automated test results
Publication Date: 2018.12.11 CLOUDBLUE LLC
  • US10152407B1 patent drawing
  • US10152407B1 patent drawing
  • US10152407B1 patent drawing

AI summary

A large number of tests are performed on a service automation system. An algorithm for detecting redundant test failures is provided. Each failed automated test has a set of attributes that allow for determining a degree of similarity with previous failed tests. Each failed test generates an exception containing a message and a stack trace. A message, a stack trace, a screenshot and other attributes produced by the test at the point of failure are included into a knowledge base of failed tests. This data can be analyzed for determining a cause of the test failures. The actual cause, once determined, is saved into a database and linked to a particular test failure. In order to find the redundant test failures, the attributes of a current test failure are compared to corresponding attributes of the previous test failures. The redundant test results and their causes are discarded from further test analysis.