Skip to main content

Your tests are failing for the wrong reason.

· One min read
Daniel Maß
Maintainer of Xcepto

The problem isn't your services. It's the assumption that processing time is deterministic.

  • What if the system is slower today?
  • What if the delay is too short... or unnecessarily long?

This is time-driven testing. It's fundamentally non-deterministic.

Conditions instead of time

Instead of waiting for time to pass, wait for conditions to be true. Progress the test only when the system is in the expected state.

No sleeps. No timing. No guessing.

Condition-driven progression decouples execution from timing assumptions.

  • Slower system? Test still passes ✔
  • Faster system? No wasted time ✔

Xcepto enforces this model by compiling test steps into a state machine.

Each step only progresses when its condition is satisfied. Otherwise, it either keeps evaluating until timeout or fails immediately — depending on whether retry is enabled or not.


Originally published on themassiveone.net.