The increased complexity of systems and short product release cycles makes the task of testing challenging. One of the key problems is that testing typically comes late in the project, and traditional testing is performed manually. Testing represents a major cost in every Dynamics NAV implementation project. Test automation has been proposed as one solution to reduce these costs. Test automation suites promise to increase the number of tests we run and the frequency at which we run them.
In this post I will introduce the Microsoft test toolset then next week we will consider automated testing for non-standard/custom business logic, i.e. the code that has been added to provide enhancements and modifications to standard NAV.
With the Dynamics NAV 2016 release, Microsoft has made their test toolset a standard part of the product. It’s an exciting addition to Test Codeunits that have been around since NAV 2009. Microsoft is putting significant effort into an automated testing framework. With every version release and monthly cumulative update, new tests are introduced. In the chart below you can see that the number of automated tests in the last five NAV cumulative updates increased by more than 400.
There are unquestionable benefits of utilising automated testing. In my 10-year history with NAV implementations I’ve noticed that testing is too often seen as a “nice-to-have” instead of a “must have” activity. Both sides, the application consultants and the key users, share the same responsibility to carefully test their solutions. Tight deadlines, budget restrictions and busy daily schedules too often limit testing efforts to only critical scenarios and the rest is left to be discovered when the system is already in production.
Introducing automated testing can change this significantly. Automated tests can be run quickly and repeatedly. For example, it takes less than 3 hours to run over 18,000 tests on my laptop. If one manual test only took 1 minute, it would take over 40 man-days to complete all the tests manually.
“Nothing is holding you back anymore from incorporating this tool in your product development, and even custom projects. It’s only up to you to decide to what extent you are going to do this.” Luc van Vugt, Microsoft MVP and former Microsoft tester.
The Dynamics NAV test suite includes repeatability, reducing man-hours and improving efficiency. It is a critical feature for continuous delivery of quality software.
But running Microsoft standard automated tests only makes sure that custom modifications and add-on solutions do not interfere with standard NAV. In other words, it confirms that existing functionality is still working as it should. However, all non-standard/custom business logic needs to be tested as well. Next week I’ll discuss the benefits and options for automated testing of these enhancements and modifications.