Today, with the advancement of technology and innovations, people can delve deeper into the vast digital world and explore several business opportunities in no time. In initial days, businesses grew and served its purpose locally or were restricted to a specific region. But now with the technology boom and the wide reach of the Internet and its power, businesses can evolve faster, serving multiple regions or even continents. For the business end users, this is definitely a good news. But for a technical team, responsible to ensure the quality of the application, it could easily turn into a strenuous task if they don’t have the proper understanding, right tools and testing strategy. When we say multiple regions or continent coverage for the application, the applications should be flexible enough to understand the location of the user and adapt its contents to the current location in which it is being used. This needs the content of the application including language, time zone and content data formats – date, currency etc. to be dynamically adjusted to suite the user location.
In this blog post, let’s understand the basics of Geolocation testing and gather knowledge about the different options we have, to tackle the demanding Geolocation testing needs.
Key Geolocation Use Cases
As the name implies, Geolocation is the data co-ordinates of the user (device/computer) which can describe the exact geographical location. In other words, geological location of a user will be able to tell us where the user is, with accuracy. This can be in turn used to deliver the contents consistently and smartly. We have seen its uses in our diverse daily life situations – when we are stuck in an unknown place and reach out to map to figure out or when we are eagerly waiting for the food and tracking the delivery guy’s current location.
Now, let’s go through the different practical applications of Geolocation services:
Geo Localization: This means localizing the application contents, based on its geological location. As discussed earlier, content of the application like language, time zone and content data formats – date, currency etc. needs to reflect its user location. When the user is in USA, he/she would expect the price to be displayed in USD, language to be US-English and date format to be MM/DD/YYY.
Geo Fencing: It is used to determine the action to be performed when the device leaves a virtual defined boundary location. This has many applications in different areas – social networking, marketing, smart appliances etc. You might have noticed your apps pushing specialized notifications to you when you pass over different areas – state entry / exit message, upcoming native festival, tourist attractions, food attractions etc.
Geo Tagging: This helps in tagging different media to its Geolocation. We might have seen this in popular social networking sites where we can geo tag QR codes, photos, videos and social posts. This helps to deliver and restrict data, based on location.
Geo Blocking: This helps in blocking a specific content or even the user’s access to the application, based on the user’s geo location and the country’s law. We might have seen different contents based on user location in streaming app like Netflix, Amazon Prime. One reason for this is to adhere to the laws governing the streaming industry.
Geo Targeting: This means the data content needs to be displayed which will target the user location. We might have targeted advertisements while browsing through sites, right? Also, Geo targeting helps in SEO (Search Engine Optimization), evaluating page rank and checking if the application is being listed by google for a specific region / area, based on keywords.
How to Test Geolocation-based Applications?
Since now we know the different implementation areas of Geolocation, we can understand the in practicality it is impossible to physically be present in locations and test. Geo location testing is required for an application that has global reach to improve the customer experience, minimize data inconsistencies, reduce roadblocks and production failures, and to keep the competitive edge. In order to achieve the required testing coverage and to ensure that the application is Geolocation supported, we have to resort to other feasible testing approaches. If your company has hardware resources (on-premise / cloud) in the required regions, then all we need is to figure out a shared usage plan for the hardware and establish a remote desktop connection. This way we can make use of the existing resources without any external dependencies. If that’s not the case, then below are the most common approaches used to tackle Geolocation testing.
- Cloud-based services
- VPN & Proxies
- Mock services
Cloud-based Services: Due to its increasing importance, many cloud-based services are now supporting Geolocation testing. They allow the team to test Geolocation apps on cloud in real devices and desktop browsers from different countries without any hassle. These cloud services allow the team to choose from different plans, which would help to simplify the overall testing approach. Few of the popular ones are BrowserStack and LambdaTest. Testing team can avail these cloud services based on the app audience, volume of testing required, frequency of testing and budget.
VPN & Proxies: Another way of testing Geolocation-based application is to use VPNs/Proxies. VPN & Proxy services allow the user to choose the desired country and help in testing the localized content. The important thing to keep in mind is to use a reliable VPN/Proxy since we cannot guarantee the security of the data being passed. Cost-effective plans are available from VPN service providers which could serve the testing purpose. We also, need to check if this masking should suffice for the testing, since the browsers/devices have a way to identify the actual location and even with VPN/proxy, things can go sideways. Few VPN/proxy services available are ExpressVPN, NordVPN, VPNCity, WonderProxy and SmartProxy.
Mock Services: These services allow the user to fake the actual location and provide the desired location for mocking. There are diverse applications which support mocking for mobiles (Android, iOS) and for web browsers. The required configurations are different for the device type and might require installation of third-party applications, browser extensions or modifying few parameters in browser / devices etc. In addition to browser extensions, currently browsers have inbuilt feature for location mocking to support HTML5. Basically, this feature allows turning on the feature via flag and allows the location specification via latitude and longitude.
In this article, we have explained the concept of Geolocation, its practical areas and provided a glimpse into how to test these applications. This is just the tip of the iceberg – each of these concepts or solutions can be explored in depth which offers deep insights with a lot of technical learning. As discussed in this article, the location-based testing strategy will vary depending on the application, its target audience, target devices and ultimately the budget and ROI. Hope this article shed some light into the basics which would help your team to explore the world of Geolocation testing, come up with the appropriate solution and a robust testing plan.
Renjith R Nair
Associate Test Architect, RapidValue