Subscribe by Email


Showing posts with label Activity Diagrams. Show all posts
Showing posts with label Activity Diagrams. Show all posts

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. 


Friday, February 25, 2011

How to design conventional components - Graphical Design Notation and Tabular Design Notation

There were some logical constructs developed from which any program could be formed. Each construct has a logical structure. The constructs are sequence, condition, and repetition.
- Sequence implements processing the steps that are essential in the specification of any algorithm.
- Condition provides the facility for selected processing based on some logical occurrence.
- Repetition allows for looping.
Structured programming is a design technique that constrains logic flow to three constructs: sequence, condition and repetition. The structured constructs were supposed to limit the procedural design of software to a small number of predictable operations.

GRAPHICAL DESIGN NOTATION
Activity diagram allows a designer to represent sequence,condition and repetition. Flowchart, like an activity diagram, is quite simple pictorially.
The dogmatic use of only structured constructs can introduce inefficiency when an escape from a set of nested loops or nested conditions is required. Additional complication of all logical tests along the path of escape can hinder the control flow, increase the possibility of error and have a negative impact.
There are two options:
- procedural representation is redesigned so that escape branch is not required at a nested location.
- structured constructs are violated in a controlled manner; that is , a constrained branch out of the nested flow is redesigned.

TABULAR DESIGN NOTATION
Decision tables translates actions and conditions in a tabular form. It is difficult to misinterpret. A decision table is divided into quadrants:
- Upper left quadrant: contains a list of all conditions.
- Lower left quadrant: contains a list of all actions that are possible based on combinations of conditions.
- Right hand quadrant: a matrix that indicates condition combinations and corresponding actions. Each column of matrix may be interpreted as a processing rule.

-


Facebook activity