Software applications are growing in size and becoming more complex. Defect density increases with
the size of the code. According to case studies, for larger applications test coverage tends to drop below 80%, and defect removal efficiency levels are usually below 85%. Most forms of testing individually are below 35% in defect removal efficiency. Even with the use of six to eight different kinds of testing, defect removal efficiency remains below 85%
To improve quality, defect prevention must be used. Defect prevention is similar to disease prevention. Instead of detecting the bugs in the application, we are better off not inserting bugs at all. There are numerous defect prevention methods. We apply three of them:
Keyword-driven API testing
When an agile team creates a Gherkin-based model, all the problems with the specifications/user stories are discovered. Review methods are not good enough. You can read a document several times and very carefully, and if you then make an alternative but quite different documentation with the same model, you will find any inconsistencies, contradiction and incompletions. Remember that a small design error may cause significant problems in the code, and detecting this at a late stage in the life cycle of the software can result in huge costs.
Keyword-driven API testing is a true test-driven development process. If we start from a test design and the resulting keywords determine the code, then the developers only have to consider how to implement the code, while the question of what to implement is solved by the testers or agile team. Better prevention is achieved during the maintenance phase since API tests are safer, faster and less costly.
Risk-based testing is also a good defect prevention method. By applying this method, different parts of the code will be tested at different levels, i.e. more critical parts will be tested more carefully. We can also try to reach an optimum for different code parts/user stories. Assuming a limitation in terms of QA costs, it is possible to prevent and detect a much larger number of defects.
You can use the 4Test model-based testing tool, which has been invented to make test design more efficient. After registration, you will receive the link to the 4Test automated test design tool and user guide.
4Test-Plus is a disruptive test design automation and scriptless test automation tool based on an extended Gherkin language and test first method. Requirement engineering becomes transparent for all stake holders. 4Test-Plus enables real-time test automation and execution.