I covered unit tests in the previous post of the series. If you haven’t read it, you should start there. Let’s cover component tests now.
There’s a lot of confusion when it comes to test automation. One of the reasons of confusion is that most people don’t realize there are different types of tests and that each type has different approaches and advantages/disadvantages.
From time to time, I meet people that claim they do microservices. Since I’m interested to hear more real world experiences, I dig deeper by asking technical questions. And pretty often I learn that even though they have multiple microservices, they all use the same database.
I see too much code that solves problems and mostly works, but it’s written in a way that makes it unnecessarily hard for other programmers to understand.
One would think that it’s a matter of experience and hence it’s a given that programmers with 5+ years of experience would naturally become better at writing easy to understand code, but based on what I run into, it’s far from the truth. I’ve seen many developers with over a decade of experience still failing at this.
I see many programmers comparing languages based on their syntax alone. Something along the lines of “Java sucks because it’s much more verbose than my favorite language X and it also requires a semicolon at the end of each statement which is so 20 years ago and is a total no-go”. OH MY FUCKING GOD! SEMICOLONS!