Most of us lead hectic lives balancing work, family and leisure. We tend to be time-poor, struggling to fit in every day monotonous activities (shopping in my case).
Lately I decided to purchase a Chromecast device to upgrade a basic LCD TV at home for streaming Netflix. I was working fairly close to a major consumer electronics shop in Dublin, and decided to pop in on my lunch break to purchase one.
Unfortunately having made the effort to go to this store, they had none in stock, great that’s 50% of my lunch break wasted! I decided to head to one of their other stores on the commute home.
Now this second store was not exactly on my way home, so I used the stores Online Stock Availability facility to confirm the devices were in stock, 20+ devices available, great news. Having fought traffic, I arrived at the second store to find zero devices available; needless to say it was a tad annoying.
Approaching the Customer Service Desk, I can see multiple devices on a shelf behind the counter marked “For Collection”. I asked the Sales Agent could I purchase one to be told no, they are all reserved for customers who may arrive in the next 24 hours.
As I was about to give up, I thought how can I stretch their business process here. Are there other ways to complete this process? It dawned on me to use my SmartPhone while in the store to go online and Reserve one of the 20+ devices still showing online as available for “Click and Collect”. Processing the transaction, I waited a few minutes and returned to the counter with my Collection Reference.
Now of course none of the devices on the shelf behind the counter had my Collection Reference Number (the process states you must wait 60 minutes) as it was too soon after the transaction but as I had a valid reservation reference on my phone, the Sales Agent (a different one to before) pulled a device and sold it to me, result!
What is an Edge Case?
An Edge Case is a problem or situation that occurs only at a maximum or minimum operating parameter. In software business process terms, an Edge Case typically is where a user exercises the software or process in a way in which it was not typically designed to be exercised but where it allowed the user to do so.
Business Process Edge Cases and Testing Considerations:
- Business process often does not have a pre-determined outcome, people are un-predictable and will work around process or implement processes in different ways sometimes unintentionally.
- Metrics from business process are not always accurate. In my example above the Stock Availability function had issues.
- When testing business process, it’s important to think about Edge Cases and how users may stretch the defined process to work in their favour. A great Tester will always account for Edge Cases.
- Edge Cases are not typically the types of scenarios ever covered by Test Automation. Those only running Automated Tests tend to have lower or no Edge Case considerations.
- Some producers of software don’t really care about Edge Cases, they will fix or adapt in-live. While this may suit some end business processes it definitely will not for others.
- With the growing use of AI (Artificial Intelligence) and IoT (Internet of Things) solutions, how are Edge Cases going to be addressed? If people are involved in any aspect of a Business Process with regard to digital inputs and outputs, then there is always risk of unforeseen results and consequences.
Exactest is an independent software test consultancy providing software testing solutions to quality concise and market driven clients utilising experienced test professionals and innovative technical solutions.