Contrary to popular belief, added cost of software testing in software development actually reduces the cost of the software development.
Consider you hire a web developer for upgrading the website of a reputed leisure and travel organization. April-May period which is the summer vacation time have most of the tours taking off. The booking for these tours usually start by December of the previous year. After 6 months of development, website looks awesome and you and the customer can’t wait to make the website live. You tested the website in your office, the customer office and the offices of the tour operators who upload the tour itineraries on the website. All the features work just fine.
Finally, the website goes live in December. You are happy that apart for few minor defects the website ran like silk. The tours prices are competitive. The search results show your website at the top. The website itself works smoothly. You are confident that the users will enjoy browsing it for their summer vacations. They will make beautiful new memories after choosing one of the cost saving the tours with attractive offers. On returning from holidays, the users will share their positive experiences. However, negative reviews start pouring in even before the tours take off. Shocked, you get the marketing team to find out root cause for the reviews.
One returning user complained in a review that new website does not allow you to choose tours. Your customer relationship team tries to contact the user but the user had already booked a similar tour from different website. The user was taking time to choose tours based on the beautiful hotel rooms and tour photos, showing them off to fellow kitty party members. This had led to the tour page being timed out. Once the page was refreshed, the user had to start all over again. Frustrated, the user chose a different website with similar rates.
One user stated that the website takes too long to load on their mobile devices while browsing with their friends. Also, the “add to cart” option was not visible on the mobile device. They simply went with a different website which had better loading time, the next result on google. Statistics on HostingFacts (https://hostingfacts.com/internet-facts-stats/) tells us that a one second delay in the site load time can cost you 7 percent in conversions and that 40 percent of web users abandon a website that takes longer than 3 seconds to load. The web developer usually develops a website using one browser and an operating system with which they are comfortable working with. They don’t have time to perform testing the website on the many web browsers, operating systems, internet speeds. A tester performs this duty.
You thought users would test the website and report bugs which could have been fixed on the go. However, majority of the bugs were not reported at all; the user simply moved on to a different website. According to IBM Systems Sciences Institute research, it is 100 times more expensive to fix a defect that is found after the product has been released.(Source: https://www.ibm.com/cloud/garage/experience/deliver/dibbe_edwards_devops_shift_left/)
This tour season you expected at least 40% ROI. However, the only ROI was only 10% despite various offers. As can be seen from the examples previously mentioned, even though the tours may have been great experiences, your company got negative reviews at launch itself.
With testing you won’t lose trust of the users because of the defects in the software. As can be seen above, the loss of trust can be followed by refusal of the users to purchase such products or avail of such services.
Today the development of even the smallest software necessarily includes comprehensive verification. The time dedicated to testing and debugging of the software product can take about half of the entire development cycle.
If you start testing at the stage of the requirements development, this process will end much earlier, and will cost much less.
If you browse online for tester jobs on websites, it can be clearly seen that testers cost lesser than developers. It will be profitable for you to hire a mediocre developer and a tester rather than an experienced developer and no tester.
According to CIOInsight, testing can consume as much as 25% of all IT expenses. That isn’t a percentage of programming — it is a percentage of all IT. (Source: https://www.qasymphony.com/blog/software-testing-budget-business-goals/)
As the example above shows, testing creates value by minimizing following costs:
- Increased customer support expense: headcount, payroll, overhead, communications, equipment, etc.
- Unexpected expense to prepare and distribute a patch, service pack, or bug-fix release.
- Loss of revenue and increased costs due to disruption of or outages in revenue-generating production systems.
- Loss of customers to competitors due to outages and/or bad customer experience, leading to lost revenue.
- Loss of customers to competitors due to negative publicity and/or word-of-mouth about failures, leading to lost revenue.
- Disruption or outage of a process or equipment that depends on a failed system, leading to spoilage losses, opportunity costs, or higher indirect and overhead costs.
- Lawsuits for injury or damage resulting from a system failure.
- Increased interest or insurance costs resulting from unfavorable risk assessment due to low operational reliability.
- Financial losses due to missing, incorrect, or late information.
- Criminal prosecution due to missing, incorrect, or late information.