Software quality != testing

Posted in Technicalon Jul 27, 2012

I was working in an organization when there was a lot of panic about lack of software quality.  Immediately a team was spun up and tasked to implement some form of automated testing.

While well intentioned, I think the associated between software quality and testing is a little misguided.  Testing can be used to discover a lack of software quality, but by itself it doesn’t cause software to be of higher quality.  Sure a software developer can take the results of testing and fix any defects, but that process isn’t testing, it is developing.

Software quality comes through quality software development.  When software developers follow good development practices, they will create higher quality software.

So while testing isn’t bad, a company looking to improve software quality should look at the development practices first.

One Comment

Morten Tor Nielsen

April 24th, 2014 at 1:23 am

Agree.

I the coders can’t write code that works, why would you trust them to write tests that work?

It’s my experience that in some organizations, you start out with this OKish piece of code. Then features are added, perhaps a hack is added here and there. In time the code becomes a mess, and every fix takes forever to implement, and usually a seemingly simple fix breaks 2 new things.

Since the piece of code has been costly to develop, there’s a sense that it is also valuable. In fact, it’s a liability, but a lot of times people outside R&D do not see it that way. So, to prevent these unforeseen errors from popping up, the solution if often to add automated or semi-automated testing. But then it’s too late, and the time spent writing the automated tests would have been better spent refactoring the code, while – at the same time – adding unit tests for the new code.

Comment Form

Categories