SE-Radio Episode 322: Bill Venners on Property Based Tests

Topics covered
Popular Clips
Episode Highlights
Shrinker Algorithms
Shrinker algorithms play a crucial role in simplifying failing test cases by reducing their size for better clarity. explains that these algorithms operate by assuming a failure will occur again, thus focusing on the inputs that previously caused the failure 1. This approach allows developers to redefine shrinker algorithms based on specific data types, such as integers or strings, to streamline the debugging process 2.
You can write a shrinker of your type or shrinker event and use that instead if you want to.
---
The flexibility of these algorithms enables developers to tailor them to their specific needs, enhancing the efficiency of test case analysis.
Practical Shrinking
Practical applications of shrinker algorithms demonstrate their effectiveness in test development. discusses how shrinkers can be applied to structured data types, like a person's age or name, by using existing shrinkers for integers and strings 3. This method generates a stream of simpler test cases, making it easier to identify the root cause of a failure.
Shrinking does work and it does make it, the output a little nicer.
---
By progressively reducing the complexity of inputs, shrinkers help developers pinpoint bugs more efficiently, especially when dealing with complex data structures or large datasets 4.
Related Episodes

SE Radio 589: Zac Hatfield-Dodds on Property-Based Testing in Python
Answers 383 questions

SE-Radio Episode 283: Alexander Tarlinder on Developer Testing
Answers 383 questions

SE-Radio Episode 256: Jay Fields on Working Effectively with Unit Tests
Answers 383 questions

Episode 474: Paul Butcher on Fuzz Testing
Answers 383 questions

SE-Radio Episode 360: Pete Koomen on A/B Testing
Answers 383 questions

SE-Radio Episode 315: Jeroen Janssens on Tools for Data Science
Answers 383 questions

SE-Radio Episode 262: Software Quality with Bill Curtis
Answers 383 questions
SE Radio 632: Goran Petrovic on Mutation Testing at Google
Answers 383 questions

SE-Radio Episode 357: Adam Barr on Code Quality
Answers 383 questions

SE Radio 572: Gregory Kapfhammer on Flaky Tests
Answers 383 questions

SE-Radio Episode 276: Björn Rabenstein on Site Reliability Engineering
Answers 383 questions

Episode 70: Gerard Meszaros on XUnit Test Patterns
Answers 383 questions
SE-Radio-Episode-249:-Vaughn-Vernon-on-Reactive-Programming-with-the-Actor-Model
Answers 383 questions

SE-Radio Episode 324: Marc Hoffmann on Code Test Coverage Analysis and Tools
Answers 383 questions













