There are multiple types of tests we’d like to run: unit tests, end-to-end tests, manual tests, and A/B tests. How should we organize them so they are fast and reliable? What to do if we need to handle GDPR-protected data? How to run those tests when we have thousands of machines handling the traffic? How to roll back?
In this talk, we’ll see how to build a real-life end-to-end testing pipeline used in the biggest companies in the world. We’ll start with unit tests running locally in milliseconds, go through correctness tests, regression tests, performance tests, and security tests, and finally end with A/B tests proving that our code is not only correct but also provides a better experience for the customers. All of that is based on experience with desktop, mobile, service, and machine learning domains at the biggest companies.