Software Testing: Cost or Product?

Introduction
Many look upon Software Testing as a cost. While it is true that Software Testing does cost money, in many cases significant amounts of money, it is also an activity that helps an organization to avoid costly failures further on in the development process. Most understand this relationship; Software Testing is spending money to save money. What many do not also realize is that Software Testing also produces valuable assets for the organization. This article will discuss those assets of Software Testing.
The Products of Software Testing
Just as software development is a process that results in products, namely software products, Software Testing is a process that results in products. These include the following:
- The test design process produces a series of test cases.
- The test execution process produces a list of software anomalies.
- The problem identification process produces bug reports.
Corresponding with the 3 products of the Software Testing process, 3 main activities define Software Testing. These include the following:
- Designing the software tests.
- Running these tests.
- Identifying problems that come to light through the test execution.
All 3 of these activities carry a heavy responsibility of communication with the product development team, as well as company executives, to establish confidence in the product. Effective and meaningful communication back to these teams can often be problematic for test teams that do not have or follow defined company processes or standards, are continually pressed to cut the test time, or are working with development groups that do not have a full appreciation of the testing, do not understand its purpose, or feel that testing is a roadblock to release.
By thinking of testing as producing products, and considering these products as assets, an organization’s approach to testing can be significantly enhanced.
Usually, organizations think of testing as an activity as opposed to a product. It is seen in terms of costs and savings, as the activity costs money but finding bugs early saves money. By thinking of testing as producing products, and considering these products as assets, an organization’s approach to testing can be significantly enhanced. Consider the following points that come out of this way of thinking:
- Test cases have a definite value and can depreciate over time as the underlying application changes.
- Well-written test cases consolidate the intellectual property of your team members and retain that knowledge in the company as staff members may come and go.
- Well-automated tests can be re-used over and over again, becoming assets that produce profits for the company.
Conclusion
By taking into consideration the products of Software Testing, the expenses incurred for Software Testing can be looked upon in a different light. While it is an expense to avoid later costs, it also produces reusable assets that should be considered as both helping to offset the costs of Software Testing while strengthening the organization by codifying its intellectual property.