Software testing from mobile phones to cameras, software testers examine a range of digital products for bugs and design flaws.
Pramod Kumar cracked his first assignment as a software tester with aplomb. This was about five years ago at a top-notch mobile phone company.
“While checking the software of a stylish new flip phone, I found that the switch-off button did not work properly and the handset vibrated unnecessarily to make the battery run out faster,” he recalls.
After fiddling with the device for several hours, the software engineer was thrilled to discover that it was a bug that was causing the problem.
For the uninitiated, creating software entails a series of steps collectively called the “software development life cycle” (SDLC). The software tester swings into action after the software is designed or coded.
So what it’s all about: “When a developer finishes designing or coding an application, it needs to be thoroughly scrutinised for any bugs that might have crept in owing to a faulty design or code. This is called testing.”
There are two types of testing — unit testing and post unit testing. The first is done by the developers themselves, to get their code “passed”. The second is carried out by independent professionals called testers who are supposed to check the software rigorously for flaws from a user’s perspective.
A software tester’s job is to provide quality-related information to help stakeholders of a project take better informed decisions. Part of it involves finding bugs, making notes of surprising, obvious or non-obvious elements; checking for violation of policies, rules and standards; and so on.”
It also involves a bit of programming (writing software codes) to develop tools and utilities for better testing. “Most important, a software tester has to think logical, critical, lateral and multi-dimensional.
Testing is thus the most important part of software development. In fact, it has now become a full-fledged industry domain.
Says Asheesh Raina, principal research analyst, Gartner, an IT analyst firm, “Around 40 to 50 per cent of the time required to develop software is devoted to testings.”
And it’s not a profession that only software engineers can aspire to; others too can become software testers.
We may be surprised to know that there are more lines of code in a Mercedes Benz S class car than those that run on the Windows XP Operating System. Every line of coding needs testing.
Non-engineers too can join the profession.Every defect found early in the SDLC saves millions of dollars.
In 1999, NASA lost the $125-million Mars orbiter — meant to study the planet’s climate — because of a software flaw. Had proper procedures been followed, the irregularity might have been detected and the loss averted.
In the software industry, applications need to be released on time, within budget and with an agreed level of confidence for quality assurance.
What all this essentially means is that the software testing market is set to grow by leaps and bounds. “We can expect a healthy growth this year,” says Raina.
According to the Nasscom Strategic Review 2010, “Industry revenues from software testing services grew by 5.2 per cent to reach $ 1.9 billion in 2010.”
So who apart from software engineers can cash in on the growth?
“A graduate with a science background,” says Govindarajan Muthukrishnan, India testing head, Capgemini, a consulting, technology and outsourcing major. “Of course, engineers are preferred and would earn more.
Nowadays, IT companies train newcomers for a year before promoting them as software testers,” he adds. Those with good problem solving and analytical skills, an ability to understand patterns in problems, and creative thinking would flourish.
However, the technical qualification criteria differ from company to company. To join the testing services division at Wipro Technologies, “one needs to have completed BE, BTech, BSc (computer science) or MCA.
They then undergo a stringent training period of three to six months (depending upon the domain) that covers testing, tools, processes and methodologies,” says Seth.
For the others, an additional qualification in computer applications is necessary. “Industry-level certifications such as ISTQB are becoming increasingly important.
A strong foundation in databases, computer languages, software development technology frameworks, operating systems and automation techniques makes one productive and effective,” adds Sundarararajan of HP India.
“Salaries for software testers are on the rise owing to increased business opportunities.”
Reports say there are already over a lakh software testing professionals in India. And given that digital products are getting more and more sophisticated, they will continue to be in very high demand.