Developers and Testing – Part 1: Developers Don’t Make Good Testers
I admit it, I am not a good tester. I’m a software developer, though, so that should go without saying. I have, on occasion, and especially in my early days, delivered some seriously buggy code to my customers. In this first of a series on testing, I’ve decided to explore the reasons behind developers’ lack of skills in this area. After all, how can I make recommendations and improve others if I don’t understand myself?
If I examine the role of a developer, one of the key requirements is to simplify complex scenarios. How does the joke go? “There are only 10 types of people in this world. Those who understand binary and those who don’t.” Whether it is ones and zeroes, or the handful of logic gates in the circuit board (a computer can really only do about seven things, and that is being generous) everything I do is about making things as simple as possible.
This act of doing something simple (a minor change that can do amazing things) is what I love. Yes, I said it, I love my code. Especially that code that I’ve been building up for years and years. I’m willing to bet that most developers have become emotionally attached to some of their code at one point or another. It’s like my child. At least it’s what I would imagine it would be like if I had children. I don’t want to break it or hear other people criticize it, even when I know it’s for the best.
What really makes it difficult, though, is that I’m often at a disadvantage compared to the end users. How can that be you might ask? Well let me break it down (that’s what I’m good at remember). I’m good at NAV, but I may never have even seen your NAV with all of its customizations. You work with it every day. Because I’ve been working with NAV for so long, I know the most straightforward way to do things and that’s how I usually test. That may or may not be the best way to test in your environment.
It’s not that I don’t want to test. There’s nothing I hate more than when something I wrote doesn’t work the way it’s supposed to. I know it’s important. I’m just not able to test in the same way that others do. That doesn’t solve the problem, though. In several upcoming posts we’ll take a deeper dive into some things that may help including:
- Maintaining high quality for your solutions
- Improving your testing skills
- Determining the best testing strategy for your organization
Remember, testing is not a trivial concept or task and there is a lot to learn. It is generally considered to be a boring topic, but it doesn’t have to be. We can all grow as developers, consultants, and users if we just give it that little bit of extra focus.
If you are interested in NAV development, check out our collection of NAV Development Blogs.
For step-by-step instructions on how to perform specific tasks in Microsoft Dynamics NAV, see our collection of How-To blogs.