The best news sometimes go silent, and the newest release of Microsoft Dynamics NAV has just proven this claim.
Ladies and gentlemen, Microsoft Dynamics NAV 2016 comes shipped with full set of application test toolkit, that you can use to test your customizations against regression issues. Even though most partners out there have never even tried the testability features, let alone written a unit test (for all the wrong reasons), testability framework of NAV is one of its strongest points, and was the last missing piece to complete the big puzzle called Road to Repeatability.
The application test toolkit is a set of 693 objects, out of which 669 are codeunits (almost all being test codeunits) There are total of 15879 individual unit tests (all numbers are for W1 version) that test standard application functionality and help you discover regression issues. Running them on a clean “Cronus” database should result in no errors, and running them in customized environments pinpoints any regression issues that cause problems in the standard functionality.
If you look into the database, you won’t find the test toolkit, but if you look into the installation DVD, you’ll notice an inconspicuous little folder named TestToolKit which contains these files:
Import them, and you are good to go.
Application test toolkit is nothing new. It was first released in late days of NAV 2009 with several hundred unit tests (around 490 if my memory serves me well), and was followed soon with around 7900 unit tests for version 2013. However, as time went on, there was R2 and a large number of cumulative updates, all of which rendered the long-released application test toolkit mostly useless.
Microsoft has talked about Road to Repeatability for a long time now, but expecting partners to be truly repeatable, and not arming them with tools to eliminate bugs, was a sure recipe for repeatable problems, not repeatable solutions. Multi-tenant environments should be as bug-free as possible, and being able to discover regression issues was of utmost importance.
I have always been a big believer in NAV testability, and have been evangelizing it ever since it was first released in NAV 2009 SP1. Over the past year I have delivered sessions on testability and unit testing in NAV for partners from 18 countries, and on every single occasion I was faced with a big question mark: why does Microsoft not release the test toolkit for the standard applications? Well, now they have. Late, but definitely not too late.
Even though you may not write your own unit tests (and if you make this choice, it’s for all the wrong reasons) then at least please use the objects provided by Microsoft. They will tell you immediately if you break something, and your developers will know about your bugs before your customers, or support department do.