My Book Contents

  • Testing economics – the economic rationale behind unit testing, actual and perceived benefits and costs of the implementation.
  • Testing strategy – how to think about testing, both personally and the team level. How unit testing fits inside the organization’s quality strategy, and how to sell unit testing to an opposing organization.
  • Tools – there are all kinds of tools in the unit testing worlds: test frameworks, mocking, coverage, build integration. How to pick the right tools and what are the considerations.
  • Unit test attributes – what are the different properties that unit tests have, and how can we measure if those are good or not.
  • What to test – and what not to test in unit tests. Criteria to decide on when code requires testing at all, and considerations for unit, integration or manual tests.
  • Working with legacy code – patterns for modifying hard-to-test code to make it easier to test. How to make sure that testability considerations continue to find their way into the design.
  • Test failure – short and long term practices for dealing with test failure. How to find and fix the failure, and use it to enhance the protection. How to follow up on continuous failure of tests.
  • Test maintenance – what happens after a year of writing tests, and suites are getting larger and slower to run.
  • Test Driven Development – how TDD fits into the testing process, and how to make the best of it.