1. Introduction
Extensive and efficient testing is very important to ensure
software quality. In many projects the costs for testing represent 25-50% of
the overall project costs. It can be said that testing is not a very favored
task. The first step to reduce the effort for testing is to use testing tools
that execute tests automatically. But the necessary test cases are usually
created manually requiring the tester to think about the usage and the behavior
of the system, a task he or another person has already done in the requirements
analysis phase of the software development.
This doubled work can be avoided when the test cases for
black-box-testing are derived from the use case models and the class models.
These models are available as products of the requirements analysis phase of
the software development. During the development, of a software system there
are other kinds of testing that have to be carried out. Usually, these tests
examine just parts of the system and take internal details into account or they
are intended to find the location of errors. These tests are outside the scope
of this paper because the test cases for these tests cannot be derived from
specification models alone. Taking the specification models as the basis for
tests has the positive side effect that more attention is paid to keep the
models complete and Up-to-date. Another advantage is that testing can start in
very early phases of the development process, which is important for
incremental development and allows shortening the time to delivery. Furthermore
the software quality is raised because the system is tested with respect to the
explicitly stated user requirements.
2. Statistical Usage Testing
A usage model is like a state machine, i.e. directed usage
graph consisting of states and transitions, the extension that every state
transition is attributed with probability that this transition will be
traversed from which the transition arc starts. Hence every state the
probabilities of Outgoing transitions sum one. Every transition can be related
to an event (possibly parameters), which triggers that transition.
A transition with an associated event may also be related to
a guard condition. This means that the transition is only performed if the
condition is fulfilled by the event parameter value. There are three approaches
to assign transition probabilities. In the uninformed approach all exit arcs of
a state have the probability. The informed approach uses sample user event
sequences captured from a prototype or a prior version of the system to
calculate suitable probabilities. The intended approach allow to model
hypothetic users or to shift the test focus certain states or transitions..
3. System Specification with UML
1. The Use case model to describe the system behavior:
2. The domain class model to describe which kind of real-life
objects are represented in the system and what of their attributes, operations
and relations (i.e. links) to other objects are relevant for the intended
purpose of the system.
This distinction between dynamic and static aspects in the
system description is carried over to the notion of state. The overall state of
a system is made up of the execution state, which tells what step of a Use case
is currently being executed and of the data state which tells what data are
stored in the system The data state is made up of the system data state which
is persistent between use case executions and the use case data state which is
local to the executed use case and hence transient
The UML standard defines only a very top-level structure to
describe use cases, which allows only defining use cases as named entities with
a textual description. It’s common to write use case descriptions in a slightly
more structured Form, e.g. in tabular or tree form
Abstract
This Article shows a way to derive test cases for system
level black-box-testing from the spec fiction models already elaborated in the
requirements analysis phase. The basis for this process is the UML .we case model
It provides a good way to describe both
the interaction with the user and the system behavior-, The concept of a text
template driven structure editor is presented Such an editor can be used to
construct formalized use case description in a user friendly way According to
the principles of the already known statistical usage testing which aims of at
statement about the fitness of the system for the intended purpose the most
likely usage scenarios are chosen as test cases. It is shown how the Markov
property of the system description can be preserved in the case of data
dependent system behavior