by Barry Burke
Whilst it’s true to say that all testing can be carried out manually; it takes time to plan, build, execute, evaluate and document every single test script. If you are running lots of scripts, and testing regularly, it’s easy to see how you could be spending hundreds, if not thousands of hours every year on something that could easily be automated.
In a digitally-enabled world, where we have automated just about everything else, it’s somewhat surprising to find so many organisations still relying on manual testing. Automation can help improve all areas of testing; from script development to test execution, results analysis to defect monitoring.
Test automation offers a variety of benefits, but they can be boiled down to four key advantages:
- The production of a consistent, reliable test methodology
- An improvement in the quality and accuracy of testing
- A reduction in the amount of testing effort required
- An enabler for JDE continuous delivery, or code-current strategy
Aside from the obvious – running tests faster; the repeatable nature of automated testing can deliver other benefits too. Here’s an example: suppose a tester finds a bug. The developer fixes it but, on average, 7% of bug fixes create new bugs. Now you need to run the same test again, plus run tests on any dependent workflows.
This doesn’t happen enough in a manual test environment, where testers can adopt the stance that the bug has been fixed and move on. This may lead to a defect making it through to production, which is significantly more expensive to fix than if it was caught in the development or pre-production environment. Remember, prevention is better than cure!
If you’re still not convinced, here are ten ways in which test automation can add value:
- Complete more testing in a shorter timescale.
Testers can do more for less and projects can be delivered more quickly; helping to increase operational efficiencies.
- Tests can be repeated exactly.
Any tester can run a script created by another tester, without having to have the expert knowledge of the originator. Repeating an automated script delivers more consistent results.
- Reduce tester fatigue and boredom.
Testers can spend more time tweaking automated scripts for more complex scenarios, rather than re-entering test script data manually each time with the inherent risk of human error.
- System-wide visibility of testing enables you to benchmark performance.
Quickly establish how a change event project is progressing, the level of defects detected and compare performance with previous or similar projects.
- Schedule unattended testing out of hours.
You may want to regression test a system by running larger volumes of tests out of hours. This is where test automation can add significant value. Kick off a volume of automated tests at the end of the working day and then check the pass/fail rate the next morning.
- ‘Soft Code’ your testing.
You may have lots of test scripts that share common data, such as a GL Date or a Business Unit. Wouldn’t it be nice to just change the GL Data once in a Repository data store and then have that update all the test scripts that use that GL date automatically?
- Realistic stress and load testing.
Many bugs are only triggered when a system is tested with a high input data rate, or if run continuously for many hours. It is not practical to simulate these conditions with manual testing.
- Manage major change events more efficiently.
For a major project, such as the on-boarding of a new business unit into the JDE Edwards system, testers may want to carry out the same test they do now, but on the new company data. Automated scripts can be easily copied and have key soft-coded data to accelerate the process.
- Automatically test end-to-end business processes with one click.
Sophisticated test automation software allows you to link-test scripts that are part of an overall business process, such as ‘Procure-to-pay’ or ‘Order-to-cash’. These can be set up in test ‘Queues’ and can dramatically accelerate the time it takes to test core business processes.
- Automatically test application access after security changes applied.
All JDE customers change their EnterpriseOne security settings from time to time. Automation allows you to set up specific security-related scripts that can be run every time there are security changes; ensuring that access is only given to the appropriate users.
In many areas of an ERP application, the subject matter expert (SME) or business expert may be the sole owner of specific knowledge. With test automation, the SME can design and build scripts to cover all the business processes associated with their area of expertise.
This not only eliminates a reliance on one specific resource, it also provides a documented record of the business process. This helps accelerate induction training of new employees and retains the subject matter expertise in the corporate memory.