In the previous post, we explained the Exercise On Software Testing Limitations And Terminology On Elixir Function. Today we move on to the problem of coverage criteria for testing. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.
The Greatest Software Tester Mistake
Managers adore following software testing terms: complete testing, exhaustive testing, full coverage. The Greatest Software Tester Mistake is to claim that this is possible. The biggest hoax is if software testing tool marketing material claims that their tool offers exhaustive testing.
Complete testing of the software product is not possible because of the fundamental theoretical limitations of the software. These limitations are related to software inputs. Possible input is so large that it is practically infinitive. As an example, we could take WordPress. You can input into the blog post editor an infinitive number of article combinations.
What can software tester do to solve this problem? We use formal coverage criteria and sample the test input. Using coverage criteria, we will miss bugs, but the goal is not to miss important bugs.
With coverage criteria, we define when to stop testing [Ammann and Offutt].
What criteria should we use in this sampling process? Let’s start with the test requirements that we will discuss in the next blog post.