What Is Data Flow Testing ?

 

Data Flow Testing:

Data Flow Testing is a shape of structural checking out that specializes in reading the flow of statistics inside a program. Unlike information drift diagrams, this method would not challenge itself with visible representations but instead with the trails of variables' definitions and uses in the application's code.

Key Concepts:

Definitions and Uses:

  • Definition (DEF): Represents the venture of a fee to a variable within a announcement.
  • Use (USE): Denotes the referencing or utilization of a variable's value inside a declaration.

Control Flow Graph:

  • Utilized as the premise for figuring out capability interruptions in the flow of data in the application.
  • Helps discover anomalies which include variables being defined however not used, used however never described, or defined more than one instances before getting used.

Types of Data Flow Testing:

Testing for All-Du-Paths:

  • Focuses on analyzing all possible paths from a variable's definition to each usage point.

All-Du-Path Predicate Node Testing:

  • Concentrates on predicate nodes (decision points) within the manipulate go with the flow graph.

All-Uses Testing:

  • Checks every example where a variable is used within the software.

All-Defs Testing:

  • Examines every incidence where a variable is defined in the software's code.

Testing for All-P-Uses:

  • Ensures every ability use of a variable is tested.

All-C-Uses Test:

  • Focuses on testing each possible path where a variable is utilized in computations.

Testing for All-I-Uses:

  • Concentrates on paths in which a variable acquired from external inputs is used.

Testing for All-O-Uses:

  • Targets paths where a variable is utilized to supply output.

Testing of Definition-Use Pairs:

  • Concentrates on specific pairs of variable definitions and uses within the software.

Testing of Use-Definition Paths:

  • Examines routes leading from a variable's utilization factor returned to its definition.

Advantages:

  • Detects issues including variables used however not defined, defined however by no means used, or described multiple instances before use.
  • Identifies deallocation of variables before their usage.

Disadvantages:

  • Time-eating and aid-intensive technique.
  • Requires skillability in programming languages for effective implementation.

Example:

Consider the subsequent software:

1. read x, y;

2. if(x>y)

3. a = x+1

   else

4. a = y-1

5. print a; 

Next Post Previous Post
No Comment
Add Comment
comment url