Arunkumar Khannur's Software Testing Knowledge Center

6.9 Strategies for Data Flow Testing

Data Flow Strategy testing are structural strategies. While path testing strategies focus on execution of every statement and branch atleast, data flow strategies focus on transformation of data objects. In order to facilitate this in Data flow testing. We label Data flow links with weights that represent the state of Data objects by using d (defined); k ( killed); u ( used ) – either for c ( calculation ) or p (used in a predicate).

Data flow testing strategies involves selection of appropriate segments or sub-paths which full fill some characteristics of Data flow for all Data objects. For example, if you are interested in understanding the state of Data objects when d (defined) action takes place then we need to select sub-paths that contains a d. There is need to focus on selecting the test strategies which is stronger than some other test strategies. If a particular test strategies includes all the test cases then those another test strategies than it is consider as stronger.

Thus success of data flow testing strategies depends heavily on selection of appropriate path segments. Following are different types of path segments:

  1. A Definition –clear path segment: If a variable is defined on the first link and not redefined and killed on any subsequent link of a path segments then that path segments is termed as a Definition – clear path segment
  2. A loop - free path segment: If in a path segments every node is visited at most once, then that path segment is termed as loop – free path segment
  3. A Simple path segment: In a path segment at most one node is visited twice then it is a Simple path segment
  4. A du path: In a path segment if the variable is defined earlier and the last link has a computational use of that variable then that path is termed as a du path
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
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt