DataGenerator icon indicating copy to clipboard operation
DataGenerator copied to clipboard

Let's create real Equivalence classes

Open yukaReal opened this issue 10 years ago • 3 comments

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'

yukaReal avatar Feb 06 '15 20:02 yukaReal

I implemented Date

mauricio1990silva avatar Mar 23 '15 19:03 mauricio1990silva

@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

bryantrobbins avatar Aug 14 '15 13:08 bryantrobbins

#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.

bryantrobbins avatar Oct 16 '15 13:10 bryantrobbins