Subscribe by Email


Showing posts with label Decision Tables. Show all posts
Showing posts with label Decision Tables. 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. 


Monday, July 25, 2011

Designing Conventional Components- Graphical Design Notation and Tabular Design Notation

A set of constrained logical constructs that emphasize on maintenance of functional domain are used for designing conventional components. These logical constructs are sequence, condition, and repetition. Structured programming is a design technique that constrains logic flow to three constructs: sequence, condition, and repetition. These structured constructs help in reducing the complexity of the program and enhances readability, test ability and maintainability.

GRAPHICAL DESIGN NOTATION
- Activity diagram is a descendant of flowchart in which all elements of structured programming are represented.
- In a flowchart, each step in the process is represented by a different symbol and contains a short description of the process step.
- Structured programming constructs should make it easier to understand the design. If unnecessary complexity is introduced by using them without violation, it is better ti violate them.
- Dogmatic use of structured constructs introduces inefficiency.

TABULAR DESIGN NOTATION
- Decision tables translates actions and conditions into a tabular form.
- A decision table is used when a complex set of conditions and actions are encountered within a component.
- Decision table is divided into four quadrants. Upper left quadrant lists all conditions. Lower left quadrant lists all actions. Right hand quadrants form a matrix indicating condition combinations and corresponding actions


Tuesday, May 31, 2011

What are different startegies for black box testing?

Writing and executing test cases is an expensive task. Whatever test case is written, it should hint towards a different mode of failure. Testing strategies for black box testing are:
- Customer Requirements tests
Requirements are very important for black box testing. Each and every customer requirement should be tested. To do this, every requirement is traced to its test case and every test case to its customer requirement. The first test case is to write a most used success path ( a path that is error condition free) and proceed by planning more success paths. Some failure paths (a path that has errors in it) are also planned. Execution of tests is done so that risky requirements are tested first. It would give more time to fix the errors before the product delivery.

- Equivalence Partitioning
It is a strategy that reduces the number of test cases that are needed to be developed. The input domain is divided into classes. Test cases should be designed so that the inputs lie within these equivalence classes. For each equivalence class, set of data should be treated same by the module under test and should produce same result.

- Boundary Value Analysis
Mistakes generally occur at boundaries of the equivalence classes. Boundary value analysis guides you to create test cases at the boundaries of equivalence classes. Boundary value is defined as a value that relates to a minimum or maximum input.

- Decision Table Testing
To record business rules, decision tables are used. In decision tables, conditions represents input conditions, actions represent events that should trigger. Each column in table is a unique combination of input condition resulting in initiating an action associated with rule. Each rule or column becomes a test case.

- Failure Test Cases
The program or the application should be robust which means that it should respond properly in case or erroneous user input.


Facebook activity