Proper test-driven development is the heart of any agile development process, and its importance can not be overstated. And there is only one rule: every line of code should be a reaction to a failing test. “We don’t have time for this” is almost always the immediate response, but the very opposite is the case.
You don’t have time not to write tests.
You don’t have time not to write tests. You don’t have time to manually test over and over. Every time you manually navigate your browser to test – that’s wasted time you are not getting back. Automated tests are not expensive guardrails, they are the very engine of our car. If you add tests in the end, you pushed it the whole way and decided to turn the key when you are already all sweaty. And there is a good chance that you are already too exhausted to hop back in.
Every language and framework that’s worth its money will provide you with accompanying testing tools and these are the first things you have to master. Not only will they allow you to become more productive, but they will also tell you more about the system than any potentially outdated documentation page ever could.
Learning how to work in a proper test-driven development cycle might be daunting at first, but it’s one of the most rewarding things a developer can achieve. And the knowledge and experience gathered on the way can be applied to any other situation, system or job. Which makes it one of the most valuable tools to master. At least in my opinion. And that’s why I recorded a screencast of me, implementing the first feature of the webinar’s example Gatsby application in a fully test-driven way. For everybody interested, and for myself to learn and improve.
Watch this video for additional info about test-driven development.
Watch the webinar recording below to see us go through:
- Writing good scenarios
- Establishing personas
- Using tags to organize test runs
- The screenplay pattern
- Organizing step implementations