Luís on the Keyboard

"So, what do you think about testing?"

It was with this question that my first tech interview to join Nokia ended. I am now preparing myself to go to Berlin and do a full round of interviews there, but I couldn’t stop thinking about this question.

What do I think about testing?

I know I got so confused about it that I was silent for a few moments – testing has been such a basic concern of mine in the last 4 years of work at Tomtom, that it is now second nature for me.

“Well, I think testing is very needed in development.”

I think this is what I answered. And after recovering from my awkwardness I spoke about all the things I did with regards to testing, from starting an effort of automated end to end testing for our testers (who only do manual testing) to actually doing test driven development, to pairing when writing tests, to having problems with mocks and mock libraries in Java.

What do I think about testing?

I don’t think too much about it, to be honest. I just do it. I write tests and I measure coverage because that’s what my team did and that’s how I was taught. The school that Tomtom has been for me, was that kind of school: Scrum, Unit Testing, Mocking, Java, working shoulder to shoulder with testers, Test Driven Development, pairing, “let’s write the test first”…

I think I love testing, that’s what I think.

Not sure if that is a good thing for a dev to say but it’s the truth. For me testing is a safety net, gives me assurances, tells me things are ok. For someone only now going to his second job, with this feeling that I still have so much to learn, I definitely need this safety net.

I may have started writing tests because I was taught to do so, but I continue to write them because I enjoy safety when programming. Safety and verification. Testing gives me the chance to prove properties about a system and then verify that those properties remain after I change things. In the chaos of constant change effected by multiple people in a team, this is not an option – this is a necessity.

So, what do I think about testing?

I think it’s part of a Software Developer’s job. It’s that simple – we don’t skip coding and therefore we can’t skip testing either. It’s not a cherry on top of the cake or something we postpone when the deadline is tight. It’s not optional.

That’s what I think about testing – I think testing is part of my job; as much as it is to write code to solve a problem, it’s also my job to ensure that we can verify automatically that that code does what I think it does.