Episode 3: Accelerating Test Execution
Channel: Postgres Conference
Date: 07/06/2023

Our first two sessions focused on Developer Productivity Engineering (DPE) as a practice and the specific tools and techniques used to accelerate the software build process. Acceleration of the build is only one facet of an overall DPE strategy, as significant opportunities for improvement still exist for businesses in the time spent waiting on test executions to complete. Most build systems still execute tests serially, and they don’t track metrics such as test flakiness, failures, and execution time across development organizations. This can leave developers spending a significant portion of their day idly waiting, or even worse, context switching between multiple activities.

When tests are flaky, work has to be repeated between developer, test, and build teams, and often collaboration on the test results is inefficient. This leads to poor practice, with many organizations skipping tests or writing tests that aren’t comprehensive enough. In the end, this just passes quality checks and other bottlenecks further towards production where they are more expensive and take longer to resolve. In this third and final session for PostgresConf we will demonstrate several techniques for speeding up test execution, including distribution of tests across multiple concurrent agents, and analyzing test result trends to isolate and fix flaky tests. Finally, we will preview our approach for using machine learning to optimize testing in a predictive and selective manner.