Property-testing all* the things in SerenityOS (bobkonf2024)

Published: March 15, 2024, 2:05 p.m.

*: not all the things.\n\nI\u2019m a big proponent of property-based testing (as in, QuickCheck or Hypothesis), be it in Elm, Haskell, Scala or JavaScript - it\u2019s great at finding tricky edge cases, refining your understanding of your system and giving you confidence it works for more cases than just your happy path unit tests.\n\nImagine my horror when I saw that SerenityOS, my favorite \u201cwatch and admire it from distance\u201d open source project didn\u2019t have any support for property-based testing! There were three options: don\u2019t test at all, test with unit tests, or fuzz the binary as a black box.\n\nI set out to write a property-based testing framework for SerenityOS, complete with automatic shrinking and all, and to use it to write property tests for apps and libraries all across SerenityOS.\n\nIn this talk I want to share that journey, the surprising complications and how I overcame them, the tests I\u2019ve written and categories they fall into, and the bugs I\u2019ve found.\n\t\nabout this event: https://bobkonf.de/2024/janiczek.html