Geolocation is an important feature if you are developing a social media web or mobile application. According to a 2016 report by Pew Research Center, 90 percent smartphone users in the United States always keep the geolocation feature on.
There are bazillion apps out there that use GPS based features as the core functionality. But are they all successful?
No! Many of them fail owing to the lack of proper testing. What’s needed is correct methodology, tools, and the right team.
Click here to download our latest PDF on a GPS software system we tested lately
Testing a location-based app using mock location
To make the testing possible, you need a location simulator. Xcode is a popular simulator, which is used to test iOS apps. You can also use Location file formats called GPX and KML.
GPX or GPS Exchange Format is a document available in XML data format used to exchange location information of GPS data between your mobile application and the web service.
On the other hand, KML is the format the displays geographical data on Google Earth and other applications. It has a tag-based structure that uses nested attributes and elements, which is very similar to the XML standard.
To generate GPX or KML, you can use the many generators available online. Some of these include My Tracks, Google Earth to ADT plugin, RunKeeper, Google Earth, and KML Generator.
Generating GPX file using RunKeeper
Using RunKeeper is fairly simple but requires a bit of physical work. Let’s take a look:
Step 1 Download the RunKeeper app on your mobile phone.
Step 2 Finish the sign-up procedure and go to open ground. Make sure there are no buildings around.
Step 3 When you reach there, click on Start Activity and start walking around.
Step 4 Keep walking until you feel you have enough data. Hit STOP and click Yes I’m Done. Save the file and go back to your workplace.
Step 5 Open the RunKeeper website and log in using your username and password.
Step 6 Click on Activities and look for the Export GPX option. Download the file and save it on your computer.
Testing an Android App
Before you begin, create a GPX or KML route as mentioned in the images. Download Emulator Control and open the files on it (only one file at a time). Use DDMS perspective of Eclipse with ADT Plugin.
Step 1. Open Eclipse and click on Create a Project. Create an application that listens to Location Updates for the designated location provider.
Step 2 Click on Create Emulator. Go to your application’s folder in the project explorer. Right click on it and go to run as. Choose the option Android Application.
Step 3 Open Google Map. Go to DDMS and select Emulator Control.
Step 4 Go to Location Control, click on GPX, and open load your GPX file.
Step 5 After it uploads, select the file and hit the press button. Now you can start selecting mock locations. The process is the same for KML files.
Testing an iOS app
To test an iOS app, you will need a slightly different GPX file format. Use RunKeeper to convert the above Android-compatible route to iOS-compatible route. Also, you will need xCode simulator for this process.
Step 1 Open xCode project. Click Product > Debug > Simulate Location > Add GPX file to Your Project.
Step 2 Click on Location icon and then select your GPX file. The point on the map will start moving and you can start testing.
Testing location-based web applications using a mock location
With websites and web applications, testing geolocation is super easy. All you have to do is install VPN or Virtual Private Network, which is software that hides your current location.
You can send data without anyone else being able to track it. When you activate it, you simply have to change your current location to any location you want to and start testing.
Tips to remember while testing location-based apps
Location-based testing is challenging, which means you need to pay extra attention while performing it. Here are some tips that will help you out:
1. Mention the exact location
Choosing a location that is less than 100 meters from your point of testing can create a big difference in the results. If you aren’t sure you have pointed the right place, enter latitude and longitude of that location. You can find it easily on the internet.
2. Test flight mode
Testers often forget to test how the app works when the phone is on flight mode. It gives interesting results, so make sure you perform it.
3. Testing different conditions
Using a mock location to test is just one of the many conditions that you need to test. Others include app performance in motion, while talking phone, and during signal loss. Get creative and think of other conditions.
4. Check power-saving mode
When a person activates their phone’s power-saver mode, it has an effect on the GPS. Check how this affects your app’s performance. Also, if your app offers a power-saver mode, check the feature’s performance when you activate it.
5. Signal strengths
Always check your app’s location feature at varying signal strengths. It should be able to support GPS the maximum even at the lowest signal but if it doesn’t, you need to go back and make the changes. You can also check using different internet sources including Wi-Fi and 3G or 4G mobile data.
Perform a variety of tests while testing at mock locations including usability, security, functionality, and load testing.