Filip Hric

Fighting test flakiness with time machines

A flaky app will lead to flaky tests. Learn how time-travel debugging can reveal the root cause of instability, not just patch the symptoms.

Fighting test flakiness with time machines
#1about 3 minutes

The high cost of debugging flaky tests

Test flakiness is a major time sink in development, with debugging often taking longer than writing the tests themselves.

#2about 6 minutes

Debugging a race condition with the Cypress timeline

Use the Cypress timeline to inspect the DOM state at different points in time and diagnose a flaky test caused by a race condition.

#3about 6 minutes

Using Playwright's Trace Viewer for similar insights

Playwright's Trace Viewer provides a time-travel debugging experience similar to Cypress, which is especially valuable for analyzing test failures in CI environments.

#4about 2 minutes

Shifting focus from fixing the test to fixing the app

Testers often instinctively try to fix a flaky test with waits or retries, but the more robust solution is often to fix the underlying instability in the application itself.

#5about 3 minutes

Introducing Replay.io with a manual recording demo

Replay.io is a browser that records everything, allowing you to retroactively add print statements and use a time-travel debugger to inspect application state.

#6about 13 minutes

Integrating Replay.io with Cypress to debug an API race condition

By integrating Replay.io into a Cypress test suite, you can analyze the full application runtime, including internal state and network calls, to find the root cause of flakiness.

#7about 4 minutes

Fixing the application to resolve test flakiness

Fixing an API race condition by disabling a UI element until the necessary data has loaded makes the application more stable and eliminates the need for artificial waits in the test.

#8about 13 minutes

Q&A on Replay.io architecture, adoption, and CI/CD

The speaker answers questions about Replay.io's technical foundation, its integration with CI/CD pipelines, and strategies for handling sensitive data during recordings.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
DC
Daniel Cranney
Dev Digest 188: CfP time, the risks of NPM and IKEA algorithms
Inside last week’s Dev Digest 188 . 🤖 GitHub Copilot CLI is now in public review 💻 Microsoft is bringing ‘vibe working’ to office apps 🎣 Attackers abuse AI tools to generate captchas in fishing attacks ⚠️ When LLMs autonomously attack 🧠 Common cause...
Dev Digest 188: CfP time, the risks of NPM and IKEA algorithms
DC
Daniel Cranney
Dev Digest 194: AI vs. Version Control, Password Louvre & Cursed Webdev
Inside last week’s Dev Digest 194 . 🧠 Learn how to become an AI-native software engineer 🤷‍♂️ How can you stand out when anyone can build anything? 👂 Whisper Leak allows listening to encrypted chats 🐝 What’s new the OWASP2025 Top Ten List 🙅‍♀️ Curse...
Dev Digest 194: AI vs. Version Control, Password Louvre & Cursed Webdev

From learning to earning

Jobs that call for the skills explored in this talk.

Automation Tester

Automation Tester

MatchMatters
Deventer, Netherlands

API
Azure
Python
Gitlab
Cypress
+4
Automated Tester

Automated Tester

The Trust
Rishangles, United Kingdom

Remote
GIT
Java
JIRA
REST
+4