This hands-on tutorial teaches Test-Driven Development, using Mock Objects to drive the discovery of roles and responsibilities in the code.
* Test-Driven Development in context: using high-level tests to drive features, low-level tests to drive design.
* Object-Oriented Design: systems are built up from communicating objects that provide services for each other. Mock Objects helps us focus on the relationships between objects, clarifying their roles and encapsulating implementation detail.
* Test-Driven Development: using problems in testing to help us identify weaknesses in our design, learning to listen to the tests.
Mock Objects are often presented as a technique to isolate code from external dependencies and make the tests run faster. We think this is backwards, we use Mock Objects to drive the design of our code and write integration tests against third-party libraries.
We will also touch on: what should, and should not, be mocked; how to write resilient tests that express their intent and don't break for irrelevant changes; how to use tests to identify design issues and then how to fix those issues.
The session will include a programming exercise so that the participants can try out and discuss the techniques for themselves.
Presenter: Steve FreemanSteve, winner of the Agile Alliance Gordon Pask award, was a pioneer of Agile software development in the UK, he has built applications for banks, ISPs, financial data providers, and specialist software companies. He has given training courses in Europe, America, and Asia.
Previously, he worked in research labs, software houses, earned a PhD, and wrote shrink-wrap software for IBM. Steve also taught in the Computer Science department at University College London. He is a presenter and organizer at international industry conferences, including the first XP conference, and was conference chair for the first London XpDay.
Conference Sponsors:
![]() | ||
![]() | ![]() | ![]() |
![]() | ![]() |