nayaread
HomeFavouritesTopicsSources
HomeFavouritesTopicsSources
NayaRead links to original engineering blogs. All copyright belongs to the respective authors.
Shopify Engineering·Mar 7, 2022·12 min read49

Test Budget: Time Constrained CI Feedback - Shopify

At Shopify we run more than 170,000 tests in our core monolith. Naturally, we're constantly exploring ways to make this faster, and the Test Infrastructure team analyzed the feasibility of introducing a test budget: a fixed amount of time for tests to run. The goal is to speed up the continuous integration (CI) test running phase by accepting more risk. To achieve that goal we used prioritization to reorder the test execution plan in order to increase the probability of a fast failure. Our analysis provided insights into the effectiveness of executing prioritized tests under a time constraint. The single most important finding was that we were able to find failures after we had run only 70% of the test-selection suite. The Challenge Shopify’s codebase relies on CI to avoid regressions before releasing new features. As the code submission rate grows along with the development team size, so does the size of the test pool and the time between code check-ins and test result feedback. As seen in the figure below developers will occasionally get late CI feedback while other times the CI builds complete in under 10 minutes. This non-normal cadence of receiving CI feedback leads to more frequent context switches. The feedback time varies Various techniques exist to speed up CI such as running tests in parallel or reducing the number of tests to run with test selection. Balancing the cost of running tests against the value of running them is a fundamental topic in test selection. Furthermore, if we think of the value as a variable then we can make the following observations for executing tests: No amount of tests can give us complete confidence that no production issue will occur. The risk of production issues is lower if we run all the tests. As complexity of the system increases, the value of testing any individual component decreases. Not all tests increase our confidence level the same way. The Approach It’s important to note first the difference

Read original on shopify.engineering

Score breakdown

  • Technical depth50
  • Practical value60
  • Originality100
  • Writing quality100
  • Source reputation0
  • Recency0
  • External engagement0
  • On-site engagement0

NayaRead shows a summary and links to the original article. The full article is hosted on shopify.engineering.

More like this

Stripe Engineering

Selective Test Execution at Stripe: Fast CI for a 50M-line Ruby monorepo

Aditya Anchuri·Apr 9, 2026·1 min read
Slack Engineering

Continuous Load Testing

Sep 11, 2022·15 min read
Etsy — Code as Craft

Reducing experiment duration with predicted control variates

Kelly McManus·Nov 25, 2025·8 min read
Shopify Engineering

Spark Joy by Running Fewer Tests - Shopify

Jun 11, 2020·10 min read