Chapter 9. Good Test Habits for New and Legacy Systems
In this chapter, we will cover:
Something is better than nothing
Coverage isn't everything
Be willing to invest in test fixtures
If you aren't convinced on the value of testing, your team won't be either
Harvesting metrics
Capturing a bug in an automated test
Separating algorithms from concurrency
Pause to refactor when test suite takes too long to run
Cash in on your confidence
Be willing to throw away an entire day of changes
Instead of shooting for 100 percent coverage, try to have a steady growth
Randomly breaking your app can lead to better code
Introduction
I hope you have enjoyed the previous chapters of this book. Up to this point, we have explored a lot of areas of automated testing:
Unit testing
Nose testing
Doctest testing
Behavior Driven Development
Acceptance testing
Continuous integration
Smoke and Load testing
In this chapter, we will do something different. Instead of providing lots of code samples for various tips and tricks, I want to share some ideas I have picked up in my career as a software engineer.
All of the previous recipes in this book had very detailed steps on how to write the code, run it, and review its results. Hopefully, you have been able to take those ideas, expand, and improvise, and ultimately apply them to your own problems.
In this chapter, let's explore some of the bigger ideas behind testing and how they can empower our development of quality systems.