ATMs need better methods of testing software
ATMs can last a long time. Many machines are active for more than 10 years. While newer ATMs offer more options to customers, sometimes an ATM hasn't reached its end of life. However, as these cash dispensers grow older, there is a greater emphasis on performing regular maintenance to avoid the machines breaking down at a critical moment. With maintenance comes important testing measures to determine fixes and find out if any repairs worked.
ATM testing processes should open up to all possibilities of failure
While ATMs evolve, so too should their testing processes. A recent article by ATM Marketplace highlighted the difficulty of ensuring these machines stay functional. After initial tests, the software for a given feature often gets ignored for an extended period of time since it worked in those tests. However, a problem could surface several years later that would cause major issues for the ATM deployed. An example that the blog specified is sending transaction data with the same message coordination number as a previous message. That can trip up banks and prevent withdrawals.
The most common reason for software failure is the continuous updates and configuration changes to address evolving needs for the proprietor of the ATM. Something in the code receives an alteration that causes a previously working feature to not function anymore. However, because the feature worked before the update from initial testing, the issue isn't seen by anyone until the software update or new configuration is already live. That creates a situation where it's difficult to predict where a problem will arise. It also makes it difficult to fully test an ATM after a certain number of years, since the number of tests required becomes overwhelming.
The best way to address this problem is vigilance in continual testing. Make sure that your ATM vendor tests its software regularly in an effort to be proactive rather than reactive to changes. Your ATM should have software that's as robust as the hardware and have a service infrastructure that is responsive to implement new software versions. In doing this, businesses will have a functional ATM at all times and not risk losing money or customers.