An automated software tool for validating design patterns
When somebody asks me why I prefer more low-level tests in my test automation frameworks, I like to show them this picture.
It nicely represents the stability of low-level tests (black) and high-level tests (white).
Faster feedback from tests execution allows you to catch issues early on, saving you huge amounts of costs.
Second, low-level tests are executed much earlier in the QA automation pipeline.
BDD can be applied for any type of testing including unit tests, component, integration as well as for many other types.
It shows the recommended proportion of tests to be implemented on each test level, if you want to have a solid test automation pipeline.
Let’s try to think why the pyramid was constructed this way. Unit tests are faster than API tests while API tests are much faster than UI tests. Mainly, because faster tests give you faster feedback.
In addition, I have used Serenity test automation framework as a base framework for my solution, which worked great for me in a couple of past projects.
But don’t worry if Java language or Serenity are not the tools you plan on using for your framework creation.