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 them.
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.” For example, 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 about the ISTQB definition is that it describes a process that occurs throughout a software project. However, as a software customer, 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.
Related Articles :
- What Is a Feature Article and What Sets It Apart From Other Writing?
- 5 of the best blogs about blogging for non-techie creatives
- How Software License Agreement Works
- Do You Really Think Cloud Computing Is the Reality?
- Business Benefits of Custom Software Development
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 in 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 huge amounts of money to be lost. For example, 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 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.
Randy Rice is a thought-leading author, speaker, trainer, and consultant in software testing and software quality. He has worked with organizations worldwide to improve the quality of their information systems and optimize their testing processes.
Randy has worked as a full-time IT software professional for over 35 years, with the last 25 devoted to the profession of software testing and quality assurance. He is passionate about helping people build better software so their customers will love their products. In addition, Randy is a mentor to many testers and test managers to build deep knowledge about software testing and have fulfilling careers.