DataGenerator
DataGenerator copied to clipboard
Let's create real Equivalence classes
Now we have 'Equivalence classes' more like canned macros. We need real Equivalence classes.
For most common data type like:
- Date
- Text
- Number
- Notes
- ?
All these classes need at least:
- length
- level
By level I mean testing level like: 'min', 'normal' and 'max'. 'Normal' will extend 'min'. 'Max' will extend 'normal'
I implemented Date
@vbriabrin also taking a look at this.
Open question: how would this support be leveraged from models? Leveraging macros is straightforward from a model like SCXML. Can flags/options be added to macros to support boundary values or other Equivalence Class-like features?
Another use case is using DG to generate input data for DB schemas, so covering basic SQL data types with these features would be helpful.
CC: @mpeter28
#247 covers "boundary value" generation from macros.
To clarify some terms around this:
- The SCXML tool generates one or more datasets.
- Each dataset has one or more variables, and each variable has one value.
- We now have "equivalence class macros" which can be used to define equivalence classes (single classes).
- The macro defines a class, and one randomly chosen value from the class will be used as the value for one variable per dataset, assigned according to the model.
What is being requested here is support for auto-generated equivalence classes, such as what a tester would create when performing equivalence class partitioning (defining boundary values, positive cases, negative cases, etc. for each variable).
We need to do some brainstorming about the right way to do this:
- Is it an alternative running mode for generic models? Only SCXML models?
- Is this a separate tool altogether?
- Is this a feature for the website?
- Is this a preprocessor/custom tags for SCXML (to populate equivalence classes THEN generate)?
Please come back with thoughts, and maybe break into additional tickets.
dg-commons may be the right place to implement some of this logic.