I think that one of the biggest things that developers – myself included – could be better at doing is testing. I’m not necessarily talking about just writing unit tests, or just doing usability tests, but just the general act of testing.
That is to say that perhaps it includes all of the above, perhaps it includes just providing automated and manual testing for part of an application, or perhaps it includes something else that hasn’t been mentioned.
Whatever the case is, testing is important. I’m not afraid to admit that it’s arguably my weakest aspect when it comes to working on projects for myself or for others. To be clear, this isn’t to say that I don’t test (because I do), but that I have room to improve (because I do), and I think we all do.
In fact, I think that there’s something psychological about developers and testing; otherwise, why would there be so many books, articles, and tools on the topic?
But here’s what I think: Developers get into a weird mind set when they’re working on a project and think that a minimal level of testing is enough not because we’re malicious or because we’re lazy, but because I think we think we know how the the users and the context of where our code is running will respond.
But we don’t and this has been demonstrated time and time again.

To that end, there are a number of ways to improve the way in which we test our work. And if you’re not testing at all, then one of the easiest (and even one of the most complete) ways to go about testing your work is through the use of a software test plan.
Continue reading