Choosing Software Testing As Your Career
Should I choose software testing as my career? How to switch to software testing from other job experience? Which institute should I join for testing course? These are some of the many questions that come to one’s mind who are planning to make a career in software testing.
In this guide, we hope to give some clarity so that you can make a well informed decision and be happy about your career choice.
What is Software Testing?
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing involves the execution of a software component or system component to evaluate one or more properties of interest. It is also crucial to provide a quality product without any bug or issue.
Skills Required To Become A Software Tester
To know that you qualify to become a software tester, compare your skill set against the following checklist to find out whether Software Testing is a really for you:
A good software tester should have strong analytical and problem-solving skills. Analytical skills will help break up a complex software system into smaller units to gain a better understanding and created corresponding test cases. If you are unsure if you have good analytical skills, then refer to this link. If you are able to solve at least ONE problem, it means that you have good analytical skills.
• A good software tester must have strong technical skills. This would include high level of know-how in tools such as MS Office, OpenOffice, etc., and testing tools like QTP, Loadrunner, etc. along with deep understanding of the application under test. These skills can be developed through appropriate training and practice. While having some programming could be an added advantage, but it’s NOT a must.
• A good software tester must have a good verbal and written communication skill. To be able to communicate the issue to the development team is the most important job of the tester. Testing artefacts (like test cases/plans, test strategies, bug reports etc.) created by the software tester should be easy to read and understand. Dealing with developers (in case of bugs or any other issue) will require a shade of discreetness and diplomacy. Hence, every tester must possess excellent communication skill (both oral and written) in order to communicate the issues faced by him/her in the most effective and efficient manner.
• Testing at times could be a demanding job particularly during the release of code. A software tester must have high productivity, display optimal time management and organization skills and competently manage workload.
You also must have a GREAT attitude to be a good software tester. An attitude to ‘test to break’, detail orientation, readiness to learn and suggest process enhancements. A good software tester should be willing to upgrade his/her technical skills, as the technologies in the software industry keep changing with an overwhelming speed. Where you take ownership of the task allocated and complete it without much direct supervision, your attitude must reflect a certain degree of independence.
You cannot excel in any profession or job, if you do not have a great degree of passion for it. A software tester must have passion for his/her field. So, how do you find out if you have a passion for software testing if you have never tested before? Simple solution: Try it out and if software testing does not excite you switch to something else that holds your interest.
Having a degree in Computer Science such as BTech/B.E., MCA, BCA, BSc- Computers will land you a job easily.
If you do not hold any of the above degrees, then it is recommended you complete a software testing certification like ISTQB and CSTE that will help you learn Software Development/Test Life Cycle and other testing methodologies.
The salary of a software tester depends from company to company. For a software tester in the U.S., the average salary range would be in the range of $45,993 – $74,935, whereas in India it would be in the range of Rs. 247,315 – Rs. 449,111 for a software tester. Besides compensation, a software tester is also given bonuses, gratuity, health insurance, and other perks.
On any typical work day, you will be busy understanding documents required, creating test cases, executing test cases, reporting and re-testing bugs, attending review meetings and other team building activities.
In a typical CMMI level 5 company, your career progression as a software tester (QA Analyst) will look like the following, which will vary from company to company.
QA Analyst (Fresher) => Sr. QA Analyst (2-3 year experience) => QA Team Coordinator (5-6 year experience> =>Test Manager (8-11 experience) => Senior Test Manager (14+ experience)
Another Career Tracks As A Software Tester
You can follow the below specializations once you have got yours hand dirty in manual testing:
• Performance Testing: As a performance test engineer, you will be responsible for checking application responsiveness (time taken to load, maximum load application can handle) etc. Tools used WEBLoad, Loadrunner.
• Business Analyst: A major advantage that the Testers have over Developers is that they have end to end business knowledge. An obvious career progression for testers is to become a Business Analyst. As a Business Analyst you will be responsible to evaluate and assess your company’s business model and work flows, and especially how they integrate with technology. Based on your observation, you can suggest and drive process improvements.
• Automation Testing: As an automation Test Engineer, you will be responsible for automating manual test case execution which otherwise could be time consuming. Tools used IBM Rational Robot, Silk performer and QTP.
? As a career, Software Testing pays less
? Compared to Testers, Developers are more respected
As opposed to the popular belief, all “aspiring” companies pay and treat Software Testers (better known as QA professionals) at par with Software Developers. A career in software testing should never be considered as “second rated”.
? Software Testing is Boring
Since based on your understanding, you need to make sense of business requirements and draft test cases, software testing could actually “test” your nerves. While software testing is not boring, it is doing the same set of tasks repeatedly that is boring. The solution to this is try out new things. For that matter, have you ever spoken to a software developer with more than 3 years’ experience? He will tell you how boring his job has become off-lately.
I am interested, where to begin?
The suggested approach to learn Software Testing for a complete newcomer would be to begin with learning basic principles of software testing. Once done, apply for freelancing jobs. This will help you gain practical knowledge and will strengthen the testing concepts you have learned.
Next, proceed to QTP – Automation tool, then Loadrunner – Performance Testing tool and finally Quality Center – Test Management Tool. While you are learning, we suggest you apply for freelancing jobs (make some money as you learn).
You may consider taking a certification, once you are done with all the tools. It is recommended to try ISTQB. However, this is optional.
Henceforth, when you apply for permanent jobs in big organizations, you will have several skills to offer as well some practical freelancing experience which may be of value and will definitely improve your chances of being selected.