Arunkumar Khannur's Software Testing Knowledge Center
   
 

6.8 Data Flowgraph Testing Techniques

In data flowgraph representation, major components in a system shall be identified, processes in each component shall be identified, data flows emanating from each process shall be identified, and data stores that capture or provide static data also need to be identified, and finally data flowgraph shall be created. Using this data flowgraph, the Data flows and Data structures shall be identified so as to arrive at test cases. Finally, arrive at the high level test scenarios from the Inbound and Outbound workflows. These steps are performed in a very systematic way using following steps:

  • Step 1: Study the design specification or problem specification and arrive at Data flowgraph.
  • Step 2: Arrive at Data Flowgraph to Represent Navigation of Processing
  • Step 3: Defining Data Flow Anomaly State Graph
  • Step 4: Arrive at the High level test scenarios from the Inbound and Outbound workflows.
  • Step 5: Study the above High Level Scenarios and Write Test Cases to Validate Data
We illustrate these steps for a following problem.

6.8.1 Problem Description

ABC Ltd. is a cable manufacturing company. The company manufactures various types of cables based on the parameters specified by the customer. The customer may place the order for single type or multiple types of cables in a single order. When an order is received from the customer, the company evaluates order data for accuracy and it also checks the status of the customer account. If the order has full details required and status of the customer account is acceptable, then the current price is taken into consideration and the order is approved from the Management. This approval is communicated to the customer with price details. In case of failures in any of the above stages, the Management does not approve the order and the same is conveyed to the customer.

Following sections discuss on step by step approach to design test cases from given problem specification using data flowgraph.

Step 1: Study the Design Specification or Problem Specification and Arrive at Data Flowgraph

Study and understand Problem Description. Identify the Processes, Data Flows, and Data Stores. By understanding problem specification, following are the Processes, Data Flows, and Data Stores that we identified:

  • Processes: Verify Price; Verify Account; Approve Order.
  • Data Flows: Order Data; Current Price; Price: for Verified Order; Customer Account Status; Status- Verified Order; Verified Order Data; Approval/ Dis-approval; Management Approval/ Dis-approval; Approved Order.
  • Data Stores: Parts inventory, Accounts Receivables
  • Identify and categorize the Inbound and Outbound workflows from the diagram.
  • Identify Data Structures associated with data flows.

Inbound Data Flows inside the Data Flow Diagram.

Outbound Data Flows inside the Data Flow Diagram

Data Structures associated with Data Flows.

Following this by using Fig. 6.1 Data Flowgraph Notations we draw Fig. 6.6 Data Flowgraph Representation for the Given Problem
Fig. 6.6 Data Flowgraph Representation for the Given Problem

Step 2: Arrive at Data Flowgraph to Represent Navigation of Processing

By using Fig. 6.6 Data Flowgraph Representation for the Given Problem we arrive at data flowgraph to represent calculations. The same is shown in Fig. 6.7 Data Flowgraph for Fig. 6.6 to represent Navigation of Processing.
Fig. 6.7 Data Flowgraph for Fig. 6.6 to represent Navigation of Processing.

In data flow graph, unlike control flow graph that represents uniprocessing, there are several independent, parallel processes.

Step 3: Defining Data Flow Anomaly State Graph

By using Fig. 6.7 Data Flowgraph for Fig. 6.6 to represent Navigation of Processing as the basis and by using Symbolic Representation Data Objects and their States, we define Fig. 6.8 Forgiving Data Flow Anomaly Graph as follows:
 
 
Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
         
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
STEP-AUTO Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
URL: www.isqtinternational.com
Email: khannur@isqtinternational.com
Skype: arun.isqt