SYSTEM TEST CASES FROM USE CASES
Javier J. Gutiérrez, María J. Escalona, Manuel Mejías, Jesús Torres
University of Sevilla, Avd. Reina Mercedes sn. Sevilla, Spain
Keywords: System testing, use cases, generation of test cases.
Abstract: Use cases have become a widely used technique to define the functionality
of a software system. This paper
describes a new, formal and systematic approach for generating system test cases from use cases. This
process has been designed specially for testing the system from the point of view of the actors, through it
graphical user interfaces.
1 INTRODUCTION
System testing is a black-box technique which
verifies the satisfaction of the requirements of the
system under test (SUT) (Burnstein, 2003). Early
testing is the generation of test cases in early
development phases. This is not a new idea. Two
surveys (Denger, 2003) and (Gutiérrez, 2004) (22
different approaches in total) expose that there are
many lacks in the exiting approaches. One lack is
the absence of a formal process and the absence of
free available tools. Another lack is that approaches
are not complete; this means that they describe how
to generate partial test cases, mainly test actions,
without describing other important elements such as
test data, expected result, executable test scripts, or
test coverage.
In a previous work it was described how to
gene
rate test cases from use cases for web
application using existing approaches (Gutiérrez,
2005). This paper tries to resolve both lacks offering
a formal approach for obtain executable test scripts
from use cases. It has been specially designed to be
used in early development phases. It also uses UML
and UML Testing Profile (OMG, 2002) (called
UMLTP from now). Related works may be found in
(Denger, 2003) and (Gutiérrez, 2004).
2 A PROCESS TO GENERATE
TEST CASES FROM USE
CASES
This test process is focused on testing use cases
whose principal actor is human. A test case is
composed of three elements: test action, test values
and expected results. Test actions are the actions
developed by the test case over the system under test
(SUT). Test values are the information needed by
the test case. Expected results are the responses of
the system that allows evaluating whether the test is
satisfied or failed. The results for this process are:
test objectives, a set of test cases to verify each
objective and test scripts. Test cases are expressed
using models and graphical notation defined in
UMLTP when possible.
2.1 Testing Models
The models used to store the information about test
cases are: test objective model, test data model,
interface model and event model.
1. Test objective models.
A test objective is an element nam
ed according to
the description of what should be tested. The
UMLTP does not define any notation to represent
test objectives. Thus, we use activity diagrams.
A test objective is a path through the activity
diagram
. Test objectives might be automatically
extracted from the activity diagram applying a
coverage criterion, like all-edges and all-transitions.
Every test objective will have at least one test case
to verify it. An example is shown in table 4.
2. Test data model.
Test data model describes the structure and values of
th
e test data. The first task is to identify operational
variables (or simply variables) of a use case. An
operational variable is an explicit input or output, an
environmental condition or a representation of the
283
J. Gutiérrez J., J. Escalona M., Mejías M. and Torres J. (2006).
SYSTEM TEST CASES FROM USE CASES.
In Proceedings of the First International Conference on Software and Data Technologies, pages 283-286
DOI: 10.5220/0001309302830286
Copyright
c
SciTePress