Just imagine that you are hanging out at your friend’s place, and all of you decide to order food. You open your food delivery applications and all the nearby restaurants pop, have you ever wondered how this happens?
Yes, we are familiar with the concept of GPS. Here the entire interface of the application changes based on the location that you are in.
A similar scenario would be when you are about to purchase some best software testing books on Amazon, when you change the location to a different place, the availability of the product changes sometimes, have you ever wondered why that is?
The application changes its content based on the location that you are in.
Geolocation testing helps us to ensure these location-based data is fetched in the application.
Important terminology in the Geolocation concept
Before getting into Geolocation testing, let’s look into some concepts that can help you understand the main aim of your geolocation-related application and its features.
- Geofencing can be explained as the system creating a virtual geographical fence for the user, this fence may or may not simulate the real geographical location.
- In simple words, when you travel, your device will be moving in various locations, these geofences trigger some event to perform some relevant action.
- Let’s take an example of a person travelling from Jaipur to Delhi, once they reach Delhi borders, their mobile network sends a welcome to Delhi message along with the roaming charges details.
- Applications such as Bookmyshow, Google maps, PhonePe, Ola, and Zomato changes their location to wherever the user moves.
- Geo-tagging is the process of attaching a media file to a certain geographical location data.
- Media file can be an image, audio, video or any other file. Based on the functionality of the application, the location data gets tagged to the file.
- Longitude and latitude coordinates, name of the place, UNIX timestamp or other data associated with the location will be tagged to the file.
- In social media applications such as Facebook, Youtube, people usually tag the location in which they took the picture or video.
- Example: A user is going on a vacation in Goa, when they share those pictures on social media they’ll want to share the location as well.
- Google photos tag images to the location, and we can perform searches using the location name.
- The user to navigate to the required picture with the location as the keyword.
- Geotagging helps when search engines query something related to the location to filter out accurate results.
- Geo Messaging is nothing but a message sent to another device, the message contains any media or text content with a geolocation detail in it.
- Example: When sending SOS messages to an emergency contact, the current location with latitude and longitude coordinates will be shared with the emergency contacts.
- Geotargeting provides personalized content or services to end users based on their geographical location.
- Example: In Amazon Kindle Store, Manga books are very popular in Japan whereas in India exam preparation books are common.
- When the user changes the location the products that pop up on the page would be different.
- Thus country-specific versions of Amazon display different products and promos.
- Based on the location of the user certain contents are restricted to the user, this is called Geoblocking.
- Certain laws between countries or distribution rights on the contents might restrict the content to a certain area.
- For example, Netflix makes use of Geoblocking to make sure that they don’t break any distribution rights in that country
What is Geolocation testing
Geolocation testing is where we check the application in various geographical locations to ensure that it meets all the legal requirements relevant to the location and it works as expected regardless of the location.
It checks the efficiency of the application in every geographical location where the application is likely to be used.
It verifies the application’s efficiency and performance for IPs located at various locations.
Here we just check the geolocation-related functionality on the website or mobile application.
Let’s say we are testing a food delivery application
- Does the application automatically fetch the current location?
- Does the application show nearby restaurants with delivery services?
- Does the application change its interface in rural and urban locations?
Use cases of Geolocation
Before getting into how to perform Geolocation testing, let’s look into some common scenarios where the Geolocation factor is relevant.
Some common cases of utilizing the power of geolocation today in the web and mobile world.
Even though the internet is global and accessible by everyone, each connection has its protocols that need to be followed.
Several countries have certain rules imposed that applications and websites follow.
Tiktok application has been banned in India from June 2020 by the government due to some security policies. Whereas in other countries Tiktok Application is booming.
Certain videos are restricted in many countries due to various reasons.
YouTube sometimes shows errors “This video content is not available in your country” because either the creator would have chosen to make their videos available in certain countries or YouTube might be blocking them to comply with the local rules.
Search Engine Results
Based on the country the search engine results are also customised. Even on their support page, Google has mentioned this. Just think you are in Germany and typing home remedies, the results would be completely different from the results that you would get in India.
One of the industries that are profiting a lot from Geolocation is the advertising sector.
Google and Facebook collect the user data and target their advertisement to the user using Geolocation details.
Even when you open other websites in Google or scroll through those feeds these advertisements show up
Geolocation technology can also be used for the security of the user.
Banking and payment-related applications use this geolocation technology to check the legitimacy of your transaction.
For example, if you are performing a transaction from your bank account in India then after an hour another transaction is made from your account from Boston, and the second transaction will be blocked.
So whenever any payment-related transaction happens, the system logs the device’s location/position in each transfer.
How to perform Geolocation testing
We have gone through the basics of geolocation concepts and how they play a role in everybody’s lives.
As we have gone through various aspects of geolocation, let’s proceed with the methods on how to test geolocation.
Hire an international team
Geolocation testing requires us to check the application in various locations. So we’ll get in touch with testers in various locations and provide them with our software.
But this is the most tiresome and complex way to perform geolocation testing to use the application from multiple locations for real.
There are two prominent problems in hiring an international team:
- We don’t know the testers whom we are dealing with. Here we provide them with our confidential source code without actually meeting them in real-time or knowing them properly. This could lead to a potential security leak.
- It is hard to blindly trust whether testers would have done a good job in their work. When recruiting “unknown” people whom we won’t meet, these people do these jobs just to earn some extra money. So there can be cases where they don’t analyse the system and do things last minute to wrap things up.
To avoid such situations, we have to spend more time and effort going through the process or testing sheets.
Test website Geolocation using VPN
Geolocation testing can be done in a better way using VPNs. A Virtual Private Network (VPN) proxy server can help our system to act as if it is in a different location than its actual one. This can be very helpful for our geolocation testing.
We can start our testing by opening the VPN and changing the location to a specific country. But this is only advisable if the project is small and we have some budget constraints.
VPN is not the ultimate solution for our geolocation testing. VPN has its drawbacks, it can be slow. Sometimes the VPNs are so slow in receiving and sending the packets to the server. Due to the rerouting several times to the selected location, VPN tends to be slow.
Let’s take an example where a user in India connects to a VPN where it changes the location to the USA. The website might be slow or the VPN is making it slow, the tester won’t know the difference. So it is hard to understand how the real user in a different country is experiencing the webpage.
Even though VPNs are effective in Geolocation testing, there’s another critical thinking to consider when using them.
VPNs are connected with servers placed in various countries and then reroute packets to the original servers. If these servers are hacked by some malicious users, they can access all our files.
Worst case scenario, malicious objects will be transferred to the webpage and this will affect our application entirely.
VPNs are widely used these days, especially for young people to access restricted content in their country. So some countries have blocked VPN usage to secure their infrastructure, this might also affect our Geolocation testing process.
Cloud based Test Environment
We can use a cloud-based provider to perform Geolocation testing. But this method has its pros and cons based on several factors.
Usually, cloud-based services are highly recommended in such a domain. These cloud-based services will help us to keep data secure and provide us with a smooth experience for us to access and check our application in many more locations compared to other methods.
Geo Testing Test Scenarios
Let’s look into some geo-testing scenarios to better understand the variation:
Location-based Test Scenarios
In Location-based testing, we test these scenarios to ensure that our application delivers localised content based on the user’s location.
Let’s say our company is based in India, but we would like to check whether our website works as expected from Malaysia accessed from the Safari browser on an iOS device.
In that case, you will design the test steps in series as follows:
Step #1: Setup the longitude and latitude of Malaysia i.e location in the testing environment.
Step #2: Set up the platform to access the website application from the iOS device in the Safari browser.
Step #3: Check various scenarios and verify whether the test results are expected.
Step #4: Run a script that simulates the user’s action in the web application.
Step #5: Observe the test results, if the web application shows unexpected behaviour, report it to the development team.
Geofencing Test Scenarios
Geographical location data is driven by GPS, RFID, Wi-Fi, Mobile Cellular data and other smart technology. Geofencing testing uses these technologies to check whether the user receives a certain notification when the device in which the application is installed moves to that predefined geographical location.
Let’s take an example of a customer going to a fast food chain McDonald’s. When the customer enters the store, a notification would be triggered to their application. This notification might contain some coupon code, special items that are provided in that location, offers, discounts or other important information that the customer might require.
These notifications enhance the customer’s experience only when they enter the store. At other times these messages might be spam or junk for the customer. So the message must get triggered at the right time.
Thus it is important to check all the geofencing testing scenarios before launching the features in the store. We have to check whether the devices that mark the geofencing boundary provide the information to the application.
Geotagging Test Scenarios
When performing Geo-tagging testing, we check whether our application supports adding the location information to the media file such as photos, video etc. Several eCommerce stores track their customer’s location this way.
In real-time retailers and restaurants use geotags to check how they are engaging with their brands. This can provide them with a good insight into what their customer like or dislike about the brand.
With geo-tagging, companies know in which store the customer got the positive or negative impression.
So when we test the application we must make sure that our database makes it easy for the customer to tag a particular location to the media file. It should be simple, and easy to find, and the location must be accurate and precise. Most importantly, the user should be able to retrieve the media file with the location applied in the filter.
Note that government bodies, and public planning departments analyze geotags to understand their constituents better on where they need products and services
Localization Test Scenarios
In localization testing, we check whether the web application changes the language, currency, and timezone when changing the location. Here we check the basic requirements that a customer requires to access the application.
Let’s say, we are testing an eCommerce application similar to Amazon, if we change the location from India to the USA, the application should change according. The language should change to English, the currency to US dollars, and taxes and delivery service should change accordingly.
Geo-blocking Test Scenarios
Geoblocking testing checks whether our application supports local laws or creator rights of a particular on restricting certain content in that area. This helps our application to be compliant in any geographical location.
Let’s take an example of a movie that is not yet released in a particular location, we have to verify whether that movie is restricted by our application as well. If XYZ movie is restricted in ABC country and available in BCD country, we should check both scenarios.
We must verify the configuration that is set up to restrict such content in a certain location, identify the flaws in the correlation between the location and the restriction setup
Geolocation Test Cases
Here we’ll look into some test cases that we can implement in Geolocation testing:
- Check whether location metrics change from kilometers to miles based on the country.
- Check whether the application notifies with location specific details when approaching the proximity of another location.
- Check whether the longitude and latitude details are captured by the application.
- Check whether the application has any vulnerabilities when changing to a different location.
We use Geolocation features in our active day-to-day life. We use an application that tells us today’s weather to the distance between our destination. We use geolocation services to fulfil most basic daily tasks.
Also, there are several other use cases we have discussed in this article, we leverage the power of geolocation to make our daily lives easy.
The geolocation-based application needs to be accurate and precise as several services are dependent upon the same.
So when we test a geolocation-based application we have to be more responsible and reliable.
It is important to run through different test scenarios from all locations in our target customer markets which can be in various locations.
If we fail to perform the required verification, it can result in defects that include non-functional or mistargeted services and marketing, which will lead to poor customer experiences.