When we write tests around code, not only are we verifying that the underlying behaviors adhere to expected specifications, we are telling the next programmer about how our program works.
In this talk we will examine the act and practice of writing tests and moving beyond verifying behavior to start communicating effectively about our program interface and how it is used.