From the moment a customer places a delivery order in the Chick-fil-A app, to the arrival of a team member at their door, a complex series of steps un

Dockerized Dev Testing: Chick-fil-A Delivery’s Shift-Left Strategy for Ensuring Quality

submited by
Style Pass
2024-10-23 21:00:22

From the moment a customer places a delivery order in the Chick-fil-A app, to the arrival of a team member at their door, a complex series of steps unfolds, each with multiple options and considerations to ensure timely and accurate delivery. Our delivery drivers’ trips can vary heavily — one could be a classic Chicken Sandwich meal, the next could be a group order for eight customers, and the next could be delivering multiple customers’ orders before returning to the restaurant.

Our development cycle for Chick-fil-A delivery was fairly simple, but certainly not fool-proof. A feature would be requested and requirements made, a meeting would be held to identify and list testing scenarios for the feature, and a software engineer would begin implementing the feature while a quality engineer would develop the integration tests. Once the feature implementation was approved and deployed to our testing environment, the integration tests would run and only then would we know — “…does this thing work?” With the obvious disconnect between engineers focusing on the separate tasks, inevitably, it usually did not work, and the process would restart.

In our testing environment, we have a finite number of Chick-fil-A test restaurants with set configurations that are utilized across teams to achieve testing goals. The first step for our team was claiming a few of these locations to use exclusively for testing Chick-fil-A delivery, but there were still configuration tweaks needed between test runs to sufficiently validate our platform. The resource constraints limited us to only run a single test per-location at a time since we needed a clean-slate location with no drivers and no orders to effectively set up our test scenarios.

Leave a Comment