Database Test Flapper Detection via Result Inconsistency Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face inaccuracies in testing software applications due to 'flappers' that produce inconsistent test results independent of actual changes, leading to undeterministic results and erroneous attribution of failures.

Innovation Solution

A method is implemented to identify and filter out 'flappers' by rerunning tests multiple times and analyzing inconsistent results, distinguishing between true test failures and flapper errors to provide accurate feedback for developers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are run on a software application, then test coverage is achieved, but test result accuracy deteriorates due to flappers producing inconsistent results

Engineering Contradiction:
Improvetest result accuracyVSAvoidtest result consistency
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by running tests multiple times before final evaluation. Test results are collected across multiple runs, and flapper detection is performed beforehand to identify inconsistent tests. This preliminary multi-run approach allows the system to filter out flappers before making final decisions about software quality, thereby improving test result accuracy while maintaining measurement precision.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple test runs are performed to identify flappers, then test result accuracy improves, but testing time increases

Engineering Contradiction:
Improvetest result accuracyVSAvoidtesting duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by performing a limited number of test runs (e.g., 2-5 runs) rather than exhaustive testing. This partial repetition is sufficient to detect flappers through statistical analysis of result patterns without requiring excessive time investment. The system balances the need for accuracy with time constraints by implementing just enough repetition to identify inconsistent tests.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements feedback mechanisms where test results from multiple runs are analyzed to identify flappers. The feedback loop detects patterns of inconsistency and automatically flags problematic tests. This feedback-driven approach allows the system to adaptively identify flappers without requiring excessive test runs, thereby improving accuracy while minimizing time loss.

Inventive Principle:
Principle #23Feedback

3Reliability

If flapper detection mechanisms are implemented, then test accuracy improves, but system complexity increases

Engineering Contradiction:
Improvetest automation accuracyVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies self-service by automatically detecting and filtering flappers without requiring external intervention or complex manual analysis. The flapper detection mechanism operates autonomously, analyzing test result patterns and identifying inconsistent tests automatically. This self-service approach improves test accuracy while avoiding the complexity burden that would arise from manual flapper identification processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses copying by creating simplified representations of test results across multiple runs. Instead of analyzing raw, complex test data directly, the system creates aggregated result copies that capture essential patterns of consistency or inconsistency. This copying approach simplifies the detection process while maintaining accuracy, reducing system complexity compared to direct analysis of full test datasets.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8583964B2Identifying bugs in a database system environment
Publication Date: 2013.11.12 SALESFORCE INC
  • US8583964B2 patent drawing
  • US8583964B2 patent drawing
  • US8583964B2 patent drawing

AI summary

A system and method for identifying bugs in a database system. In one embodiment, a method includes running a plurality of tests on a software application, and rerunning one or more tests of the plurality of tests. The method also includes identifying one or more bugs in the one or more tests based on inconsistent test results.