TDD Simplified in 5 Steps (Video & Book)

AngularJS

This blog post will introduce my E-Book and Talk (in video format at the end) titled ‘Test Driven Development Simplified in 5 Steps‘. Scroll to the bottom now to get right to them or read on for a quick introduction.

Test Driven Development (TDD) has so much information available on it that it is easy to become overloaded. This overloading of information often leads the newcomer down the wrong path. And even more experienced TDDists can still sometimes make decisions which devalue the practise. Whilst best efforts are made to use it on projects, months/years down the line it’s value can diminish. On a number of occasions I have seen tests abandoned and commented out just so that development work can continue.

Over the time that I have been studying and practicing TDD I have had the chance to notice some recurring problems, I have also had the chance to see what works well. So a few years ago I started my own project on the side to see if I could tease out a way of working which was less confusing. It meant I had to read up on the good and the bad behind TDD to try and identify pitfalls. I got some useful insight from doing this and since then most of the TDD projects I have been involved with have worked well. sss

I distilled what I know down to a number of steps which are all complimentary. The steps also have strong roots in good engineering practices in general.

The 5 basic steps to simplifying Test Driven Development are….

  1. Observing Objectives – making sure you set your objectives at the start of the project will ensure you don’t waste time on what doesn’t work
  2. Layering – creating a tiered structure will help you to scale your code and write tests that can pinpoint what they need to much easier
  3. Decoupling Tests From Implementation Details – decoupling should be the goal of refactoring if it’s true with code it’s also true with tests
  4. Extracting the benefits of BDD and Integration Testing – get the ubiquitous language of BDD and the depth and coverage of Integration Testing
  5. Domain and Framework Separation – probably one of the biggest problems in code bases, the framework you use is just another application; treat it so

It is by no means the final word on TDD. But these are five areas that I have come to consider important starting points to be able to really get value whilst minimising overhead.

E-Book : Test Driven Development Simplified

I decided at the start of this year to write down some core ideas which are based of my own experiences and research. The core ideas are split into 5 areas and I call these ‘steps. They are designed to be complimentary to each other. The steps are written in a small E-Book which you can download here.

The Video : Test Driven Development Simplified

The book accompanies a talk I do in London and in Reading. The talk lasts for 1 hour and goes over the steps. I recorded this talk onto video and you can find it below….

Javascript Developer specialising in Test Driven Development, Agile and Software Architecture.