What I've learned writing and maintaining tests
medium.com