Automated testing makes it easier than ever to ensure the quality of a company’s business solution – and makes really good business sense.
Many companies still regard testing changes or extensions to their business solution as annoying and time-consuming. Often, they even start testing so late in the project phase that the effort does not make much difference.
“At the risk of putting anyone’s back up, I have to say that this is simply an off-the-wall, obsolete approach. In fact, testing – in particular systematic, automated testing – should be regarded as an investment that provides returns on many levels,” says Mikkel Bertelsen, Senior Solution Architect at Columbus Denmark.
He acknowledges that improved methodologies and better development tools take much of the credit for the fact that today’s IT solutions generally maintain a much higher quality than their ancestors. But testing is just as crucial.
“Today all global software and development firms conduct consistent, automated, efficient and thorough tests. But they don’t do it for fun. They do it because it pays off,” says Mikkel Bertelsen.
“However, companies tend to overlook the value of automated testing in the development and implementation of business solutions. That’s a shame. Because in a way you are subjecting both the company and your customers to unnecessary risk.”
Tests detect errors before they become critical
For example, testing ensures the quality, stability, capacity of a solution and its integrations with other systems. Testing also detects errors in advance and checks that everything is working as it should, and will continue to do so – even when a large number of people are using the solution at the same time. It is important to know this, not only before a new solution goes live, but also when changes are made to a solution that is already in production.
“It can be critical, for example, if an ERP system starts churning out wrong shipping documents, or if one day it’s impossible to issue invoices or order new raw materials. In the worst case scenario, with poor software quality you may suddenly find yourself in the red. Testing can substantially minimise these risks,” says Mikkel Bertelsen.
Start well in advance and take one step at a time
Nonetheless, many companies start testing far too late. Maybe not until the very end of a large project, when the solution is almost complete, and when the project group are stressing about meeting the deadline.
You should get started as early as possible in the project process. First, of course, you need to define a strategy. Then you need to be sure you test the individual solution elements as and when they are ready. It’s about taking one small step at a time instead of trying to tackle everything at the last moment
“You should get started as early as possible in the project process. First, of course, you need to define a strategy. Then you need to be sure you test the individual solution elements as and when they are ready. It’s about taking one small step at a time instead of trying to tackle everything at the last moment,” he says.
This makes it easier to manage the project and reallocate resources efficiently along the way. At the same time, you are already in the process of building the library of test cases, which can be used as a template for future tests, and which will be part of the final end-to-end tests of the entire new solution.
Want to know more about life after go live? Download our e-book with the experts' best advice.
Automated testing provides efficiency gains of at least factor 10
But automated testing has now made the work much easier, and it’s something you should really take advantage of
“In the past, manual testing was laborious. That gave the practice a bad reputation as something cumbersome, slow and costly. That reputation was fully deserved. For example, I once worked on a project in a pharmaceutical company. We had to review 17 test cases, which took three days of full-time work involving manual scripting and testing. Each and every time, we made just the slightest change to a particular interface. It was hard, monotonous and costly. But automated testing has now made the work much easier, and it’s something you should really take advantage of,” recommends Mikkel Bertelsen.
“If we take the above example, today it would still take a few days to prepare and conduct the very first tests of the software in question, while all subsequent tests could be completed in 2-3 hours. In other words that is an efficiency gain of at least a factor of 10. It’s amazing!” he says.
Stress test the business system and avoid tedious surprises
Using automated testing, you can also more easily stress test the solution by simulating a situation in which a large number of users are accessing different parts of a solution or the same sub-element of the solution at the same time. This helps prevent tedious surprises when there is peak load: for example, during public holidays or when presenting annual accounts.
At Columbus, we always recommend preparing and following a testing strategy as part of a process that includes the development and configuration, implementation and operation of a solution – or when implementing updates. On the one hand, this ensures quality and increases the likelihood that all business-critical processes will work as intended. On the other hand, it’s basically good business for the customer,” says Mikkel Bertelsen.
“So, if I have to give a short answer to the question of when testing is relevant, my answer is: ‘Again and again and again!’ And fortunately, it has become easier than ever,” he concludes.
Would you like to find out more?
If you are interested in other aspects of everyday life at Dynamics 365, then we have collected a number of experts' best advice on how to get your system in the best conditions after go live.