Home  //  Training  //  Pragmatic Test Driven Development

Duration: 3 to 4 days
Recommended Class Size: 10 to 20
Prerequisites: Skilled to Advanced TDD understanding

This course takes a pragmatic approach to Test Driven Development (TDD). We believe testing should be a fundamental, integral part of software development process including design and programming. By fundamental, we mean that doing testing well leads to better designs and programs. By integral, we mean that it is part of the normal day-to-day life of the programmer, not a burdensome task added at the end of the real work. Test Driven Development is not always done as Test First Development and it is core to know what to test vs what not to test. The course is a mixture of lecture, short readings, discussion, and labs. Attendees will writing acceptance criteria, functional acceptance tests unit tests. Core testing best practices will be examined included some advanced topics such as orgranizing tests, test environments, continuous integration, and testing web services. Additionally testing techniques such as using Mock Objects and testing for different qualites such as performance and security are discussed. The attendees will read information about testing, learn the details of the techniques, and apply them in a group setting (preferably to systems they are currently working on).

For more information about Pragmatic Test Driven Development, read our blog on the topic.

Slides to our Agile 2012 Presentation on Testing System Qualities can be found on SlideShare (Click Here).

Slides to our Agile 2012 Presentation on Pragmatic, Not Dogmatic TDD can be found on Slide Share (Click Here).

Course Objectives

  • Effectively write unit tests in an agile development environment
  • Learn how to write maintainable tests
  • Isolate test code from code it depends on
  • Write well-formed acceptance tests
  • Refactor test code and build test suite
  • Test for boundary and normal conditions
  • Know what to test (and what not to test)
  • Write acceptance tests for system qualities

 Course Topics

  • What is Test-Driven Development?
  • Two different TDD rhythms: Test first and test frequently
  • Different tests and how they support agile development: acceptance, function, unit, integration and smoke test
  • Effective test and production coding practices
  • When tests are run (and who should write them)
  • What makes a good unit test?
  • What makes a good acceptance test?
  • The 10 commandments for testing
  • Where tests add value and where they don't
  • How refactoring affects tests
  • Organizing and managing tests
  • Effective test automation
  • Testing external services
  • Mocking and techniques for isolating test code
  • What makes good assertions?
  • The basic structure of a test scenario

Contact the Refactory


Refactory Profile

The Refactory, Inc. and its consultants provide top notch on-site training and consulting services. Through our combined years of industry and academic experience, the principals of The Refactory base our consultation on proven practices backed by industry leading research. We have the skills, experience and ambition to make your project successful.

Company Info

7 Florida Drive Urbana, IL 61801
Phone: 1-217-239-2633
Email: This email address is being protected from spambots. You need JavaScript enabled to view it.