Head of Customer Accounts
“How much of human life is lost in waiting!” sighed Ralph Waldo Emerson. So one of our clients, a large financial institution, decided to do something new.
What are the Benefits of a Mobile Banking App?
For over a century, customers would have to physically arrive at the bank to deposit a check. For a transaction that took no more than a few minutes, people would take a half an hour out of their day to drive to the bank, wait on line, write out a deposit slip, endorse the check, and hand it to a bank teller to get a receipt.
For the last three decades, technology made things a little bit easier. We could use an ATM machine. But still, we had to come to the bank, and during peak hours wait on a line.
Then our client asked the big question: What would it take to make a mobile banking application outstanding? The answer was simple, save customer’s time and effort in their everyday banking activities.
What if you could deposit a check by simply taking a picture of it? If you could take a check, place it on the nearest table, snap a picture of it and send it to your bank where they process it immediately that would save you a trip. It would also save you from waiting in line. It would also enhance security by eliminating the need to carry the check from one place to another before depositing it in your account.
Such an improvement of life would be great for customers, brand loyalty, and new business. It would be among the greatest benefits of mobile banking to date.
So they developed the next version of their mobile application to include this feature.
Now they need to perform their mobile testing so they called Experitest. What seemed like a simple testing process became complicated and risky.
We encountered four major challenges in verifying the quality of their mobile application.
Answering Mobile Banking’s Challenges and Opportunities
First Challenge: Re-establishing Mobile Test Automation.
The feature works as follows:
- The user sets the check down on a smooth surface.
- Using a mobile device, the user activates the mobile camera to take an image of the check.
- The mobile application reads the image and using image recognition technology determines what information goes where, and sends it to the company’s database in their server.
- Once the information has been received by the bank’s server and is ready for processing, the user gets a confirmation of the deposit.
The first mobile testing challenge for this banking app is to prevent this from becoming a manual process. The standard for mobile testing today is to set up a mobile lab at one location with hundreds of mobile devices where each device is accessible to every developer and tester in the company. As the tester creates and runs the test scripts, a series of mobile devices sitting in the lab will begin to work, running the script on the new build of the mobile application.
This is the first challenge: How do you simulate the placing of a check on a hard surface and taking a picture of that check at least 10 centimeters away from the mobile device?
It’s a manual process that must be automated, or else their application won’t be fully tested until 2050. Either that or a bunch of mobile testers may have to travel 6,000 miles from their desks to the mobile lab just to place a check on a table!
The solution was to take a series of checks in different sizes, formats, colors, and font types, and record pictures of them. We took images of those checks at different angles, and from different locations away from the check itself. We took images in different resolutions using different types and versions of mobile devices.
Then, we put those images in a repository. When the bank’s mobile testing team wanted to “take a picture” of a check, they decided which check, at which angle, and which distance. Based on this information, a program would stream into the phone, a simulated the image we already recorded in the repository. It’s kind of like having a picture come on screen without actually taking it. The phone thinks it took a picture of something without actually doing it.
It worked. Phones inside the mobile lab never had to move at all. They could continue to automatically simulate “picture taking” scenarios and we didn’t have to backtrack into manual testing.
Enjoy a FREE one month trial of SeeTest Automation along with a live demonstration on developing test automation scripts!
Check it out at Automation Made Simple!
QA Makes it Work!
What can Banks add to Their Mobile Apps to Make Them More Useful?
Second Challenge: Mobile Testing on All Types of Mobile Devices
Now that we could take a picture of a check, we needed to confirm that the quality of the picture would be sufficient enough to record the data. All smartphones and tablets have a camera. However, some devices have a top of the line camera that records images in the highest resolution while others have powerful features in different areas of the device.
Even if 90% of the mobile phones took a picture with sufficient resolution to read the data on the check, all it takes is someone with a 5-year-old phone to take a bad picture and things could go badly. He can tell all of his friends that the app doesn’t work and he lost his money. A lot of time in development and mobile testing would be wasted if we couldn’t figure out a way to make sure the mobile banking service would be available to people with all types of mobile devices, operating systems, and versions.
One of the advantages of SeeTestAutomation is that you can run your tests on any mobile device and mobile operating system. Because we were able to automate the mobile testing process, we could also run the tests in parallel execution. Using SeeTestAutomation, we ran a single test script over 50 different devices all at once, making sure the devices ran on different mobile operating systems and versions. We could determine which devices the application ran flawlessly on, and which combinations of devices that were old, had poor cameras, or weren’t taking the best pictures, and sent the results to development to enhance their app.
How Useful is a Mobile Banking App? You Need Mobile Testing to Find Out!
Challenge Three: Identify the Information on the Check Correctly
Now that we have good images on our phone, we need to make sure that the image recognition functions are recording the right information. Every check contains information for the amount, the date, who is writing the check, who is receiving the check, the account of who is writing the check, notes in a memo line, and even the address and logo of who is writing the check.
The image recognition technology must be perfect. You cannot make a single mistake with people’s money. If a disgruntled user tells his friends that his account is $500 light because the mobile application didn’t record his paycheck accurately, and he had to spend 2 hours at the bank arguing with a manager, you will lose business. This is one of those cases where mobile testing directly impacts the success of the application, the success of the company’s good name, and the success of how much the company will make this quarter.
Test automation is vital. The addition of a wide variety of checks adds a new layer to the test coverage, and there are already 50 million combinations of devices, operating systems and their most popular versions, and local networks making up test coverage already. Subject to heavy regulation, banks have to cover a wider area of this coverage than other industries. We needed to simulate taking pictures of different types of checks at different distances, also at various angles, with some checks written in perfect handwriting, and others written in a way that is hard to decipher. Some checks looked brand new, others had creases, tears, folds, and smudge.
Then we used as many different types and versions of mobile devices to take pictures of all these checks, with their logos, addresses in different areas, font types for dates, names, and amounts in different sizes and styles. We had each device take a picture, read the data, record it in dummy accounts in the company’s servers, and then return the confirmations with the information the mobile application recorded and sent to the bank’s database.
To make this the best mobile banking app, every enhancement to this mobile application going forward would require this process to be repeated. This makes regression testing a huge part of the process, and test automation an essential part. Without it, the app would most certainly fail in live use.
The Final Step To Make this the Best Mobile Banking Service Worldwide
Challenge four: Mobile Testing for Performance
Mobile testing for mobile banking applications is not complete without proper performance testing.
Ironic, isn’t it? Almost done with the process of reducing a half an hour chore to a 2-minute task, the whole thing could be jeopardized by a 1-second delay! We really didn’t want people to continue to wait in lines, especially if they had to end up like this guy . . .
If a mobile application takes too long to upload, or a function takes too long to execute, the user will not distinguish between a functional error and a lag in performance. They will decide that the app is broken and delete it. For 2016 and beyond, mobile performance is a new function.
The challenge was broken into two parts:
- How can we account for different people accessing the mobile application in different places?
- How can we prepare the mobile banking app for varying levels of mobile traffic?
The financial institution was a global one, with offices throughout the world. However, their processing systems were more centralized. The data that the mobile application needed would be located at the same place regardless of where each mobile user was accessing it.
What happens when a user makes a deposit in a rural area with a weak connection? Will they encounter performance issues? Will they go online and tell their friends, who live in cities with powerful connections, that the app is sluggish?
What about someone who uses the app while in an elevator? Do challenging physical positions endanger mobile performance?
SeeTest Network Virtualization can simulate different types of networks while executing a functional test.
The challenge for mobile testing is that businesses, knowing how vital a good mobile strategy is to their success, will invest in top of the line resources for developing and testing their mobile applications. When a mobile tester will test to see if a function on their app is working, it will be with a direct connection and no interference.
The users won’t have that luxury. There will be unsteady bandwidth and latency throughout their mobile experience. Depending on where they are, the degree of unsteadiness will be different. In the mobile testing lab, the results will be simple. Either the function worked or it didn’t. In order to make sure the app will serve the user’s needs in real time, you need to make sure that when your test automation tool runs a test script on your app, it tells you how long the function took to execute.
SeeTest Network Virtualization takes it to the next level. As you are performing the functional test, Experitest’s mobile performance testing tool will simulate different types of network conditions the test is running over. Instead of the test script running the function under ideal bandwidth and latency conditions, SeeTest will re-create conditions that a user in Prague, Mumbai, or Manhattan will be experiencing.
Now we need to test for traffic. Either most people collect their check on Friday, or large companies with tens of thousands of people will hand out the checks on the same day. Under both realities, the mobile banking app can expect large spikes in traffic at certain times in the week. They must be ready for the surge so the app won’t pause or crash once 3,000 people converge on the same spot in the app server.
SeeTestLoad was able to simulate different levels of usage for the mobile app. By creating thousands of users, we could determine how different levels of mobile traffic would affect the speed at which each function executes. When the high traffic periods occurred, the company was ready for everyone.
Mobile Application Testing: Underwriting the Benefits of Mobile Banking
It was a great day for everyone. We were able to enable a large financial institution to leverage mobile technology to serve millions of people by sparing them a trip to the bank. They no longer have to deal with long lines, frustrated customers or unnecessary paperwork to put their hard earned money into their own bank account.
As mobility continues to change the world, we at Experitest are proud to empower these changes to come as quickly as possible and to seamlessly make your day go a little bit better.
Get Updates on Software Quality Assurance at
our Experitest LinkedIn Page