Subscribe by Email

## Thursday, July 5, 2012

### Describe test design techniques like: State-transition diagrams, Decision tables, Activity diagrams.

The testing of the software systems or applications apart from the human labor is aided by a variety of testing techniques. In this article we are going to discuss about three of such software testing techniques mentioned below:
1. State transition diagrams,
2. Decision tables and
3. Activity diagrams.
1. Test Design Technique - State transition diagrams
- These are some kind of diagrams that give a detailed description of the behavior of the software systems and applications.
- The basic condition for the state transition diagrams is that the description of the software system or application should be composed of a particular number of states and employ a reasonable abstraction.
- There are various forms of state diagrams and all of them differ with each other in respect of their semantics.
- However, the description provided by the state diagrams is quite concise and represents only an abstract view.
- The behavior of the software system or application is first analyzed and represented in series of events that could take place in one or more possible states.
- Each diagram provides a visual representation of the objects belonging to a particular class and the different states of the objects spread through out the software system or application can be tracked.
- Also, the finite state machines can be represented graphically by the state transition diagrams. - The use of state diagrams under the concept of finite machines was introduced by C.E. Shannon and W. Weaver.

“Directed form” is the most classic form of the state transition diagrams for a finite automation (FA) or finite state machine. It consists of the following elements:
(i) Vertices: a finite set of states which are represented by circles bearing a unique designator   label.
(ii) Input symbols: a finite collection of input designators.
(iii) Output symbols: a finite collection of output designators.
(iv) Edges: meant to represent the state transitions.
(v) Start state
(vi) Accepting state

2. Test Design Technique : Decision Tables
- This test design technique represents a compact way to model complicated logic by associating the conditions with the actions that have to be performed.
- The decision tables consists of 4 quadrants as stated below:
(i) Conditions
(ii) Condition alternatives
(iii) Actions
(iv) Action entries
- Each decision in a decision table corresponds to a variable, predicate and relation whose possible values are stated in a list among the condition alternatives.
- Each action is equivalent to procedures or operations that are to be performed.
- The actions to be performed are specified by the entries made.
- The decision tables are known to vary widely according to the way in which the conditions alter and also according to the representation of the action entries.
- Most of the decision tables make use of the simple true or false values that are used to represent the alternatives to the conditions stated in it.

3. Test Design Technique : Activity Diagrams
- This is another graphical aid that represents the work flows of step wise actions and activities along with aspects like choice, concurrency and iteration.
- Usually these diagrams make use of the unified modelling language to provide a description of the operational and business step by step work flows of the components of a software system or application.
It constitutes of some basic shapes like:
(i)  Diamonds: represent decisions.
(ii) Black circles: represent the start of the activity.
(iii)Encircled black circles: represent the end of the activity.
(iv)Rounded rectangles: represent activities.
(v) Bars: represent start (split) or end (join) of the activities that are concurrent.