Friday, July 27, 2007

Data Flow Testing

Data flow testing criteria are based on data flow information, i.e., variable definitions
and uses.

DEF(S)={X| statement S contains a definition of X}
Explanation: A variable v is defined by a statement if the execution of the statement updates
the value associated to v. For example, v=1 or v=sqrt(2)

USE(S) ={X| statement S contains a use of X}
A variable v is used by a statement S if the effect of statement S depends on the current
value of v, for example b=v and if (v==1)

Usage node, USE(v,n), is a node in the program graph where the specific variable, v, is used.

A Definition-Use path, du-path, for a specific variable, v, is a path where DEF(v,i) and USE(v,e) are the initial and the end nodes of that path.

A Definition-Clear path for a specific variable, v, is a Definition-Use path with DEF(v,x) and USE(v,y) such that there is no other node in the path that is a defining node of v.

More examples, see Table 14.1 in Data Flow Testing

References :
(1) Teaching “Data Flow Testing” in an Software Engineering Course
(2) Couple of more testing methods

No comments: