CS490AM

Fall 2009

Test Generation

From

Combinatorial Designs

 

 

Overview

Combinatorial design is used to generate a small number of test cases for applications with a large number of possible configurations and sub-domains.

Since the combinatorial algorithms take into account only the input space which is independent of implementation, they can be fully automated.

 

In this Lab, your team will use the Telcordia AR Greenhouse Efficient Test Case Generation Service (AETG). AETG is a web-based service that uses combinatorial algorithms to generate a minimal test set, that covers the pairwise interactions among input values.  The goal of this Lab is that you get familiar with test generation using combinatorial design, the AETG software and also learn how you can implement the algorithms learned in class yourself.

 

Bug Tracking software to simulate most of the common operations used in bug tracking.  

 

Exercise

Since the software is web-based, you can do this exercise from any computer.

 

1)     The software we will be using is called AETG.  Read the following to see the basic features and functionality of the software.

             

              To login go to their website:  https://aetgweb.argreenhouse.com/service/

 

              and use the following account:

             

              Username:  cs490m9  

              Password:  purdue9

 

 

2)     Read the following documentation to get familiarized with the steps necessary to use the software:

 

                                    https://aetgweb.argreenhouse.com/service/doc.jsp

 

3)     Using the AETG service complete the following exercises.

 

You are testing a simple checkout system fo the library.  Assume you have the following valid inputs.

 

[Customer:] {Professor, Student, Staff}

[Number of books:] {1,2,3,4,5}

[Classification:]{Reserve, General}

[Subject:]{Fiction, Science, Math}

[Checkout period:] {short, long}

 

a)     Create the test cases and test spec (press the 'View Spec' link at the top to obtain it) for (only) the provided valid inputs.  Calculate the number of exhaustive test cases and compare it with the number of test cases provided by AETG.

 

b)     Add (2) invalid inputs to your model and generate test cases and the test spec.  Compare the number of test cases with those in (a).

 

c)     Add (3) seeds to your test model and generate test cases and the test spec.  Examine the differences between these test cases and (b).

 

d)     Add to your model the following constraints:

·        If the Customer is Student, the maximum number of books is 3.

·        If the Classification is Reserve, then the allowed number of hours is short

·        If the Classification is General, the number of hours is long

·        If the Subject is Fiction, then the book cannot be placed in Reserve

 

Again, generate the test set and test spec.

 

e)     Assume that the library wants to register the checkout time and return time for the loans.

       [Checkout time:] {time}

       [Return time:] {time}

 

   Using  Compound statements, generate test cases for your model of three valid tuples and two invalid tuples.  Remember to add your compound field to the Relations.  Generate the test case and the test spec./p>

 

f) Increase the Generator Properties (Overall Effort and Per-Pair time).  Generate new test cases and compare the results with (e).