What is 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?
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.