How to Test Modifications Properly in Navision

Why Do Companies Need Modifications to their Software?

software bugsMost clients who have ERP and Accounting software will at some point need modifications or personalizations to fit their specific business needs and processing work flow. These modifications are formally called ‘change requests’ and can occur during the initial implementation or at a later point when a business improvement or change is needed. These modifications can be simple report changes like cosmetic updates to the check report or complex updates to EDI or manufacturing processing. These modifications allow companies to adapt their business model to changes in the market place and maintain their competitiveness.
After the write-up of the change request and client approval, the NAV developer will complete the development of the design changes. The developer creates a formal release of these new object changes and assigns a specific version tag. The release object will go through internal testing /quality control by the NAV Solution Center (NSC) and will then be released to the end user.

Why Clients Should Test Modifications

When new functionality is released as part of object changes, testing in a NAV staging, testing, or development database before deploying into the production database is critical to ensure a successful implementation of these updates and minimize business disruptions. In many instances, new issues are discovered during end user testing, as the end user may have inadvertently left out information during the initial change design sessions, or process using a deferent methodology.

Case Study:

A client asked for a new processing report to import payroll journal entries from their payroll company. During end user testing, it was discovered that the file provided by the payroll company did not have the correct G/L account numbers as needed. The appropriate design and data updates were made, and new testing completed that resulted in no disruptions to business processing and /or user complaints. If the end user would have deployed these changes without testing, the result could have been business disruptions (manual keying of the journal entry) and user complaints.
The following are key reasons why end user testing is important:

  • Reduce business interruptions
  • Reduce the occurrence of over-budget projects due to additional programing needed
  • Reduce data corruption issues
  • Reduce security/permission issues.
  • Higher level of user satisfaction.

Creating a Development Environment – Key To Success

If you have not done it already, you will need to set up a staging environment that simulates your production database. With this staging or development database, new released objects can be imported and tested without the risk of business disruptions. Further, the end user project manager can then assign test scripts to the actual users to test the updates, as the actual users may find different issues when they begin processing in their normal day-to-day manner. Once the end user testing has been completed, then deployment into the production database can be scheduled and completed.
If your servers are ‘Virtualized’ creating and maintaining Development and Test platforms becomes much easier.  This white paper on Virtualization explains it in laymen terms.