I am often asked what I do for a living. As a trainer and consultant in the field of software testing, I have to explain the field and practice of software testing in some creative ways, such as:
I help people find bugs in software before it goes out to you.
I am a “test pilot” for software.
I am like a software bug exterminator.
I can also point to recent news, such as the failure of the Obamacare website and say, “I try to help companies avoid this kind of problem.”
Here is the International Software Testing Qualifications Board (ISTQB) definition: “The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.”
In actuality, software testing is also system testing, since you need hardware to test software.
The interesting thing to me about the ISTQB definition is that it describes a process that occurs throughout a software project. However, as a customer of software, you can test the software you want to buy before you buy it.
For example, if you want to buy a personal finance application, you can download trial versions of various products and see which one meets your needs best. This is what is meant by being “fit for purpose.” Perhaps all the applications you try are functionally correct, but some may be too complex or too simple.
Some people see software testing as the process of finding defects (or bugs).
However, I suggest that the greatest value of software testing is to provide information about software, such as defects, performance, usability, security, and other areas.
Another way to see software testing is “quality control” for software. Like in manufacturing where the QC people look for defects in products, software testers look for defects in a software product.
Unfortunately, too few companies and organizations see the value to software quality, so they release buggy software to their customers. These defects cost time, money and result in a lot of frustration. Just think of the last time you experienced a software problem. Perhaps your word processing software crashed while you were writing something and you lost the last 15 minutes of writing. That is frustrating.
In business, software defects have caused people to die, and for huge amounts of money to be lost. In the Facebook IPO, Nasdaq has had to pay over $80 million to date in fines and restitution to investors. That was due to one software defect (not a glitch), that caused an endless loop condition.
It is impossible to test every condition, but my advice is to at least test the high-risk functions and keep building a set of repeatable tests for the future. You can learn more about how to plan and perform software testing at my website, http://www.riceconsulting.com.