To ensure the quality of geographic information system (GIS) software and bring down the development cost, independent software testing must be introduced as a regular part of the development process.
Current research suggests that there’s a lack of systematic GIS testing approaches. Unified technological criteria for GIS testing are also missing, which contributes to an even more challenging task. At the same time, the scope of GIS applications has grown. Almost all mobile apps utilize some form of localization and GIS functioning. As such functions continue becoming more and more integrated, GIS software testing is gaining profound importance for proper functioning, security, and user experience of the final product.
QA consultants from A1QA have developed their own approach to GIS software testing, based on a deep understanding of the domain specifics, and are happy to share their insight.
The Specifics of GIS Testing
In comparison to other types of software products and applications, GIS solutions have their own set of specifics. A few of the key characteristics include:
- Localization and mapping: the accuracy of geographic mapping is very important for the proper functioning of GIS software. Maps and localization functionalities are often specific to the app. Legends, route displaying and the specifics of the map (is it a traditional map, a 3D map, are there augmented reality components?) will also have to be taken into consideration.
- Complexity: GIS software is often very complex. Testing across different platforms and environments (an array of devices and operating systems) will be essentials to ensure the same flawless experience regardless of the hardware being used.
- Search capabilities: many GIS apps also enable location-based searches. Users get to define their own filters or use their current location to carry out a relevant search. It’s important for the search to display adequate results that depend on the user’s location and can change accordingly.
Because of these specifics, the testing process has to involve a number of key steps. The most important ones include setting a strategic scope for the process, test planning and execution, and reporting of results followed by bug fixes and enhancements. Clear processes set from the start will establish the tone and guarantee the comprehensiveness of the approach, regardless of the software’s function, complexity, and intended clientele.
Getting Started with GIS Testing
If you do a bit of online research, you’ll be surprised to find out almost nothing about GIS testing.
As already mentioned, there aren’t standardized practices in the field and protocols to follow for successful completion of the task. Many organizations have poorly defined testing plans and some don’t even have a plan at all.
Getting some awareness about the best practices in the world of GIS testing, however, is of paramount importance.
GIS apps are becoming indispensable for many industries – from agriculture to supply chain management, and even insurance. For companies operating within these domains, errors can cost thousands of dollars. This is why GIS testing has to be taken seriously, enabling the emergence of standardized, compromise-free outcomes.
To ensure the quality of GIS software, it’s critical to put emphasis on:
- Data testing: the accuracy of the spatial data is the biggest strength and the most important asset of the application. This is why a large part of the testing process should focus on data. The review process should focus on the rules and the restrictions for the provision of data, the specific values, and the specifics of the geo-processing framework. Running scripts in a scheduled manner over a certain period of time will also be required to guarantee the thorough nature of the test.
- Filter testing: smart geo-data filters rank among the biggest strengths of GIS applications. This is another key area to focus your efforts on. No GIS software product displays all of the information stored in its database at once. Apply all kinds of filters (attribute and spatial ones) to test their effectiveness and ensure the accuracy of the data being retrieved.
- Performance tests: what is the response time of the work models? Different tests should be designed to assess the responsiveness of the app in regards to the specific task. How much time does it take to fetch information on the map after an address has been input into the search bar? How much time is needed to display information about a location after the user clicks its icon? These are different aspects of GIS operation and they should be examined via the right performance tests. Traffic and usage levels should be taken into account when performance testing is carried out.
Testing Should Be Based on the Type of GIS Software
While the guidelines presented above are quite general and applicable to most types of GIS applications, it’s also important to design specific models based on the type of software being tested.
GIS applications can be classified in a number of categories, each one with its complexities and specific features.
Desktop mapping and global positioning system (GPS) applications rank among the most popular possibilities. Desktop mapping software comes with a further set of sub-divisions – from systems that only fetch relevant data to products that enable data processing and analysis capabilities.
Computer-aided design (CAD) programs come next. This type of software provides capabilities for designing, drafting, and displaying geographical information. Obviously, CAD software is more complex than desktop mapping tools and the set of testing practices should reflect this fact.
Image processing, mobile GIS, routing GIS, spatial databases, photogrammetry solutions, and cloud-based service solutions also fall under the GIS umbrella. All of these systems are complex, they require specific operation resources, databases, input types and tools that support geographic queries/visualization/analysis.
GIS functional capabilities can also be basic or advanced, depending on the type of software and its intended uses. Some basic GIS functional capabilities include the digitization of maps, keyboard entry of information, raster to vector conversions, data plotting, report generation, and web mapping. Advanced functionalities come in the form of generating complex graphs, spatial analysis, the measurement of an area, linear referencing, perspective views, scale changes, etc.
On a final note
While GIS is a general term that refers to various apps based on similar functionality, the sub-divisions in the field are numerous. These sub-divisions make it challenging to come up with standardized testing policies. If you want to ensure the performance of your GIS software product, you will have to first define the scope of capabilities and functionalities. Based on this information, the right assessment framework and the test models can be chosen to ensure an optimal level of accuracy.