<<< Previous speaker next speaker >>>

Michael Feathers, Object Mentor

 Michael  Feathers Michael Feathers is a consultant with Object Mentor. He balances his time between working with, training and coaching various teams around the world. Prior to joining Object Mentor, Michael designed a proprietary programming language and wrote a compiler for it, he also designed a large multi-platform class library and a framework for instrumentation control. Publically, Michael developed Cppunit, the initial port of JUnit to C++, and FitCpp, a C++ port of the FIT integrated-test framework. Michael is also the author of the book "Working Effectively with Legacy Code" (Prentice Hall 2004).

Presentation: "API Design as if Unit Testing Mattered"

Time: Friday 14:15 - 15:00

Location: Ballroom Le Grand 3

Abstract: Have you ever tried to write a unit test for a class that uses an external API? An API that is not mockable? Testing seems to be the last thing on our minds when we design APIs. It isn't that we don't test our APIs, we just don't make it easy to test code that uses our APIs. In this talk, Michael Feathers will describe a set of principles which will help you balance the security and extensibility of your API with the testability of client code. The principles will motivated from counter-examples in several commonly used frameworks in written in Java, C++, and C#. After the talk, you will be aware of the tradeoffs that you must make when considering testability, and how to make them in a manner appropriate for your development.