I find that testing software tunes me into thinking of ways to test real-world objects.
If something interesting like vending machine card readers comes on the scene, I think it’s fun to stand there and think of ways I’d test it if I were working at the place that makes them.
The people in line behind me don’t feel the same way.
Vending machines are sometimes equipped with a card reader, allowing people to pay with a credit card.
Some are also able to accept payment via Apple Pay, by waving your iPhone in front of the device.
This technology makes it much easier to vend snacks and drinks. However, as is often the case, there’s a lot going on behind the scenes to get technology to have a simple user interface.
The way it works is this:
- Swipe the card or wave your phone to begin a purchase cycle,
- Select item(s) to vend,
- When done with your selection(s), press the “Complete” button to complete the entire transaction,
- Enjoy your snack(s).
For this exercise, assume the following:
- all snacks and drinks are $1.00,
- you have an iPhone enabled with Apple Pay,
- you also have a credit card,
- and the card reader accepts Visa, MasterCard or American Express credit cards.
How would you test to see that the reader is working properly? What kind of test cases can you come up with? Are there failure conditions? What would they be and how would you catch them?