Friday, April 24, 2009

What is Testware?

Testware

Testware includes artifacts produced during the test process required to plan, design, and execute tests, such as documentation, scripts, inputs, expected results, set-up and clear-up procedures, files, databases, environment, and any additional software or utilities used in testing. [Software Test Automation, Effective Use of Test Automation Tools by Fewster, M.; Graham, D]

A deliverable is a major work product of an organization. Hardware development engineers produce hardware. Software development engineers produce software. Software test engineers produce testware. Testware is produced by both verification and validation testing methods. Testware includes verification checklists, verification error statistics, test data, and supporting documentation like test plans, test specifications,test procedures, test cases, test data and test reports. Testware is so named because it has a life beyond its initial use. Like software, it should be placed under the control of a configuration management system, saved and faithfully maintained.

Contrary to popular perception, testing is not an on-the-fly activity with no tangible remains when the work is complete. Like software, testware has significant value because it can be reused without incurring the cost of redevelopment with each use. It is important to maintain testware, just as software and hardware are maintianed. Part of the tester's job is to create testware that is going to have a specified lifetime and is a valuable asset to the company, controlled and managed like any other. When testware is being created, it has to be put under some kind of control so that it is not lost. If a particular tester leaves the company, someone else can then maintain and continue the process. Giving testware a name helps to give validity to a test organization that doesn't usually think in terms of having a specific deliverable. [Source]