My path to Test Driven Development - TDD
I don’t recall who introduced me to Test Driven Development (even though I always have been interested in the testing part of software development), but I do remember reading the iconic book from Kent Beck, Test Druveb Development by Example on my commute time. Every page that I turned, it was a new discovery. Also, with some frustration, because the baby steps was conflicting with my confidence that my code would work.
On the other hand, thinking about when I started, the context where I was, did not help me to explore further this approach of development. Places that I worked at in the past unfortunately care more about the task delivered, meaning sacrificing the testing part to delivery “faster”, I share more about my Test Driven Development history more on a blog post - what was astonishing for me was the lack of care from practitioners to avoid testing of any kind.
The intention here is to share in a more structured way, my previous experience on writing tests and resources that I think are an addition to that end. The idea here is not to offer a bible on testing, rather it is to offer a structured way for getting started with it.
- Introduction
- Changing your mindset
- Building software with tests X software without tests
- Frameworks available for testing
- PHPUnit
- Codeception
- Jest
- Jasmine
- Testing library
- Mocks
- The history
- Mocks, dummies, spies, fakes - testing your code
- Advanced topics
- ARE YOU NOT USING TDD?! - PART 1
- ARE YOU NOT USING TDD?! – PART 2 (Legacy code)
- Is TDD dead ?
- On one hundred percent code coverage - how to approach coverage and void misusing it
- Jest asserts beyond equals - tips for improving assertions
- Jest timers and reactjs - A use case for using jest time related functions
- Test Driven Development anti-patterns
- TDD anti-patterns - The liar, excessive setup, the giant, slow poke
- TDD anti-patterns - The mockery, the inspector, the generous leftovers and the local hero
- TDD anti-patterns - The nitpicker, the secret catcher, the dodger and the Loudmouth
- TDD anti-patterns - The greedy catcher, The sequencer, Hidden dependency and The enumerator
- TDD anti-patterns - The stranger, The operating system evangelist, Success against all odds and The free ride
- TDD anti-patterns - The one, The peeping Tom, The Flash and The Jumper
- Outside-in
- Strategies for testing