We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Squashing the Heisenbug with Deterministic Simulation Testing

Formal Metadata

Title
Squashing the Heisenbug with Deterministic Simulation Testing
Title of Series
Number of Parts
108
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Modern, distributed systems are complex and present numerous challenges: concurrency, process crashes, message loss, duplication, or reordering. How can developers confidently test distributed systems instead of continuously dreading the next hard-to-catch and hard-to-reproduce Heisenbug? Deterministic Simulation Testing is a powerful testing technique that eliminates uncertainty-or rather non-determinism-and ensures that your system is tested exhaustively and every single test is reproducible. Using a systems modeling approach, we will accurately and concisely discuss Deterministic Simulation Testing. In addition, we will explore real-world implementation of this technique in production in projects such as FoundationDB, TigerBeetle, and Resonate. Gain actionable insights for crafting your own Deterministic Simulation Testing strategy. Confidently open Schrödinger's Box of testing in distributed systems.