OVERVIEW OF TESTING
Testing is a general term often used interchangeably with QA or Quality Assurance specially in IT world. However, it is just one of the activities to assure quality of any product before delivering it to the end users. Though it carries a lot of importance on the quality delivery process, somewhere down the line it seems to be underrated activity within the entire life cycle of product or software development.
Just for new enthusiasts, this is what a typical waterfall software development life-cycle looks like. Requirement gathering, development or coding, testing, and finally delivery of a product. There are various forms of testing as well that are performed on a product before handing over to the end users. In this blog, more than other aspects, I am trying to explain why is it important.
Just imagine yourself driving a vehicle which is not tested thoroughly. Imagine a bank’s online service which is broken and carries vulnerabilities for data theft etc. Imagine the application you are working on freezes after couple of clicks. These are very few examples to elaborate on the importance of a quality product. However, these examples of failures might not only be the outcome of inadequate testing. These are the outcome of not maintaining quality throughout the development life cycle and testing plays a big role before delivering quality products to the end users.
We hear news of software failures and impacts most often. “Software failures of 2016 that Testing could have prevented” by Cigniti is a good read to understand “why is testing important?”
IMPORTANCE OF TESTING
By now, you are aware of the high level overview about testing. Below are some of the important aspects of it in bullet points.
– Ensures delivery of the functionalities, features, and specifications as requested by end users.
– Helps on identifying majority of the vulnerabilities, defects, and errors introduced during development.
– Ascertains several aspects of a product is working as expected like performance, compatibility, usability, etc.
– Creates an opportunity to understand users’ perspective before delivery. This exercise sometimes can add value in optimizing product before delivering it to the end clients.
Overall, it is an essential activity to provide quality product to the end users. It helps in providing quality product with reliability and consistency. This helps in building confidence in the end users and results in retaining their business for long term.