Arunkumar Khannur's Software Testing Knowledge Center
   
 

6.6 States of Data Objects and Data Flow Anomalous State Graph

Whenever data objects undergo actions like k, d, u, it can be in any one of four distinct states.
K : Undefined, Previously killed, does not exist
D: Defined but not yet used for anything
U: Has been used for computation or in predicate
A: Anomalous

  • When data objects undergo defined (d) action it goes into (D).
  • If the data objects is already in state (D) and undergoes redefined (d) or killed without use (k), it becomes (A).
  • If the data objects is already in state (D) and undergoes redefined (d) or used (u), it becomes (U).
  • If the data objects is already in state (U), then redefined (d) it enters into (D)
  • If the data objects is already in state (U), then used (u) it enters into (U)
  • If the data objects is already in state (U), then killed (k) it enters into (K)

With this interpretation, we can represent two types of Data Flow Anomaly State Graph: Unforgiving Data Flow Anomaly State Graph and Forgiving Data Flow Anomaly State Graph:

6.6.1 Unforgiving Data Flow Anomaly State Graph

Unforgiving Data Flow Anomaly State Graph is proposed by HUANG. This has got basic mistake in its assumptions that once the variable becomes anomalous it can never return a state of grace. The following Fig. 6.4 Unforgiving Data Flow Anomaly State Graph is proposed by HUANG represent this idea.
Fig. 6.4 Unforgiving Data Flow Anomaly State Graph is proposed by HUANG

6.6.2 Forgiving Data Flow Anomaly State Graph

Forgiving Data Flow Anomaly State Graph is proposed by Boris Beizer. According to him when appropriate action is taken it is possible to make the variable to return to state of grace from any of the three anomalous state. Conceptually this concept seems to be more practical since many of the anomaly’s depend on language, application , user interrupts, unavailability of external application, failure to connect to servers, server that is down, unavailability of enough bandwidth and so on. However these problems can be resolved by appropriate action and variable can be made to return to working state. So following Fig. 6.5 Forgiving Data Flow Anomaly State Graph proposed by Beizer depicts this situation.
Fig. 6.5 Forgiving Data Flow Anomaly State Graph proposed by Beizer
 
 
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