The Internet and smartphone era has brought changes to the well-known offline services and has influenced every corner of our everyday life. If someone needs to book a flight, train tickets, a room in a hotel or order something in a restaurant, they most likely will use a mobile app for these purposes.
Taxi services are certainly no exception to this. The traditional way to book a taxi is by physically waving one down in the street or by calling the taxi company. These methods are hardly used anymore. Booking services such as Uber that use mobile apps for their business are currently valued most in the taxi market.
The considerably lower prices, higher levels of comfort and easy-to-use taxi apps make them more favorable, even in the on-demand car sphere. A user simply needs to make a request for a taxi, and those nearest the location from which the request came from can either accept it or decline it. The individual who booked the taxi then receives a notification that their request has been accepted. They can either accept or decline that Uber. If the customer accepts, their Uber promptly arrives and takes them to their destination point. Everything is done through the app, order request, order verification and confirmation, view of the planned route, payment, and testimonials.
In this article, we will review a crucial part of all software development – the app testing process of taxi booking apps. You will get a clear understanding of the following:
You will also receive test checklists and hot tips from taxi booking app development companies.
Get tips how to make an app like Uber and test it. Enjoy your reading!
There are a lot of taxi companies and Cab Management System providers who have made their own apps with extremely impressive features that make a user’s ride much more efficient than ever before. If you want to join this business, you should know the main taxi booking app types that are available on the market.
There are four main taxi booking app types:
CMSs, WLTs and CoDs are mainly supported by the development team. Any issues with them can be resolved by sending an issue report to the app seller company. If you want to test a taxi booking app that you made from scratch, then we recommend using agile continuous testing approaches:
Each part includes a list of:
You should try to cover all of them in your test-cases to avoid a misleading process:
| Also read: If you want to know more about continuous testing, then we recommend reviewing “7 Criteria for Selecting Mobile Application Testing Tools for Your Business”.
Let’s inspect how it works and review the main flows.
At first glance, on-demand car service apps appear to have a lot in common and contain only a few basic options. We’ve written down the most essential and important options that every on-demand car app should possess.
The first step is to enter personal information. There are two main methods for user registration:
During the second step, an app user should confirm their account creation. This can be done in several ways:
Take note:
From a driver’s side, their profile should be:
You should write down the separate test cases for each situation that is described above.
Do not forget that:
| Testing Tips:
- According to the Pulsatehq review, 77% of mobile users choose to use a social login during the in-app registration. You need to test the OAuth process with all of the most popular social apps like Facebook, Google Plus, Twitter, Tumblr, etc.
- The most popular email services have rather strict spam-filtering. Do not forget to test and optimize your e-mail confirmation process to avoid marking your domain as spam.
- Check your domain in the top e-mail blacklists like Invaluement, Spamcop, Spamhaus, Surbl, etc.
- Remove any unnecessary links and images from your e-mail template, otherwise it could be marked as suspicious.
- The e-mail’s auto-message must be less than 102 Kb, otherwise it will be clipped in Gmail.
- The user should understand that it is an auto-reply message.
- Copyright and unsubscribe details should be contained within the email.
The mobile app should automatically detect your current location and provide an option to change it if necessary. The next step is to select the destination place. Depending on the taxi provider, you can tap on the map directly and choose the exact address if necessary.
| Testing Tips:
All apps that are integrated with geographic information system (GIS) have 3 main characteristics that should always be kept in mind:
- Objects search. When a user requests a car you need to be sure that all the filters are set correctly, and that the individual who made the request will receive the exact result that the specific criteria is based on.
- Pointing on a map. All the results must be displayed with the correct geographical coordinates and personal data (object name, legend, Image, etc.).
- OS compatibility. Each operation system has its own specifics that should be covered during app development. You must be sure the same user experience is integrated in each platform.
Take note:
The driver and the passenger must have a chance:
These points require a strong Usability Testing approach.
| Also read: Top 5 tips to make mobile app testing successful.
The app will provide you with the approximate cost of your taxi and will ask you to confirm the order. When the order is confirmed, you’ll receive the licenses plate number, car model, the driver’s name and their contact information.
| Testing Tips:
To make sure that the car information is not lost, we recommend using the free utilities provided by platform vendors: Apple Push Notification Service for iOS and Firebase Cloud Messaging for Android. Those solutions provide detailed documentation and suggestions for integrating and testing your app.
The trip (ride) itself
Getting a ride is of course the most essential part of the taxi service. The taxi mobile app will provide you with your route and will determine the amount of time it will take for you to reach your destination.
Take note:
| Testing Tips:
In order to maximize the coverage of your testing, we recommend that you organize testing with real drivers and passengers. When you are able to test real life scenarios, you are able to obtain accurate results and find issues that would otherwise not appear in an emulator.
| Also read: Localization Testing: Your Weapon for Global Domination.
It is not necessary to keep a lot of cash with you. Not only is it safer to carry less cash, a credit card payment option provides the means for hassle free transactions for both drivers and riders. Upon completion of a trip, your credit card, which is authorized in the taxi mobile app account, will be charged.
| Testing Tips:
There are two main testing scenarios that should be tested when considering the payment process:
- Bank card details capturing:
- bank card type and number,
- expiration date and Card Verification Value (CVV) note/code,
- the Address Verification System (AVS) code, and
- captured card number encryption (and decryption as well).
- Authorization process:
- authorized payment amount,
- receipt of transaction sent via e-mail,
- a printing and reprinting option,
- displayed payment details, and
- a system response (cases when the verification code is approved, declined, on hold, etc.).
Take note:
The payment procedure is one of the most important elements of a taxi booking app. If you want to get the most accurate results, we recommend gathering a team of real people with real credit cards. This will help you uncover pitfalls in the beta stage and avoid situations such as credit card payments working only in your sandbox environment.
A driver and a passenger should clearly understand that the cost of the taxi, including the tip, will be transferred to and from their accounts after each ride.
Make separate test cases for:
After the ride, the mobile app will give you the option to evaluate the driver and post a testimonial. This system of checks and balances maintains a high level service and helps avoid any misunderstandings.
Take note:
A driver and a passenger should have a chance to review each other’s profiles and rankings. It will help understand both sides of the service, highlighting strengths and weaknesses. This will give you a much better basis for improving it.
Make separate test cases for:
We have collected and put together some helpful tips from above in this checklist. Print-and-pin it in your workspace!
Want to get the Full HD copy? Send us your request.
The admin panel is a web-based service that helps make the following actions:
The image above was taken from https://mobisoftinfotech.com/products/taxi-dispatch-software
If you have a website with an admin panel, you should test everything that is related to the system’s security at least twice. A tiny backdoor opening could lead to a serious drain in user data. According to our own experience, a lot of small businesses and startups that want to launch their product do not pay much attention to this point. They are only interested in using free / inexpensive tools like Qualys, FreeScan, AsafaWeb, and SUCURI. We strongly advise against this approach. Let’s take a look at the Mobile app security testing checklist which I made for you.
The mobile app security testing checklist:
- Client Attacks (need to be checked for normal and rooted modes):
- Reverse engineering:
- decompile APK,
- malicious changes inAPK,
- data leaks, and
- data storage (including SD-cards).
- Rile system checks:
- file system testing,
- runtime attacks, and
- XSS attacks.
- Network attacks:
- Traffic analysis:
- attack proxies,
- wireshark, and
- parameters manipulation.
- Server attacks:
- Vulnerability analysis
- exploits,
- SQLi, and
- API security.
Taxi booking apps can’t function autonomously. This means that almost every one of the points mentioned from the list above is also related to the server side security testing. If you want to perform security testing for your server-side, we’d like to offer the following pieces of advice:
- Test your apps manually. Automation testing is trending, but there is a lack of statistics that show the percentage of bugs that were found, owing strictly to automation tools alone. It is important to use automation testing tools, but from our perspective, they could give you a 20-30% reduction of critical issues found. A more effective approach is to combine automation and manual testing.
- Add any seemingly irrelevant or unrelated ideas to your test cases. Even if you think that it is not worth your time, down the road they may prove to be valuable additions to your test cases.
- If you don’t have the funds to pay for professional security testing tools, then try to find service providers with a good reputation. In the end, it is not as expensive as court costs and lawsuit fees.
- Involve as many people into the testing process as it possible. They don’t necessarily have to be professional testers. Average people have the ability to find hidden, real and critical bugs.
| Also read: How many beta testers do I need to create the perfect app?
- Security testing is just the tip of the iceberg. You can find serious issues during usability, functional, localization testing, etc. Always try to get a good understanding of the whole picture in order to detect any potential problems. To do that, follow the guidelines from the 4 points in the above the list.
Author:
Jane Brohenzon, QA Team Lead at Shelor
To develop and test the admin panel of taxi dispatch software, and determine is user-friendliness, we recommend reviewing the following guidelines.
We all know that the Uber app has received some of the highest rankings among taxi apps in today’s market. In this section of the article we want to highlight some interesting companies that have developed apps using the Uber like model, and brush over some of the TOP 20 most popular apps.
Gett is the fastest growing Taxi booking app in the US, and was admitted into the “top 15 explosively growing companies” by Forbes. Gett is available in more than 60 cities worldwide.
Main Features: The services that are offeredare split into various packages: Gett Together, Standard, Deal, Premium, SUV, and the flexible payment system.
Supported platforms: iOS and Android
It is a Spanish-based taxi booking app that has shown stable growth in Spain, France and Switzerland.
Main Features: Multi-apps service
Supported platforms: iOS and Android
Hailo is a British-based service that is available in more than 20 cities worldwide. It was launched in November 2011, and since then has shown stable growth in Central and Northern Europe.
Main Features: Hailo Hub, Hailo electronic pay, Hailo for Business
Supported platforms: iOS and Android
Lyft is a US based service that makes ride-hailing easier. The service includes three different packages: Lyft, Lyft Plus and Lyft Line. They allow users to ride individually or in a group of up to six people.
Main Features: Up to 6 people could ride at once, and includes $1M in liability insurance for its users.
Supported platforms: iOS and Android
OnTaxi is one of the fastest growing taxi booking apps in the Eastern Europe. Different types of vehicles can be ordered and it provides the fastest way to book a car directly from users’ smartphones.
Main Features: Booking a taxi for multiple addresses, and it offers additional services to its users.
Supported platforms: iOS and Android
While testing the application, we would like to draw your attention to the following issues
1. Lack of address information in cartographic services.
To avoid this problem, we recommend you to create your own database with the address information for each city translated into several local languages. Also, all address information is formatted according to the installed templates. In addition, we have created a hybrid system of forward and reverse geocoding. If we don’t have a certain address in our database, the servers send a request to Google.
2. A high service entry barrier.
It is important not to scare off potential customer with the requirements to indicate a large amount of personal data: the first and last name, an email address, a phone number, etc. When the application is launched for the first time without preceding acquaintance with its interface and functions, it requests only the phone number to reduce the entry barrier.
3. UX & UI specifics of riding
There are two ways of creating a route:
1) Selection of one or all route points on the map.
Pros:
- The client does not need to know the address of the route point, it is enough to “tap” it on the map;
- Visualization of the constructed route.
Cons:
- Search complexity while finding objects or addresses without knowing the region (for example, a station, an airport, etc.)
2) All the points of the route could be added manually.
Pros:
- An explicit and unambiguous indication of the address of the route points (street, house number, etc.).
Cons:
- No visualization,
- You always need to know all addresses.
4. Environment emulation with bad Internet coverage.
It is very important to test the application with bad mobile condition, when there is a loss of data packages, and the Internet connection is completely lost. To emulate packages loss in iOs, you could use a standard software for these purposes or request for 3-rd party testers. For testing the Android app, we recommend to use proxy + ipfw.
Author:
Denis Pokalitsyn, CEO at OnTaxi
| Also read: 4 Warning Signs that Your Beta Testing Process is in Danger.
The registration flow is something that should be tested in every app. Make sure that it is impossible to register with an incorrect or invalid email address, and that the number of symbols does not exceed 100. Authentication tests will help prevent fraudulent users from accessing accounts and will eliminate long and unnecessary investigations into account ownership. You can read more about security testing in our article.
Test cases are required in order to examine the functionality of new user registrations:
They ensure that:
Check if an error message displays when:
If you allow a user to register with their e-mail only, you need to test the following things:
Registration using social networks is now the easiest way to create a user account. Your testers should keep a close eye on this feature and make sure the connection works without any delays or errors.
If you allow a user to register with a social network (OAuth) profile, then you need to test the following things:
Your car booking app should use geolocation services to detect the current user’s location, caching and storing user data. It is very important that your app can interact with the device’s GPS as it, among other things, allows the app to calculate the ride distance more precisely.
Take note:
To perform a user location data test we recommend doing the following:
Take note: If you want to test a GIS-based app or receive more tips about testing it, then send us your request. Our tech manager will help you find the right solution.
Reliability and security are the most important things if your app deals with money, specifically one that requires the user to enter credit card information. When testing your car service app, please make sure you’ve chosen the right payment processor to store the user’s data and to manage the transactions. Your QA team should also pay attention to any possible vulnerabilities. It’s better if you notice them before the hackers do.
Take note:
Do not forget to check the following prerequisites before testing the payment method:
General tests:
Password tests:
Session Management:
CAPTCHA testing:
| Also read: The 8-steps security testing approach for a perfect project
Take note: we strongly recommend using real devices to execute mobile and web-app testing. If you are uncertain of the number of devices you need, use Ubertesters estimator.
If your app is using push notifications, make sure they work on all the devices, otherwise the user will not get the essential information.
3 things you should keep in mind when testing your push notifications:
The feedback or testimonial system allows the user to rate the driver, and in general, maintains a high level of service. Performance tests will help you understand if all the feedback is accurate and if it is being delivered to the server in time
The flow testing tips that we described above are just a tiny part of the whole process. We have gathered for you a short list of testing types that you need to perform to make an app similar to Uber.
|Take note: If you want to get more details about the types of testing that you need to perform, send us your request. Our tech manager will help you find the right solution.
Testing an app like Uber can be really challenging. It is not necessarily a matter of time or costs. Your cornerstone will be the end-users. Such app testing requires a huge number of beta-testers who will review your app properly and send effective feedback.
There are three main ways you can solve this issue:
You can hire more people worldwide to control the testing processes.
Pros:
Cons:
The best way, if you have a lot of clients in different cities, is to offer them some discount or reward for taxi booking app testing.
Pros:
Cons:
| Take note: When you work with a huge number of people worldwide it can be hard to manage them. We strongly recommend using good QA management tools that allow you to manage a huge number of testers from different locations, get bug and crash reports, and receive feedback (such as video recording, screenshots of issues with comments, etc.).
The best option, when you need to extend your team with skilled professionals worldwide, is to use real devices to test your taxi booking app.
Pros:
Cons:
Crowdsourced testing is cost effective, as the product company pays only for the actual time spent on testing. Usually the testing time is reduced, so it leads to better productivity and thus is cheaper than hiring engineers, designers, and specialists.
All in all, building a taxi booking app is not an easy task. If you want to make an app that will compete for the top seats in the market, you need to create a unique proposal that will work correctly.
Conducting accurate testing and QA is a very challenging task, especially for taxi booking apps. Geolocation services can’t rely on laboratory testing, simulations, or heavy automation. It should focus on manual testing with real testers and real devices.
Having proven expertise in the mobile and web apps testing sphere, Ubertesters’ professionals can help you test a mobile taxi-booking app that your users will love.
If you have any questions, give us a call at +1.201-203-7903 or send us a message through Ubertesters’s contact form.
Get in touch, fill out the form below, and an Ubertesters representative will contact you shortly to find out how we can help you.
Want to see the Ubertesters platform at work? Please fill out the form below and we'll get in touch with you as quickly as possible.
Fill out a quick 20 sec form to get your free quote.
Please try again later.