Model-Based Test Template Generation with User Constraint Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods rely heavily on fully automated or manual test case generation, which can lead to fragile, error-prone, and impractical approaches due to hard-coded test values, making it difficult to adapt to software changes and ensuring data consistency between test flows and test data.
Innovation Solution
A computer-implemented method for generating verified software application tests using a model-based approach that automatically generates test templates with data input fields and constraints, allowing user input validation and adjustment to meet these constraints, thereby ensuring consistent and reliable test data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If fully automated test case generation is used, then productivity is improved, but reliability deteriorates due to hard-coded test values and data inconsistency
Solution Approach 1:
The patent segments test data into two distinct components: test flows (test logic and structure) and test data values (concrete data). This segmentation allows automated generation of test flows while enabling separate manual or automated provision of test data values, thereby maintaining data consistency without sacrificing automation benefits.
Solution Approach 2:
The patent introduces test data models as an intermediary layer between test flows and actual test data values. These models define constraints and validation rules that ensure data consistency, acting as a mediator that reconciles automated test generation with reliable data provision.
2Reliability
If manual test case generation is used, then reliability is improved through user control, but productivity deteriorates due to manual effort
Solution Approach 1:
The patent applies partial automation where test flows are generated automatically but test data values can be provided manually or semi-automatically. This partial action approach maintains user control over critical data aspects while automating repetitive test flow generation, balancing reliability and productivity.
3Ease of operation
If hard-coded test values are used, then ease of operation is improved, but adaptability deteriorates when software changes
Solution Approach 1:
The patent transforms static hard-coded test values into dynamic test data values that can be independently modified through test data models. This dynamic approach allows test data to be updated without changing test flow code, enabling easy adaptation to software changes while maintaining operational simplicity.
4Adaptability or versatility
If test code rewriting is required for software changes, then adaptability is improved, but loss of time increases
Solution Approach 1:
The patent extracts test data values from test flow code into separate test data models. This extraction eliminates the need to rewrite test code when software changes occur, as only the independent test data values need to be updated, significantly reducing maintenance time while preserving adaptability.
Data Source
AI summary
There is provided a computer-implemented method for generating verified software application tests, the method comprising: acquiring a computer readable model representing a functionality of a software application to be tested; generating, based at least partly on the model, a test template for generating a plurality of verified software application tests, the test template comprising a plurality of data input fields for data values and defining data value constraints for the data values; obtaining user data input regarding a data input field; determining whether said user data input defines a data value of the data input field according to the data value constraints; in response to determining that said user data input does not define a data value according to the data value constraints, adjusting one or more data values of the test template such that said data value constraints are met; and generating, based on the test template, at least one software application test meeting the data value constraints.


