ATDD in Legacy Code: catch regression bugs before production.
Hands-on work with your teams. Limited spaces for 2027.
When there are hundreds of things to check, QA can't check everything.
“That feature hasn’t changed.”
“Let’s just test the critical flows.”
Some tests get skipped.
That’s when production bugs slip through.
❌ “Just hire more QA”
But every release adds more features.
More features = more things to regression test.
QA can’t keep up.
❌ “But we already automated!”
You tried e2e tests.
Run it → red.
Run it again → green.
Eventually, nobody trusts the tests.
Developers start ignoring them.
You tried unit tests.
They're green.
But something still breaks in production.
Why?
Does Checkout Work?
Checkout has these requirements:
Customer can add a product to the cart.
Customer can pay by card.
Order is created after payment.
Customer can’t order an out-of-stock product.
⚠️Unit tests
Test individual pieces, but not the whole flow.
CartServiceadds a product.
PaymentServicecharges the card.
OrderServicecreates the order.
They can all pass while the checkout flow still breaks.
⚠️E2E test
It tests the whole flow.
But the behaviour is buried inside UI steps.
Open checkout → add product → enter card → click Pay → see “Order confirmed”
So what is this test actually checking?
Can the customer pay by card?
Is an order created?
Is the cart emptied?
Does the confirmation page appear?
You have to read the steps and figure it out.
Now imagine 200 tests like that.
You can’t easily tell:
“Which test proves that an out-of-stock product can’t be ordered?”
“Do we have a test for refunds?”
“Do we test that an order is only created after successful payment?”
✅ Acceptance test
The behavior being checked is obvious.
Given a product is out of stock
When a customer tries to order it
Then the order is rejected
The requirement and the test are the same.
You can see exactly what behavior you’re checking.
And because the test isn't tied to the UI, changing the checkout screen doesn't mean rewriting the test.
ATDD in Legacy Code: catch regression bugs before production.
Hands-on work with your teams. Limited spaces for 2027.

