19 June 2018

Accurate consistent testing is the key to smooth implementations

Dropped in Dynamics 365 ERP

James Crowter
Formulated by James Crowter
Two of the hardest questions that we sometimes face are: ‘How much testing have you done?’ or the worst: ‘How did this get through testing?’
 
After all, comprehensive testing is immensely time-consuming and laborious even if everything goes as you hope it should. And as It’s the last stage before deployment, testing often gets squeezed when the pressures of a successful go live are very high.

Automated testing is the answer

In 2014, Microsoft introduced a set of tools that enabled us to create automated tests, although the first version honestly wasn’t that easy to use. Four releases later, they have now reached a point where they work so much better.
 
This means we can now write a scripted test which we can run as often as we like. Not only does this give us a pass or fail for that test in milliseconds, but we can then combine it with the approximately 18,500 tests for standard Dynamics NAV provided by Microsoft. This gives us a massively more comprehensive picture than can be achieved manually, even with our combined efforts.

Everyone here is trained for automated testing

Here at Technology Management, we are so convinced that automated testing is the future that last month we made a significant investment in getting our team trained. Not only have our developers learnt to write the testing code, our consultants have been coached on how to define and then run the tests. In addition, our customer service and project management teams have also been taught the relevant processes.

Define, script, run and then do it again for every variation

There is some up-front time required to initially define and write the tests. To do this, we create a comprehensive test plan and then script that test plan. The aforementioned Microsoft tools support us from here with just a single line creating a customer record, another creating an item and another creating a sales order.
 
The good thing about the scripting is that once we’ve written the first test for an area, executing it again with a single change and then again with an additional change will take mere seconds.

Data agnostic or data dependent?

Microsoft’s recommended approach is to write tests so that they can be run against any set of data in any company or database. This is called called unit testing, where the test creates all the data which it is dependent on and then executes the test.
 
We have single line commands that can create G/L accounts, customers, items, orders, journals and pretty much any other type of data you can think of. You can then run the test and discover if it’s done what you defined it should or shouldn’t do.
 
Alternatively, scenario tests are where you test a process end-to-end and can be completed in either a data agnostic (where every piece of data required is created) or data dependent way. Data plays such a critical part of having a smooth Dynamics NAV system that having both types makes sense. For instance, we have a process that can loop or randomise the script so that we can create, ship and invoice a sales order to every single customer for every product within minutes.

Write once and use forever

The massive advantage with automated tests is that once they've been written they can be used again and again. Every time a new release of customisations or an upgrade goes through, regardless of how small it is, it will only take a few minutes to run the tests, as opposed to hours or sometimes days of manual testing. That’s just the best situation to be in and certainly makes everyone sleep easier the night before a go live.

Defining the testing process

We are now taking the extra step of adding a new section to our change request and technical design documents that will define what the testing process is going to be (manual, automated, mixed) as well as the test plan.

2017 and upwards only

We know that clients still on Dynamics NAV 2016 or before unfortunately cannot use automated testing right now, although building it into the upgrade process means it will only replace the testing that you’d have had to do as part of the upgrade anyway.

The last piece in the jigsaw

The dream that we’ve all had of a brilliant capable system, that we can get to do what we want with minimum effort, is getting there and automated testing seems to be one of the final pieces.
 
I know from the instances where I still get to write code, that I spend more time testing than I do writing. Getting the data in the situation that I need for the process, running it through, accessing the results, changing or adding more code and then starting all over again. Usually, when I’ve finished that I then have to start end-to-end tests and see what has unexpectedly broken which can prove inevitably frustrating.
 
Often, between everyone involved, testing takes more time than any other single activity. While automated testing should completely remove manual testing, it should also mean that problems identified once an automated test has been written never reoccur. That will be real progress against a real frustration and be great for us both. 
 
If you have any further queries, please do not hesitate to call me, or your account manager today to learn more about how automated testing will support your business during a new implementation.
Enhanced on 19 Jun 2018

Reply to James Crowter's post

Get in touch with one of the UK's best Microsoft Dynamics partner

Start your journey towards excellence with Microsoft Dynamics 365

Let us know your details and we'll get in touch with you to learn how we can transform your business processes and operations with Microsoft Dynamics 365 Business Central & Dynamics 365 Customer Engagement:

*

*

*

*

*

Protected by GDPR. We'll never share your personal data.

0
Years established
0
Happy customers
0
Projects
0
People supported
Brandauer
Pipers Crisps Co
Aden + Anais
Costa Coffee
Charlton & Jenrick
World Animal Protection

Get in touch

Wolverhampton

St Mark's Church
St Mark's Road
Wolverhampton WV3 0QH

Newcastle

19 Kingway House
Kingsway
Team Valley
Gateshead NE11 0HW

Call: 01902 578 300
Skype: Call now

Co. Reg. 03100541
VAT No. GB559725692

Follow us

If you want even more, you can stalk us on any of our social media platforms: