Testing is about making sure the software matches the requirements. There are a variety of testing methods but all of them revolve around having a set of "Test Scripts" that are executed on the software. There is also a "Defect Tracking System" that makes sure each defect is dealt with appropriately.

Software is challenging to test because it is impossible to test all possible combinations of situations even for the simplest programs. This is especially true of GIS data where we may not have control of the data running with our tools.

Test Scripts

Test scripts can be on paper or in MS-Word files, or in a complex database. The key is to capture the critical features that a user will be executing and then test them regularly. Test scripts fall into the following categories:

Remember that we not only need to test the features of the software but also test it with different operating systems, versions of required libraries, and different datasets.

Defect Tracking System

A defect tracking system keeps track of the defects that have been found in the software and what their status is. A defect is fundamentally something that either does not match the requirements or a problem from the user's perspective. A defect tracking system can be paper based, an Excel spreadsheet, or a website. Even if there is one person on the project it's good to keep track of the defects in some way.

The status of a defect can be:

While running a software quality organization, I found that developers had a habit of resolving defects without taking to the tester who found it. This led to a variety of problem, none of which resulted in the defect being fixed. The solution was for the developer to propose a resolution for the defect and then the tester would review it to make sure the developer had understood and fixed the intended defect. This led to better communication between testers and developers and defects were fixed.

© Copyright 2018 HSU - All rights reserved.