Of all the activities that take place during the development of software, testing stands out as a very important step; it is an exercise that evaluates the software with the intent of uncovering errors so that they could be corrected.
However, testers are constantly faced with situations that undermine their importance in the software business. This is caused by the wrong perceptions of their responsibilities by the team members with whom they are involved in software production!
The software developers for example see them as a pain in the neck because they would not let his project fly without crossing the t’s and dotting the i’s. After all, a unit testing of the functionalities should suffice and the end users would be glad to have a functional application – not to bother about aesthetics or following software conventions and standards to the letter!
How can one deny the existence of the inherent conflicts of interest that occur when one solely relies on the programmer who has built an application to test his own work? It will be absurd to expect anybody to prove that his OWN work is faulty or has errors!
The project Manager who should understand better at times also see testers as bottlenecks that impact project delivery.
It is natural for every business owner to invest more resources to items that bring the highest returns to the business. The fact that some software business owners do not invest much on the testing unit is an indication of the low level of importance they ascribe to the profession. These business owners find it more ‘profitable’ to expend resources over trainings of other members of the production team; they see the Testing profession as a passive unit that contributes little or nothing to the bottom line.
The testing profession is not a passive but a preventive one; a wise software business owner knows better, he clearly understands that the software business is different from every other form of businesses. A simple but sensitive error from poor quality product could be devastating, leading to a life time damage of the brand thus jeopardizing future sales. Learning from mistakes resulting from such poor quality software is not often the best decision because there may not be a room for a second chance. Since the costs savings from proper software testing are said to be hidden, a good way to emphasize the importance of testing to the business owners is to monetize these costs and intimate the management of same.
Some of the problems that result from poor quality software are:
• Increased customer support costs, such as the cost of answering phone calls of complaints, the cost of refunds, free upgrades etc.
• Lost sales: we are in the age of free information circulation, it takes no time before an aggrieved customers fills the Internet with bad information about a “buggy” software.
• Reputational or brand damage
• Legal costs, such as lawsuits, fines, and lawyers’ fees.
• Inability to maintain or support the products over a long time. A product with uncorrected errors is difficult to maintain or upgrade to catch up with changing technologies.
• Errors are easier and less costly to fix when they are in development stage rather than production when a major application overhaul or downtime may be required.
• Bad software affects business valuation.
In my country, Nigeria – the Police Force has a slogan that states: “Police is your friend” which is written all over their offices and some of the time written on the walls of the cells! Now, this is contradictory because the same cell where offenders are confined has its wall decorated with the statement… How can you be my friend when I am subjected to your tortures?
Not to be taken for its literal translation, the slogan communicates the fact that no matter the action of the police officer(s); be it pleasing or not… such actions are in the best interest of the concerned parties.
So also is the Testing profession to the Application Developer, Project Manager and the Business owners at large. The impact of an independent test group cannot be overestimated in software development, they ensure that the software that are being released into the market are free of errors and thus helps build the users’ confidence in the product. For a company that is interested in building a long lasting brand, software quality is not optional; it is the core of the business!
The time has gone when the only defense against programming errors is native intelligence of the programmer; we are now in an age when modern test design techniques are helping us reduce the number of initial errors that are inherent in the code; different tests methods are beginning to cluster themselves into several distinct approaches and methodology.
Project Managers can make life easier by planning testing into the project schedule.
There is a saying that goes thus: “Treat your customers well, they will always return to you and your product well, they will not return to you” The Testers help the project development team treat their product well and ultimately help the Business owners treat their customers well. What an amazing role of a perfect mid-fielder! He is not the bottle neck some refer him as…
Before you relegate him to the rear seat of the train, remember; “the police is not your enemy but your friend!”
This article first appeared in the Indian Magazine – Tea time with Testers, September Issue.
You could download your free copy here as well.