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