March 2023 Summaries
1 posts from TigerBeetle
Filter
Month:
Year:
Post Summaries
Back to Blog
The text explores the intricacies of fuzz testing and randomized testing, focusing on techniques and strategies to enhance test reproducibility, coverage, and robustness. It discusses how fuzzers can generate random byte slices to serve as test inputs and how coverage-guided fuzzers can be used to create structured inputs from seemingly unstructured data using a finite pseudo-random number generator (PRNG). The author also highlights the importance of serializing structured data rather than relying solely on seeds for test reproduction to ensure consistency across different code commits. Additionally, for distributed systems, the text introduces the concept of randomized interaction and suggests using predicates over system states to serialize and manage complex interactive tests. This allows for the simulation of network faults in distributed systems, facilitating more effective identification of issues like liveness bugs. The narrative underscores the value of integrating fuzzing with property-based testing and emphasizes the need for a nuanced approach to test case minimization and reproduction, particularly in the context of evolving test infrastructures.
Mar 28, 2023
2,270 words in the original blog post.