What’s better than Test-Driven Development? Even more test driven development - this time with deeper tests. Unit tests are useful, but a few examples don’t prove our Ruby code correct. Can we approach mathematical proof without ballooning the lines of test code we maintain? Jessica knows how! Let’s cover every valid scenario with exactly one test! This is the goal of Generative Testing.
It means carefully defining every possible input, then letting the framework run hundreds of scenarios through one test. It means deciding what the code should do in every possible situation. This kind of test is much harder to write, and that’s the best reason to do it. Thinking before coding is the real purpose of TDD, and generative testing drives us to think harder. Generative testing won’t just sharpen your test and your code: it can sharpen your mind. After this session, you’ll consider a new way of focusing your thoughts and driving your code with tests.
Jessica Kerr writes Scala for a living, and lives to share what she has learned. Thirteen years of Enterprise development led to a love of git, functional style, and the cognitive science of programming. Besides speaking, her victory conditions include raising two subversive daughters, drinking good beer, and meeting people who help her see when she is wrong.