Testing is a necessary activity that should be performed before any new ITS solutions or changes to existing ITS solutions are deployed into a production environment. The primary reasons for doing testing are to minimize risk and to maximize benefits. Following are some tips related to the testing of ITS solutions:
Plan to Succeed
Testing is as important as and often times as complex and challenging as analysis, design, and development/acquisition. Formulating a comprehensive test plan greatly enhances the quality of the testing that is performed.
Test to Verify Functionality
Does the solution do what it is supposed to do; does it fix what it is supposed to fix? Does the solution do anything it is not supposed to do? Having well defined requirements and use cases greatly enhances the planning and effectiveness of this testing.
Test for Usability
Is the solution usable by and acceptable to the intended user community? A solution is of little value, regardless of how technically right it might be, if the user community won't use it.
Test for Compliance
Does the solution meet legal/regulatory requirements? Does the solution meet applicable standards?
Test around the Edges
Does the solution effectively handle situations/circumstances that are outside the norm or at the extremes? If the solution must deal with specific boundaries (e.g., month-end, year-end, maximum number of concurrent users, etc.) does it effectively handle being on either side of the boundary? Does the solution effectively handle exceptions (e.g., bad input data, unauthorized access, missing files, loss of connection, etc.)? Does the solution scale up effectively (e.g., increasing number of users, increasing number of transactions, increasing number of data records, increasing bandwidth demand, etc.)?
Test within the Proper Context
In testing IS solutions context is everything. It doesn't matter if you get sterling results from your tests if the context under which those tests were conducted won't occur within the production environment. In the real world it's practically impossible to have a test environment that identically mimics the production environment. Nonetheless, you need to mimic production environment context as much as is feasibly possible to ensure that the testing you perform has value; otherwise, you're just wasting time, money, and resources with little or no mitigation of risks and little or no assurance of quality.