I believe that most of us are familiar with the concept of “Test Pyramid”, a simple heuristic originally described by Mike Cohn, that is that a project should aim to have a larger number of unit tests than end-to-end tests. But after working on a project suffering from an inverted pyramid, I think it’s worth mentioning some of the downsides that relying solely on end-to-end tests might have.
26 Jul 2016
Three Months have passed since I started working in 10 Pines as a participant of the apprenticeship program. Although we covered different topics and technologies, one of the things that has touched me most during my short journey as a programmer is that you can actually use your tests as the documentation of your system (you read it right, I’m not insane). This was a breakthrough for me so I decided to write this post to share some thoughts about it.
I’d like to start with a short reflection about tests and the meaning we give to them. It’s true, testing gives us security and confidence. It lights our way, allowing us to perform changes without blowing the entire system into pieces. However, there is another (and equally important) reason to write tests: It’s the place where we write down the things that we’ve just learned about the domain we’re modelling. Bearing this in mind, tests have become a compilation of my discoveries and that’s what they must reflect.
18 Sep 2015