How Would You Test An ATM?

@friendlytester tweeted yesterday about an Oracle for testing ATMs

It got me thinking, I do love a good “how would you test this” discussion! How would you test an ATM?

I’ve some unique experience in that I used to work in the cash office of a store so I’m used to the calls of “Your ATM is out of service” from the banks. This also makes me biased of course. For me, it would be logging, logging, and logging. Both a paper record in the machine and a digital record that the banks have access to.

This isn’t all related to how the software functions but it is tied highly to risk factors for the bank. Did you know that if you don’t take your money quick enough from the dispenser that the machine has to take it back in? The bank needs to have a log of that so that when the customer calls saying “I never got my money”, they can verify that they didn’t and credit the amount to their account.

I could go on about all of the ideas I have for this but I’m interested to see yours.

I once accidentally broke a cash machine by going into accessible mode (you know, for fun), then attempting to leave said mode soon after. Instead of going to the standard ‘out of order’ screen, it crashed to a blank screen and could not be revived until an engineer was dispatched.


That is spectacular!

The ATM in the store I worked in was one of those where you insert but then remove once the card has been read. At least once per day it went out of service with people removing their card too quickly. Took nearly 8 years for the machine to be replaced with one that held the card for the entire transaction.

I have a friend that used to work for an ATM company. One of the most common requests was adding (or removing) support for different languages. One of the issues that came up was the ethical concerns of removing certain language support. How do you address ethical concerns with your testing? Is asking “Should we do this?” something you feel empowered to do or not?

In overall testing an ATM, I think you’re right on the nose with logging, @heather_reid. When you’re dealing with people’s money, accurate logging is a must. I’d also be interested to test around currency conversion for people operating ATMs from a foreign bank.

I think another interesting area to test would be the touchscreen/keypad - what’s the life of the touchscreen sensors, for instance? How sensitive are they? I used a touchscreen ATM once where the registered touch was about a full inch off from where I was actually pressing on the screen and it was incredibly frustrating.


Oh yes! I notice while traveling that some offer a message of “Todays exchange rate is X. Would you like to continue with this exchange: Yes? No”. It’s not on all of them though. I wonder why there are those differences.

Maybe try withdrawing money at midnight on the dot?

Another one mentions a midnight to 1am loophole here -£1million-which-he-blew-in-four-months-on-a-playboy-lifestyle-but-he-has-no-regrets-despite-serving-a-year-in-jail/ar-BBR6cff


Heather, I understood that the currency exchange transaction is done at your bank’s end, not on the ATM. It’s been a while since I’ve used an ATM in parts foreign, so I’ve not had the opportunity to see the option to not do the transaction based on the exchange rate.

I’m uncertain as to how useful that option is, though. Perhaps OK if you’ve been checking the rates on your iPad all morning and have another account with Bank B that you can withdraw money from if you don’t like the rate Bank A is offering. For the rest of us, I think that’s just an additional complication.


Very delayed reply, but in my experience the correct answer to this question depends on the rate and/or flat fee your bank charges for foreign currency withdrawals. If it’s a competitive rate/fee (e.g. mine is 2.75% of the total, with no flat fee on top) then you’re normally better off making a foreign currency withdrawal instead of accepting the (often questionable) conversion rate that the ATM is offering you. You can also get prepaid debit cards with a one-off fee for purchasing the local currency in bulk, but no transaction fees for purchases made abroad in that same currency.

1 Like