TITLE
Testing -- Why Don't We Do It Like This? Are You Satisfied With Your Tests?
ABSTRACT
Testing is a fundamental part of the Agile process. We live and breath TDD/BDD. Red/Green/Refactor is our daily mantra. We love cucumber and writing executable customer readable specifications. We even write tests for our javascripts.
And yet, testing remains hard. The tests we love to write are brittle and tend to break when we refactor. Although we talk about the tests being the specification of our code, too often the specify "how it's implemented" rather than "the expected behaviour".
This talk is about how to improve the way we do testing, how to move away from merely specifying how our software is implemented to capturing the true essence of how it should function. Although the code samples are Ruby-focused, many of the testing principles are applicable to other languages.