In the previous post, we gave a solution for exercise on Test Paths in Directed Graphs. Today we discuss Graph Coverage Criteria. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.
Recently I had a disagreement with my friend Berislav about the content of a product. From his tweet, I concluded that he forgot about database schema code and database data. Those are important parts of a product.
Book Introduction To Software Testing also states the importance of data in the definition of graph coverage. Graph coverage has two equal components:
- Control Flow Coverage
- Data Flow Coverage
Many bugs are related to data flows that were not covered during the product testing.
For graphs, coverage criteria define test requirements, T R, in terms of properties of test paths in a graph G. A typical test requirement is met by visiting a particular node or edge or by touring a particular path.
A Tour could be determined with control flow (code) or with the data flow. Think about this. We could have different data set values that could trigger the same control flow. But for example, when we get to the computational statement, different data would generate different computational results.