Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
data_design_ide [2021/02/10 01:38] admin [DEFINE] |
data_design_ide [2021/02/14 02:43] (current) admin [SCRIPT] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Data Design IDE ===== | + | ====== Data Design IDE ====== |
//Data Design IDE// is the development and execution (automation) of combinatorial test design models. This is typically used to generate a set of minimal permutations of variables to achieve the desired coverage using [[Combinatorial Algorithms| Combinatorial Testing]]. | //Data Design IDE// is the development and execution (automation) of combinatorial test design models. This is typically used to generate a set of minimal permutations of variables to achieve the desired coverage using [[Combinatorial Algorithms| Combinatorial Testing]]. | ||
Line 15: | Line 15: | ||
- | ==== DEFINE ==== | + | ===== DEFINE |
{{wiki: | {{wiki: | ||
- | === Variables === | + | ==== Variables |
In //DEFINE//, you define the testing variables as well as the expected result variables. | In //DEFINE//, you define the testing variables as well as the expected result variables. | ||
* //Variable Name// - variables must have unique names and preferably legal java variable names | * //Variable Name// - variables must have unique names and preferably legal java variable names | ||
* //Data Type// - appropriate data type must be selected especially if the variables are referenced by //Derived// variables | * //Data Type// - appropriate data type must be selected especially if the variables are referenced by //Derived// variables | ||
- | * //Domain Values// - a list of discrete values to be used to generate (populate) [[#DataTable]] or groovy/java expression if //Derived// is checked | + | * //Domain Values// - a list of discrete values to be used to generate (populate) [[#GENERATE]] or groovy/java expression if //Derived// is checked |
* //Derived// - check this box if the value of the variable depends on values of other variables. | * //Derived// - check this box if the value of the variable depends on values of other variables. | ||
* // | * // | ||
- | == Domain Expression == | + | === Domain Expression |
Domain values for non-// | Domain values for non-// | ||
For //Derived// variables, //Domain// must have exactly one value, which can be static value or //groovy// expression. Below is a simple example to calculate the insurance premium credit of $100 given to good student age < 20: | For //Derived// variables, //Domain// must have exactly one value, which can be static value or //groovy// expression. Below is a simple example to calculate the insurance premium credit of $100 given to good student age < 20: | ||
- | (Age < 20 && GoodStudentStatus | + | (Age < 20 && GoodStudentStatus)? |
+ | You may use plugin reference in //Domain// value/ | ||
- | You may use plugin reference | + | |
+ | | ||
+ | | ||
+ | |||
+ | For more complex scenario: | ||
+ | | ||
+ | |||
+ | where order1Obj is a groovy/java object that is defined/ | ||
+ | |||
+ | Use [blank] to encode blank string and [null] for null string/object. | ||
- | === Constraints / Rules === | + | ==== Constraints / Rules ==== |
When designing test data using combinatorial testing techniques, we often need to remove or avoid certain combinations as they are either unfeasible or unnecessary for whatever reason. | When designing test data using combinatorial testing techniques, we often need to remove or avoid certain combinations as they are either unfeasible or unnecessary for whatever reason. | ||
Line 48: | Line 58: | ||
- | The // | + | The // |
| | ||
Line 83: | Line 93: | ||
---- | ---- | ||
- | ==== GENERATE ==== | + | ===== GENERATE |
{{wiki: | {{wiki: | ||
Line 101: | Line 111: | ||
Be aware that any changes to // | Be aware that any changes to // | ||
- | === Mixed Strengths === | + | ==== Mixed Strengths |
By default, //Overall Strength// applies to all variables excluding //Derived// variables. In cases you wish to apply more rigorous testing than other variables. | By default, //Overall Strength// applies to all variables excluding //Derived// variables. In cases you wish to apply more rigorous testing than other variables. | ||
{{wiki: | {{wiki: | ||
+ | |||
+ | After selecting //Mixed// strength, section //Variable Interaction (Mixed Overall Strength only)// appears. | ||
+ | |||
---- | ---- | ||
- | ==== SCRIPT ==== | + | ===== SCRIPT |
{{wiki: | {{wiki: | ||
Line 116: | Line 129: | ||
Refer to [[ide_script | Script Editor ]] for more information about this script editor. | Refer to [[ide_script | Script Editor ]] for more information about this script editor. | ||
+ | |||
+ | There are two types of scripts: //MAIN// and //DATA//. | ||
+ | |||
+ | //MAIN// script is the main program which executes the test cases. | ||
+ | |||
+ | //DATA// script is used to instantiate and create objects (groovy/ | ||
+ | For example, you may create a purchase order object to be posted to REST api: | ||
+ | | ||
+ | |||
+ | The order object " | ||
+ | | ||
+ | |||
+ | //INIT// script is for initialization of variables, e.g. environment, | ||
---- | ---- | ||
- | ==== EXECUTE ==== | + | |
+ | ===== EXECUTE | ||
{{wiki: | {{wiki: | ||
Line 127: | Line 154: | ||
The executions currently are not counted in Dashboard stats. | The executions currently are not counted in Dashboard stats. | ||
+ | |||
+ | Executions can be archived/ | ||
+ | |||
+ | Historical executions can be accessed by clicking on //Past// link. |