Petr Heinz: 5 Levels of Automated Testing

Summary and extra resources on automated testing, by Petr Heinz. Presented at code.talks commerce in Berlin on 5th April 2019.

  • Get the slides from the presentation.
  • Learn more about our 5-level testing at our documentation.
  • Check out Shopsys Framework, our scalable open-source e-commerce framework on GitHub.
  • Check out the video from the presentation.
Learn more about our framework

5 Levels of Automated Testing

In Shopsys, we use 5-level Testing – the unit, functional, smoke, acceptance, and performance tests. This ensures that critical scenarios are covered and even inexperienced developers will be able to work with the product and avoid making errors.


  Subject of
Lenght of execution Difficulty of maintenance
Unit results of method calls isolate well-defined components very fast moderate
Functional interoperability of services code that is hard to unit test fast moderate
Smoke HTTP status codes of requests protection from unhandled exceptions decent very easy
Acceptance end-to-end scenarios business critical scenarios slow hard
Performance response times with a large dataset preventing collapse on production data load very slow depends

More on Smoke Tests

Brief Introduction to Smoke Testing from SymfonyLive San Francisco
Check out a brief introduction (7 min) to smoke tests, which I presented at SymfonyLive San Francisco back in 2017.

Get HTTP smoke testing for your Symfony application
We prepared a package that enables you to do simple HTTP smoke testing of your Symfony application.
Check it out on GitHub

Are you looking for a new ecommerce platform?

Feel free to join our webinar for devs where we show how to work with Shopsys Framework. It is completely free and takes about 2 hours.