Developers and Testing – Part 4: An Alternative to Manual Testing
In this four-part series, ArcherPoint’s Matt Traxinger discusses the relationship between development and testing, how to improve your testing skills, and an alternative approach to testing. If you’re just joining us, be sure to read Part 1: Developers Don’t Make Good Testers, Part 2: The Importance of Quality. and Part 3: Improving Your Testing Skills.
How do you test modifications to a Microsoft Dynamics NAV database? I’m fairly certain I could guess the answer 99 times out of 100. Manually or by hand without a test script. I have a simple question. Why? Here are just a few of the problems with manual testing:
- It’s highly error prone
- It’s monotonous and repetitive
- There’s lots of data entry and often the data is incorrect
- It’s difficult to achieve full code coverage
- It takes up time that most people don’t have
Manual testing is an important part of system testing, not the entirety of it. The main problem is that doing this better takes up even more time in the short term than most people have. Developing test scripts or written documentation of what to test and how to test it is time consuming, but it will go a long way in improving the reliability of this form of testing.
What if I told you there was a better way? NAV actually has built-in automatic testing. Now, before you get too excited, remember that, just like manual testing, this is a part of system testing. It is not the cure-all for all of your testing problems.
Figure 1. Graph showing breakeven point between unit testing and no unit testing against time and cost.
This should be considered a feature just like anything else in NAV. It does cost time and money to implement and maintain. Just like any other business process we might seek to automate, you will need to examine the benefits and determine if it is right for your organization to implement.
It’s very easy to use. You can run more than 15,000 tests every time you make a change. It does take a few hours to run, but it’s a great starting point. The last statistics that I read stated that when combining these forms of automatic testing with what we already do (manual testing, code and design reviews, etc.), we can eliminate around 90% of bugs before they ever make it to production. Who doesn’t want that?
As a developer, this is a no brainer, but I do recognize the time and effort involved. For me, it doesn’t matter if you are a small or large company, whether you test everything or some things; it’s all about making the process better and more efficient. Just like someone doing manual testing is more powerful when they ask questions and work with others, the testing process as a whole is more effective when we put our collective processes together.
Maybe you won’t implement this form of testing. That’s ok, as long as you keep getting better in the other areas. Consider all of your options and continue to improve—your NAV system is depending on you.
If you are interested in more on 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.