Test Flow Diagram – A Test Graphing Technique

22 Nov. 2012 Software Testing & QA

Software test professionals often face challenges and complain that, writing test cases or test scripts takes enormous time and results into huge rework when the specifications change in the rapid development or agile development environment.

In software testing, test cases are the core deliverables of the test artifacts, more like a source code that gets delivered as the end result of a software program. Often, project managers, test managers or internal stake holders advise tester to ignore test documentation in the rapid development environment and rather ask them to continue with only exploratory or random testing to minimize testing efforts, later resulting into several production issues. Avoiding test cases is as good or as bad a not writing the source code at all. Imagine a program without the source code or a PC without hardware!!!

Complex Scenario

Test flow diagrams (TFD) is a graph based techniques which is one of the solutions to particular situations aimed at reducing gigantic set of test cases that are often descriptive although enormously helpful. The use of graphs is not a breakthrough in software testing nor have software test professionals studied this technique during their academic curriculums. These techniques are not widely used or used enough in software testing as much as they are used in software design flow diagrams or use case diagrams.

By graphing a set of features, one can easily use path coverage techniques to construct robust test cases that are able to evidence a higher degree of insight into the test specifications and also easily identify gaps during requirement coverage analysis. The Graphing technique is an approach to test design that promotes modularity and completeness. The graphical nature of the TFD gives producers, developers, and testers the capability to easily review, analyze, and provide feedback on test designs. Few companies create test cases based on TFDs, while few do not create test cases. They feel that, instead of maintaining a set of test cases or test scripts, it is easier to rework a test flow diagram for frequent specification changes that normally occur in an agile development environment. Ideally we use these techniques where the features include any of the below:

  • Complex State Transitions
  • Operational Flow
  • Multiple path/Routes

Test flow diagram can consist or support numerous modeling methodologies like State Transition Diagrams, Flow Charts, Petri Nets etc.

A test flow diagram should represent the tester’s interpretation of the behavior and flow of the software. A Test flow diagram is created by assembling various test components of a system called elements which is then interconnected or connected called as flows according to the defined business rules based on requirement specifications and the positive, negative and exceptional test scenarios. The elements may comprise of objects, events, states, actions and behavior of the software program. Every test flow diagram has a starting and termination point much like the ones represented in flow charts and use cases.

Test flow diagrams are graphical models that represent the object’s behavior within an application from a tester’s perspective.

These graphs present useful models for:

  • Understanding the system’s flow and behavior
  • Designing a set of robust test conditions and all possible scenarios
  • Assessing and visualizing a variety of coverage measures and reporting

Generally a test flow diagram has more to a graph than just a picture of the graph. In a structured test process, test flow diagrams provide a justification for the scope of testing and testing charters.

Compiled by Multiple Authors

Comments by readers will be forwarded to the author. Response to comments will be posted subject to the editorial guidelines & policies of Rishabh Software.

Want to know about how following the best practices for software testing can help your next software application? Feel free to Get in touch with us to know how our dedicated software testing team can certify your applications and deliver optimum quality.

Get a Free ConsultationTalk to our experts to get the best suited solution for your business.
  • B. Sriram

    It seems the author is a newbie in the testing technology as TFD is the basis for Test Case designs as much like software flow charts/diagrams during designing although haven’t seen much articles on TFD.
    But, I’m quite distressed to see the graphing notations being used in the figure which is not at all particular TFD notations as shown in the above example. Please correct the figure as per TFD notations.

    • Ajit

      Hi Sriram,

      Thank you for your interest. The figure is used to represent a complex scenario where we use TFD. It does not represents TFD.

  • B.Sriram

    I do not agree, then the figure should be removed. TFD diagrams are altogether differrent and the notations used in the above figure is totally incorrect and the whole article becomes meaningless.

    • Ajit

      Hi Sriram,
      Thanks for the inputs. We will surely have an internal discussion about this and do the needful.

Follow Us
Subscribe to the Blog
Get a Free Consultation
Reach out to our team to get a free consultation for your next project Contact Us