Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ide_dataset [2020/05/03 03:58]
admin created
ide_dataset [2021/01/05 03:00] (current)
Line 1: Line 1:
 ===== IDE DataSet Editor ===== ===== IDE DataSet Editor =====
-//IDE DataSet Editor// allows you to create and edit the //dataset// for a state or transition.  The //dataset// can then be used in //TRIGGER Script// to perform //Data-Driven Testing (DDT)//+//IDE DataSet Editor// allows you to create and edit the //dataset// for a state or transition.  The //dataset// can then be used in //TRIGGER Script// to perform //Data-Driven Testing (DDT)// and [[Combinatorial Algorithms| Combinatorial Testing]].
  
 It supports combinatorial test generation algorithms including //Pairwise// algorithm. For more advanced data generation. It supports combinatorial test generation algorithms including //Pairwise// algorithm. For more advanced data generation.
  
-{{ wiki:idescreen:ide_dataset.png }}+{{wiki:idescreen:ide_dataset.png}} 
 + 
 +---- 
 +==== Create DataSet ==== 
 +To create a dataset, click on "+" mini-button. The dataset is created with a default name, proceed to rename the dataset. 
 + 
 +New dataset created is automatically added to the dataset drop-down list for {{wiki:idescreen:ide_model_stateprop.png?linkonly | State Properties}} and {{wiki:idescreen:ide_model_transprop.png?linkonly | Transition Properties}}. 
 + 
 +Dataset is assigned to state and transition by name. If dataset is renamed after it's assigned to a state or transition, you must re-assign the dataset to those states and transitions. 
 + 
 +---- 
 + 
 +==== Define Variables ==== 
 +Variables are used by {{https://csrc.nist.gov/projects/automated-combinatorial-testing-for-software | Combinatorial Algorithm}} to [[#Generate DataTable]]. 
 + 
 +  * //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 
 +  * //Domain Values// - a list of discrete values to be used to generate (populate) [[#DataTable]] or groovy/java expression if //Derived// is checked 
 +  * //Derived// - check this box to exclude the variable from participating in the data generation.  For example the variables you will use to validate result or variables that can be derived from other variables.  If you  
 +  * //Coupling// - used to couple / tie this variable to another variable. For example CreditCardType and CreditCardNumber should be coupled together as CreditCardNumber for VISA must match CreditCardType of VISA. Variables coupled together must have the same number of //Domain// values. 
 + 
 + 
 +---- 
 + 
 +====Generate DataTable==== 
 +//DataTable// displays the output of the execution of [[#Combinatorial Algorithm]]. 
 + 
 +To generate //DataTable//, select an algorithm from //Overall Strength// drop-down list and click start button next to it. 
 +    * pairwise 
 +    * 3-wise 
 +    * 4-wise 
 +    * 5-wise 
 +    * 6-wise 
 + 
 +You may customize /edit //DataTable// under exceptional cases.   
 +  * remove rows - invalid permutations (rows) 
 +  * add rows - additional required permutations 
 +  * edit values - change value, usually done for derived variables 
 + 
 +Be aware that any changes to //DataTable// will affect the coverage, and the changes made will be lost next time //DataTable// is re-generated. 
 + 
 +---- 
 +==== Usage ==== 
 +Dataset can be assigned to a state or transition. They are automatically incorporated into the test sequence generation to ensure transitions are traversed enough times to go through all rows in the dataset.  
 + 
 +The rows in the dataset are retrieved and used as the states and transitions are traversed.  You can access the data fields on the current row in any of the state and transition //TRIGGER// 
 +   $SYS.getData('fieldName'
 + 
 +To access the dataset outside the state/transition that dataset was assigned, use the following syntax instead: 
 +   $SYS.getDataSet('myDataSet').getData('fieldName'
 +    
 +