Why does software need to be tested?
Programming software is one of the most complex and fraught undertakings anyone can be involved with. A coma in the wrong place, within a script could produce an entirely
unexpected result or simply crash the program. To put this into perspective, Office 2013 had 45 million lines of code while Facebook has 61million embedded in its programming.
With any complex task it’s important to get the product tested before it goes into production, to make sure it can fulfil its function. The following is a list of good practice that should be incorporated into the design process.
Good practice for software testing.
Have an idea of what the result should be: Try to anticipate the end result in terms of what are the benchmarks for standards of success.
Separate testing tasks from coding: The tasks are quite different and as with all proofreading exercises, a fresh set of eyes can spot problems where the creator is blind, as they are too close to the project.
Expect to find a fault: conduct investigations diligently so that all avenues are checked as it is more likely that something will go amiss than not.
Use different tools than the programmer: you are more likely to discover errant script with other investigative software as that is what it is designed to do.
Able to be verified by 3rd party: even if an outside organisation is not involved with the testing process, the expectation should be that an external body could overview and make an informed decision on whether the software is suitable.
Terms of Reference for software testing?
To conduct the tests terms of reference should be defined. How much information should be available to the testers to allow them to do their job? There are a number of scenarios:
Black box: go in blind with no knowledge.
Grey box: given some useful tips.
White box testing: given a sporting chance.
Each version has different uses. Sometimes having no information can slow things down as they spend all the time trying to work out what they are dealing with. The advantage is that they are given a clean slate and come to the job with no presuppositions.
Grey saves time and white is useful as they are pointed in the right direction but may miss the unexpected. Most do grey box as it gives them a fighting chance and provides the best use of time.
To read related articles on Privacy by Design click here.