Prev: Command that runs at DOS prompt does not run when using X command
Next: A Complex marging Issue - Please be kind enough to take a look at
From: Anaconda on 9 Mar 2010 15:42 I do have a program that I am going to make a test plan for. The program has many input variables, and each variable may have many values. Altogether there are 203 values to be tested. The values can occur in combinations. I want to design test cases for pariwise testing, so that each value occurs in combination with any other value just once. This design is said to be efficient, because it is a practical way to reduce the amount of combinations without loosing too much of the chance to detect error in the program. I imagine a suitable result would be a dataset with a variable for each value to test, and an 'X' for instance as field value for the values that are choosen for each testcase. The records in the dataset will then represent the testcases. Alternatively, the values could be in the left bar, and the column represent the testcases? Can these be interchanged by using proc transpose? I don't know which layout I prefer. Has anyone done a similar thing before? Could you show me a solution for how to write the code if we try to keep it simle by limiting the number of values to be tested to 8? If I am not mistaken, I thing that should give 4 testcases. Regards, Anaconda
From: Anaconda on 19 Mar 2010 11:50 Since I have got no response to this posting, I will explain it a little more by visualizing it. In this example, there are 3 input variables which are going to be tested: S_ds_A, S_ds_B and S_ds_C. Each of these variables has two values. The values within each variable exclude each other mutually. The following is the situation for the design when a cartesian product is followed: Variable name S_ds_A S_ds_A | S_ds_B S_ds_B | S_ds_C S_ds_C Variable value S_ds_AA S_ds_AB | S_ds_BA S_ds_BB | S_ds_CA S_ds_CB ----------------------------------------------------------------------------------------------------------------------------------- Testcase 1 X | X | X Testcase 2 X | X | X Testcase 3 X | X | X Testcase 4 X | X | X Testcase 5 X | X | X Testcase 6 X | X | X Testcase 7 X | X | X Testcase 8 X | X | X -------------------------------------------------------------------------------------------------------------------------------------- And this is how the testdesign will look like when pairwise testing is used: Variable name S_ds_A S_ds_A | S_ds_B S_ds_B | S_ds_C S_ds_C Variable value S_ds_AA S_ds_AB | S_ds_BA S_ds_BB | S_ds_CA S_ds_CB ----------------------------------------------------------------------------------------------------------------------------------- Testcase 1 X | X | X Testcase 2 X | X | X Testcase 5 X | X | X Testcase 8 X | X | X -------------------------------------------------------------------------------------------------------------------------------------- We see that by using pairwise testing, the number of testcases are reduced from 8 to 4. The challenge is to create a table like the last as a SAS table. The solution should not be hard-coded. SAS need to know which input variables are going to be tested, and what values (options) which are possible within each variable. May be the dictionary tables can be used to tell SAS these things. For me this looks like one of the hardest programming nuts I have ever posted to this group. Thanks in advance, - Anaconda
From: Anaconda on 19 Mar 2010 11:56
The drawing doesn't look quite easy in the web, but then try to move the text so that the bars ('|') are placed right below each other. - Anaconda On Mar 19, 4:50 pm, Anaconda <r...(a)fastlane.no> wrote: > Since I have got no response to this posting, I will explain it a > little more by visualizing it. > In this example, there are 3 input variables which are going to be > tested: S_ds_A, S_ds_B and S_ds_C. > Each of these variables has two values. The values within each > variable exclude each other mutually. > > The following is the situation for the design when a cartesian product > is followed: > > Variable name S_ds_A S_ds_A | S_ds_B S_ds_B | S_ds_C > S_ds_C > Variable value S_ds_AA S_ds_AB | S_ds_BA S_ds_BB | S_ds_CA > S_ds_CB > --------------------------------------------------------------------------- -------------------------------------------------------- > Testcase 1 X | > X | X > Testcase 2 X | > X | X > Testcase 3 X > | X | X > Testcase 4 X > | X | X > Testcase 5 X | > X | X > Testcase 6 X | > X | X > Testcase 7 X > | X | X > Testcase 8 X > | X | X > --------------------------------------------------------------------------- ----------------------------------------------------------- > > And this is how the testdesign will look like when pairwise testing is > used: > > Variable name S_ds_A S_ds_A | S_ds_B S_ds_B | S_ds_C > S_ds_C > Variable value S_ds_AA S_ds_AB | S_ds_BA S_ds_BB | S_ds_CA > S_ds_CB > --------------------------------------------------------------------------- -------------------------------------------------------- > Testcase 1 X | > X | X > Testcase 2 X > | X | X > Testcase 5 X | > X | X > Testcase 8 X > | X | X > --------------------------------------------------------------------------- ----------------------------------------------------------- > > We see that by using pairwise testing, the number of testcases are > reduced from 8 to 4. > The challenge is to create a table like the last as a SAS table. > The solution should not be hard-coded. SAS need to know which input > variables are going to be tested, and what values (options) which are > possible within each variable. May be the dictionary tables can be > used to tell SAS these things. > > For me this looks like one of the hardest programming nuts I have ever > posted to this group. > > Thanks in advance, > - Anaconda |