Home Blogs 3 specific features of GIS software testing you need to be aware...

3 specific features of GIS software testing you need to be aware of

3 Minutes Read

It didnโ€™t take long for different industries to recognize the potential of geographic information system (GIS) technology. In 2019, GIS-based applications help with estimating damages from natural catastrophes, revealing possible hazards, and improving such key domains as energy, logistics, and public health.

The popularity of the technology predictably drove the market up: according to ResearchAndMarkets, the North American GIS market will grow by 10% between 2019 and 2023.

The growing market is a welcoming environment for the emergence of new GIS-based applications, all of which require thorough quality tests. However, it seems like the entire quality assurance (QA) community avoids even mentioning GIS software testing: if you do some online research on the topic, you’ll inevitably bump into the Sahar desert in the search results.

Why so? Probably, because it is believed that GIS apps don’t need any particular kind of testing but should rather be validated through classic unit, integration and system-level tests. On one side, it’s true: universal testing types go well with GIS software and form the basis of the quality assurance consulting for such apps. On the other side, geospatial software, with its specifics, requires a set of extra tests to ensure flawless, precise operations with as heavy data loads as it gets.

Below, we look at three of such distinctive GIS software testing features that require particular approaches.

1. Testing vast amounts of diverse data

GIS applications allow visualizing data through mapping, which means there are both data itself and a map that presents it. In other words, GIS databases store both spatial coordinates and attribute data such as roads, buildings, businesses, and other objects.

This is probably the major peculiarity of GIS software testing: a QA engineer should be attentive to the accuracy of figures and the right object positioning alike.

Regarding the spatial data accuracy, it’s crucial to debug all the controversies between the encoded location of the map items and their actual positioning. Moreover, certain GIS software may be compiled from multiple map sources, so there can be conflicts between them, too: a few overlapping layers is a typical example.

Attribute data such as street names or any statistics to be displayed is another aspect requiring a testing engineer’s thorough consideration. If a GIS app contains erroneous attribute data, bugs might appear in its visualizationโ€”for instance, street names might be attached to the wrong topographic feature. Even worse, a GIS-powered map originally designed to show statistics will be of no use with corrupted attribute data.

2. Testing with real or pre-modified data

The second distinctive feature of GIS software testing is still about data. QA of geospatial software can be conducted with actual or specifically designed test data alike. The thinking behind it is typically โ€œwhy reinvent the wheel and make up data if we already have factual geographical data at hand?โ€

Yet the problem with real-data testing is in its complexity. Factual geospatial data, usually distinguished by its heaviness, might not allow QA engineers to evaluate the overall app performance at some testing stages. As a result, there is a chance of missing certain software bugs in the code as actually handling the data will become the first priority.

At the same time, pre-modified data designed by testing engineers themselves might help them find particular software bugs directly and easily. Indeed, this approach will do at those testing stages where expectations are more distinct: take unit testing as an example. Aimed at evaluating not spatial or attribute data accuracy but software performance, unit testing might benefit from using pre-modified data.

As you can see, the choice between testing with real or pre-modified data depends on particular stages of the quality assurance process. It’s more preferable to test with actual geospatial data when major software bugs are more or less eliminated. When a QA engineer wants to check how well an almost fixed app interacts with data in real settings, real-data testing is the only option.

3. Testing the variety of GIS software

GIS software covers a significant number of applications, all of which combine digital maps and topographic data. Mobile geospatial apps, desktop maps, GPS-based apps, computer-aided design (CAD) programs all belong to the GIS family.

Itโ€™s not only about the diversity of GIS software, though. Some GIS-based apps might include the elements of 3D, augmented reality, and artificial intelligence (AI).

Indeed, it becomes hard, if not impossible, to develop standardized ways of GIS software testing: each type of geospatial applications has its own unique features that require a particular QA strategy that would accommodate the specifics. Therefore, if a testing engineer works on an AI-powered GIS app, they would need a good grasp of both AI and GIS testing for better results.

What makes proper GIS app testing?

These were the main specific features of quality assurance for GIS-based software. Its complexity is probably the key cause of certain testing pitfalls. Avoiding them takes a holistic and thought-out approach to quality assurance.

In general, the best way to deal with QA of geospatial applications is to pay particular attention to scrupulous and blow-by-blow testing. Reviewing unit by unit, checking data quality, evaluating overall app performance, and then performing regression testing over and over might help to get rid of bugs even in such sophisticated software as GIS.

Note: This is a guest blog by Elena Yakimova, Head, Web Testing Department, a1qaย 

Elena Yakimova is the Head of Web Testing Department at software testing company a1qa. She started her career in QA in 2008. Now Elenaโ€™s in-house QA team consists of 115 skilled engineers who have successfully completed more than 250 projects in telecom, retail, e-commerce, and other verticals.