Automated Database Testing via Composite Test Definitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As software complexity increases, testing becomes daunting due to the vast number of possible combinations of software features, leading to difficulties in thoroughly testing database software to identify errors or bugs.

Innovation Solution

The solution involves automated techniques for creating composite tests by combining test definitions of different database features, allowing for the execution of these tests by a database and providing tools for analyzing test results to identify potential errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing of all software feature combinations is performed, then software reliability is improved, but device complexity and testing effort increase exponentially

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the testing process into multiple phases: unit testing of individual features, integration testing of feature combinations, and system testing. Test cases are divided into manageable units that can be executed independently and then combined, transforming an exponentially complex testing problem into a structured, phased approach that reduces overall testing complexity while maintaining comprehensive coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary testing of individual software features and their basic combinations before conducting full integration testing. By pre-identifying and testing common feature combinations and data scenarios in advance, the system reduces the complexity of subsequent comprehensive testing while ensuring critical paths are validated early in the development cycle

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive testing of all software feature combinations is performed, then software reliability is improved, but loss of time increases

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

Solution Approach 1:

The patent implements periodic testing cycles where software is tested at regular intervals during development and deployment. Multiple rounds of testing are performed with increasing scope, allowing early detection of critical issues in shorter timeframes while maintaining comprehensive coverage over the software lifecycle, thereby reducing total testing time compared to attempting all tests simultaneously

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent prioritizes testing of critical feature combinations and high-risk scenarios first, performing partial testing of less critical paths. By focusing testing effort on the most important software functions and their interactions, the system achieves acceptable reliability levels in reduced time while maintaining the option to perform additional testing if needed

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If automated testing is implemented to reduce manual effort, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvetesting productivityVSAvoidtesting system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal automated testing framework that can execute multiple types of tests (unit tests, integration tests, regression tests) across different software features and combinations through a single system. This multi-functional approach increases productivity by eliminating the need for separate manual testing processes while managing complexity through a consolidated, standardized testing infrastructure

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12210442B2Automated testing of database commands
Publication Date: 2025.01.28 SAP SE
  • US12210442B2 patent drawing
  • US12210442B2 patent drawing
  • US12210442B2 patent drawing

AI summary

Techniques and solutions are provided for database testing. In particular, aspects of the present disclosure facilitate “automatic exploration” of testing of database features, such as database commands. In particular, test definitions can be created for particular database features, where a test definition can have variants. Different test definitions can be combined into a composite test, which can include different variants for different tests. An executable test can be created that allows a database to execute a composite test. The present disclose also provides techniques and solutions for analyzing test results, particularly when voluminous test results are returned. In one example, test results for multiple iterations of a test can be compared. A change in test results, for example, can cause a test result to be flagged for further review. The composite tests, or result analysis techniques, can help provide better testing of database software to help identify software errors/bugs.