Thursday, April 15, 2010


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

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