Changes—even small ones—in your Microsoft Dynamics ERP can have major downstream impacts, because your systems are integrated. Bringing all your business functions under one umbrella can do wonders for efficiency, but the flip side is that multiple departments could be affected by a minor alteration in your ERP solution. That's why you need to be familiar with regression testing - the process of running tests on software applications to ensure that programming changes or additions haven't broken existing functionality or introduced bugs into the system. Dynamics 365 for Finance & Operations can be affected by custom code, updated settings, configurations or new data. By creating pre-determined test scenarios to simulate how data moves through your system and the actions that happen as it does, you can identify and correct potentially costly errors before pushing your changes live.
Regression testing most often occurs during the initial implementation of your ERP system, when the largest number of changes are being made. If you have a good ERP implementation partner, testing is a critical part of your implementation roadmap. However, you should test any time you change or update your ERP system, even if you've been using it for years.
Regression testing may be time consuming, but not doing it can be disastrous. For example, we worked with a customer that specialized in drop shipment orders to the U.S. from China. The inventory went straight from the vendor to the customer without going through a warehouse. The company neglected to test all possible scenarios, so it wasn't until they were already up and running that they realized purchase and sales orders were being entered incorrectly, with significant impact to their general ledger. They had to revert back to manual processes, trace back the mistakes, and then retrain their department to enter the information correctly in the new ERP. It cost a lot of time and effort and caused a lot of pain that could have been avoided by testing prior to launch.
Below are some best practices to consider as you prepare to test:
For all of the above, you want to define expected or assumed outcomes prior to testing. Then compare your expected results to your actual results.
Your expected outcomes can also be positive or negative. The expected positive outcome for a purchase order test would be one where the order ships successfully, and an invoice is sent to the customer. If the test scenario calls for you to select an item that cannot be sold in the selected locale, your expected negative outcome would be an error message. If your actual outcomes don't match your expected outcomes, be prepared to investigate why, make necessary changes, and then run the test again.
To get the most out of regression testing, you'll want the people who will be executing the tasks on a day-to-day basis to input the data into D365 F&O. You get two tests for the price of one: You can test your ERP setup, and your employees get trained and tested on using the system in a scenario that doesn't (yet) have real-world consequences.
Running the tests with your normal user base also functions as a stress/load test, to make sure your configuration can handle having a normal number of users logged in and using the system, with a standard number of transactions.
Additionally, some of this testing can be automated. Our development team has built an automated testing framework, so we can automate and repeat the testing of a single order going all the way through the system multiple times with a large amount of data.
By testing changes to D365 F&O early and often, you can help ensure that when those changes go live, business will proceed smoothly.