Mutation Testing Database Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for analyzing test scripts in database function testing lack mechanisms to generate variations of database functions containing specific changes, limiting their applicability and flexibility, and are often database- or vendor-specific, which can lead to incomplete testing and potential errors in production environments.
Innovation Solution
A computer system and method for mutation testing of database functions that automatically generates mutated database functions, deploys them for execution, determines line coverage attributes, and selects tests to validate the accuracy and robustness of test scripts, providing a flexible and adaptable testing environment applicable to multiple databases and test frameworks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automated testing frameworks are used to execute test scripts against database functions, then testing efficiency is improved, but the ability to detect mutations and ensure complete line coverage is insufficient
Solution Approach 1:
The system performs preliminary actions by automatically generating mutated versions of database functions before executing test scripts. This allows the testing framework to proactively identify potential defects by comparing test outcomes against known mutations, thereby enhancing mutation detection capability while maintaining testing efficiency.
Solution Approach 2:
The system implements feedback mechanisms by analyzing test script outcomes against generated mutations and providing detailed reports on line coverage and mutation detection. This feedback loop enables continuous improvement of test script quality and ensures comprehensive coverage without sacrificing testing productivity.
2Device complexity
If existing test analysis systems are used, then testing process is simplified, but applicability is limited to specific databases and vendors
Solution Approach 1:
The system achieves universality by designing a testing framework that can automatically adapt to multiple database vendors and types. The mutation generation and analysis mechanisms are vendor-agnostic, allowing the same system to test database functions across different platforms without requiring vendor-specific configurations, thereby enhancing versatility while maintaining system simplicity.
3Speed
If test scripts are executed without mutation analysis, then execution speed is maintained, but line coverage accuracy cannot be determined
Solution Approach 1:
The system creates copies of the original database functions with introduced mutations, allowing parallel execution of test scripts against both original and mutated versions. This copying approach enables accurate line coverage measurement through comparison without significantly impacting test execution speed, as the mutated versions are generated once and reused across multiple test runs.
Data Source
AI summary
Methods and apparatuses are described for mutation testing of database functions. A computing device identifies database functions for testing from at least one database. The computing device generates, for each identified database function, mutated database functions by automatically applying mutations to the identified database function that change aspects of the identified database function. The computing device deploys the mutated database functions to the at least one database. The computing device determines line coverage attributes associated with each mutated database function. The computing device selects tests for execution against each mutated database function based upon the line coverage attributes associated with each mutated database function. The computing device executes the selected tests against each mutated database function using test automation applications to determine an outcome associated with each test. The computing device generates an output file comprising the outcome associated with each test executed against the mutated database functions.


