The demand for efficient software is rising in every sector of human activity, and this in turn is leading to creation of many new job opportunities for youngsters who can test software and analyse its quality. Once developers have written a software programme, it needs to be debugged. If software has not been adequately tested, it can lead to delays and cost overruns. It is the Software Quality Assurance (QA) engineers who ensure that software is free of bugs before being put into the market.
Making software bug free
When we think of information technology, we automatically start thinking of the creators of software. Most of us are ignorant of the professionals who perform the crucial job of testing the software before it gets shipped to the user. These professionals belong to the Software Quality Assurance team. Typically, almost 40 per cent of the software professionals employed in any company work on projects that have to do with Software Quality Assurance. According to some estimates, hundreds of billions of dollars are lost internationally due to bugs and other shortcomings in software. It is the job of Software Quality Assurance team to curb such losses.
We should not confuse Software Quality Assurance with merely software testing. Software testing comprises of only a small part of all the processes that come under Software Quality Assurance. During the entire process of the development of software, the Software Quality Assurance engineer has to be involved in order to ensure that the final product is of high standard. The job may entail tasks such as gathering and documentation, source code control, code review, change management, configuration management, release management and finally the actual testing of the software.
Degrees and certifications
When it comes to Software Quality Assurance engineers, the reputed IT companies prefer to employ someone with a Computer Science or similar degree. Students with a B.E./B.Tech degree and a latest certification are paid much more than those with only a diploma in engineering or science. Those with MCA or Masters degrees in computer science might be able to draw the highest salary. However, once you have joined the company, further progress will be linked to your performance.
Along with degree or diploma, some specific certifications are also required. If you are freshly out of college, the company, where you join in the Software QA department, will probably have you pass through a three months to one year of training period. During this period, you might have to take relevant certification from a reputed international agency. The most notable certifications in this field are those being offered by QAI (Quality Assurance Institute) and by ISTQB.
The company, where you are employed, typically pays the examination fees for these certifications. The exam consists of multiple-choice questions and in most cases is over in around an hour. It is the preparation for the examination that takes all the time. Along with the degree and certifications, a software QA engineer is also expected to have good communication and networking skills. He should be good at documenting his work. You will have to file daily or hourly reports on the testing and other related work that you have been doing.
The job profile
If your resume is embellished with the right kind of degrees/diplomas and a latest certification, then you will have no difficulty in getting a suitable position in any top IT company. The field of Software Quality Assurance is so vast that it corners a sizable percentage of the total operating budget in almost all the top IT companies in the world. As far as the salaries go, Software Quality Assurance is considered to be one of the most important departments in any IT company, and hence the professionals employed in such departments are well paid. A fresher can expect a salary ranging from Rs. 25,000 to more than Rs. 50,000.
The designations for this line of work differ from company to company. The most common designations include:
* Associate Software Engineer
* Software Verification Engineer
* Technical Manager, etc
Types of Testing
There are many different types of testing that are currently in use, but broadly these systems can be divided into two broad categories – White Box testing and Black Box testing. In case of White Box testing, the engineers take an internal view of the software, whereas in Black Box testing, an external view is taken. The testing can also be static or dynamic. Merely reviews or inspections are considered to be examples of static testing. In dynamic testing, the programme is actually executed so that its operational efficiency in the live environment can be analysed. Over the years, many new software tools have been developed to make the job of testing new software easy.
The major software certifications being offered by QAI include:
1.Certified Associate in Software Quality (CASQ)
2. Certified Associate in Software Testing (CAST)
1. Certified Software Quality Analyst (CSQA)
2. Certified Software Tester (CSTE)
3. Certified Software Project Manager (CSPM)
4. Certified Software Business Analyst (CSBA)
5. Certified Software Process Engineer (CSPE)
6. Certified Quantitative Software Process Engineer (CQSPE)
Advanced Certifications (Professional Certification is a prerequisite)
1. Certified Manager of Software Testing (CMST)
2. Certified Manager of Software Quality (CMSQ)