Saturday, November 27, 2010

A Career in Software Testing

The dynamic IT industry has always lured the brightest minds with challenging career options. Students are also attracted to this field because, apart from getting international exposure, the earnings are usually higher. They also get the satisfaction of being a part of something that could possibly shape the future.  
 Initially, software testing and software development went hand in hand, but now it has emerged as a specialized discipline in itself. The role of a software tester is crucial as they are trained to pick out flaws, if any, in the software. They test the software using various parameters to determine its ease of use, and flow of operation. They check the software for bugs and also determine whether it meets the business and technical requirements. This then helps the developers to iron out even the minutest of errors and save themselves from the embarrassment of a software failure due to a minor flaw.
The growth prospects are tremendous. As per Gartner Forecast, the industry will be worth $50 million with forecasted CAGR of 14 percent through 2014. According to Asheesh Raina, Principal Research Analyst, Gartner, “Organizations today have rapid cycles of change on the business front. Software testing is increasingly recognized as the cornerstone of supporting rapidly changing business conditions, making organizations more agile.
What does the job of a software tester entail?
The job of a software tester entails understanding what the user expects from a software product and evaluating the software being developed to see if it fulfills those expectations. These expectations relate not only to the features the software should have, but also other attributes, such as ease of use, performance, and security. In addition, the software tester has to ensure that even if users make mistakes while using the software and enter incorrect data, the software is able to handle those situations.

How important is the role of a software tester and what are his responsibilities?
 Software testing jobs demand that the testers catch as many defects as possible so that end-users are not impacted. At least in today's scenario, the software tester stands between you and an unusable product. Most organizations today have a software testing role with corresponding development roles, and many organizations have a centralized testing team often called TCoE or Test Center of Excellence.
Software testers’ responsibilities, at various levels, include estimating the amount of work, writing test cases, executing test cases, creating defect reports, testing the fixed defects, working with developers to help identify and fix bugs, etc.

What skills must a software tester possess?
 There are different types of skills required for different types of testing jobs. Anybody who possesses those skills or who is willing to develop those skills can become a software tester. For example, banking software often requires knowledge of banking. Desktop publishing software testing requires knowledge of desktop publishing. This is called domain knowledge. Then there is need for knowledge of testing i.e. how software testing is done, how it is managed, etc. There is another stream, which requires knowledge of programming. Automated testing, performance testing, and security testing are some examples of streams that require technical skills of development. Other skills required are excellent communication, eye for detail, and analytical skills.

 What are the challenges involved?
 There are many challenges. Knowledge of the domain, good testing skills and changing technology are some of them. There are other challenges such as lack of clarity of what the user wants, adversarial relationships with developers, and unrealistic expectations from the management, who want testers to magically remove all defects. Testers can only identify the defects, but not remove them. It is the job of developers to see that they produce fewer defects and not rely on testers to find all defects.

What are the educational qualifications required?
While there is no obligation to have any particular degree for being a tester, it is a good idea to have a degree in Computer Science, especially for the technical testing roles like automation and performance testing. A Bachelor of Engineering degree in CS/IT or any stream, or MCA, is a good qualification to have.

What is the scope for software testing in India?
There is huge scope. The Indian Testing Board has certified 30,000 testers in the ISTQB (International Software Testing Qualifications Board) foundation level exam. It is an international certification for testers. The huge numbers make up about 10 percent of the industry, or maybe less. With these types of numbers, it is already clear that testing has huge scope in India. There are many pure play testing companies, while most big companies have a dedicated testing department.

What is growth prospect and salary like?
Testers get paid good salaries, starting from Rs 2 lakhs per annum. Testers are paid as well as developers in most companies, and in the case of some smaller firms, they may even get paid more than the developers. It is difficult to find a good tester, and the growth prospects are huge.

While some institutes offering software testing courses seem to be affiliated with the Indian Testing Board, a few others are not. Which institute should one go for?
Indian Testing Board accredits training courses based on Foundation Level certificate of ISTQB. It means training organizations have to create good content and also it has to be in line with guidelines set by the ISTQB (http://www.istqb.org). Not all organizations can do that and some don't want to do that. We suggest that all courses and training institutes should be judged on a number of criteria, such as duration and contents of the course, trainer's profile, institute's reputation, accreditation, post-training placement assistance, and exposure to both theoretical and practical aspects of testing.
 What are the various course levels? Is this certificate valid abroad as well?
ISTQB has three levels - Foundation, Advanced and Expert. This forms a comprehensive testing career ladder. Some other certifications that Indian Testing Board offers are IREB (International Requirements Engineering Board) and QAMP (Quality Assurance Management Professional).
There are over 47 national and regional boards spanning six continents, which are part of the ISTQB. There are over 150,000 ISTQB-certified testers all over the world. This is a truly international certification, which is recognized and respected all over the world. 

No comments:

Post a Comment