This may sound like a cliché but both developing software and testing are part of the same thing. If you want to make sure that your system is right for your business, you need to make sure that any changes you develop are fully tested before going live.
To put this into context in the form of an example, let’s pretend you have been given a new process which can enable you to calculate a rebate amount on your Posted Sales Invoices. Now, you have been given the task to manually test this out before it goes live.
The first thing you need to do is to draft a new Sales Invoice. However, you have been told that rebates only apply to certain customers – so you need to search for a customer that can be used on the Sales Invoice. You may have one in mind before this stage but if you don’t you will need to identify one.
After you have completed the first step, you will need to add a relevant item to the order that makes use of the correct type of pricing setup.
Following on from the above, you will need to post the sales invoice. The only problem is that your company is set up to use warehousing so you will need to draft a warehouse shipment, set up a pick, register the pick then post the warehouse shipment followed by posting the sales invoice.
Yes, you have done it! It may have been a long process, but the test worked, and the rebate calculation was correct.
However, after you completed this, someone in your business has mentioned that you will need to do another test with a different item that makes use of a completely different pricing setup.
So, you have little option but to run through the whole test process again.
You complete it again and after multiple tests for different variants it's all good to go ahead!
However, things change...
Less than 12 months later you have been told that the rebate calculation needs to be changed again. You need to go through the above test process again – just hope you still have the notes from the original test!
As well as this, you are also informed that your business will be making the move to Business Central in the cloud – you've been told that the system will be updated every 6 months and therefore it's of the utmost importance that the rebate functionality continues to work in the way the business wants it to do so. There is a high probability that it should work fine, but can you take that chance?
From the above, it is clear that the testing process above is going to take up a great deal of your daily time.
It doesn’t have to be like this, you could use automated testing instead?
So, what is automated testing for Dynamics 365?
For those that don’t know, automated testing is when code is written that will enable you to test that the system is working exactly the way you want it to do with the expected results.
Here at Advantage, using Microsoft Azure DevOps we can write these tests once and following this are able to run them as many times as we need. Every time a change is made by one of our development team to one of your apps then any previously written automated tests will be automatically run. From here, if any test then fails to complete and needs extra investigation before the developer can go any further. We often refer to this as the ‘build process’.
As well as completing the above actions, when we are getting ready for a new release of Business Central in the Cloud, we can run any automated tests that have been created for your system to make sure that any new features or modifications made by Microsoft will not impact on any customisations setup in your system.
Ok, great but does that mean I don’t have to do any manual testing in Dynamics 365?
Well, this is not true, manual testing is still vital during any software development process and you need to check that any changes made work in the way you want them to. The best way of completing the most effective checks is by getting a day-to-day user of that system to test them out for you as they will be the ones using the system!
Do I need to include automated tests every time I make a change or customisation in the system?
In the perfect world, always! However, time and budget constraints determine that you need to focus your efforts on what is ‘business critical’. Tell yourself – if an update from Microsoft causes your system to break could you manage without it for a short time while it's been investigated?
If you want to have automated testing setup for your Business Central system by Advantage, why not get in touch with our team of Business Central experts today to discuss your specific testing requirements?
Want to hear more from us? You can if you are part of our mailing list.