Monday 12 August 2013

Software Testing As a Career - A Complete Guide

If you plan to make a career in software testing , this is a MUST READ!
What is software Testing?

Software testing is a group of activities that ensure the Quality of Software product.
                                            OR
" An activity to ensure the correctness, completeness & quality of the software system with respect to requirements.
"
Why Testing:
Testing is not limited to the detection of “bugs” in the software, but also increases confidence in its proper functioning and assists with the evaluation of functional and nonfunctional properties. 
Testing is an important and critical part of the software development process, on which the quality and reliability of the delivered product strictly depend.

Skills required to become a Software Tester 

Following skills are indispensable to become a good software tester. Compare your skill set against the following checklist to determine whether Software Testing is a really for you-
  •   Analytical skills: A good software tester should have sharp analytical skills. Analytical skills will help break up a complex software system into smaller units to gain a better understanding and created corresponding test cases.    
  •   Technical skills : A good software tester must have strong technical skills . This would include high level of proficiency in tools like MS excel, SQL Queries etc. , Testing tools like QTP , Selenium, Loadrunner , Quality Center ,Rational Clear Quest,Jira etc.. and of course deep understand of the application under test. These skills can be acquired through relevant training and practice. Also it's an added advantage that you have some programming skills but its NOT a must.
  •   Good verbal and written communication skill: A good software tester must have a good verbal and written communication skill. Testing activities  (like test cases/plans, test strategies, bug reports etc) created by the software tester should be easy to read and comprehend. Dealing with developers (in case of bugs or any other issue) will require a shade of discreetness and diplomacy.        
  • Testing at times could be a demanding job especially during the release of code. A software tester must efficiently manage workload, have high productivity ,exhibit optimal time management and organization skills. 
  •   GREAT attitude: To be a good software tester you must a GREAT attitude. An attitude to test to break' , detail orientation , willingness to learn and suggest process improvements. In software industry, technologies evolved with an overwhelming speed and a good software tester should upgrade his/her technical skills with the changing technologies. Your attitude must reflect a certain degree of independence where you take ownership of the task allocated and complete it without much direct supervision.  
  • To excel in any profession or job, one must have a great degree of the passion for it. A software tester must have passion for his / her field. BUT how do you determine whether you have a passion for software testing if you have never tested before? Simple TRY it out and if software testing does not excite you switch to something else that holds your interest. 

Academic Background:

Academic background of a software tester should be in Computer Science. A BTech(Electronics/Computer Science)/ B.E. , MCA , BCA , BSc- Computers will land you a job easily.
If you do not hold /or have any of these degrees than you must complete a software testing certification like ISTQB and CSTE which help you learn Software Development/ Test Life Cycle and other testing methodologies.

Typical Workday:
On any typical work day you will be busy understanding requirement  documents , creating test cases , executing test cases , reporting and re-testing bugs , attending review meetings and other team building activities.

Career Progression:

our career progression as a software tester (QA Analyst) in typical CMMI level 5 company will look like following but 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).

Alternate Career Tracks as a Software Tester

Once you have got yours hand dirty in manual testing , you can pursue following specializations
  • 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  
  • 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 advantages 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 analyze and assess your company's business model and work flows ,and especially how they integration with technology . Based on your observation you will suggest and drive process improvements.

Common Myths

  Software Testing as a Career pays Less
  Developers are more respected as compared to Testers
Contrary to popular belief , Software Testers (better known as QA professionals) are paid and treated at par with Software Developers in all "aspiring" companies. A career in Software Testing should never be considered as "second rated".
                   Software Testing is Boring
Software Testing could actually "test" your nerves since you need to make sense of Business Requirements and draft test cases based on your understanding. Software testing is not boring. What is boring is doing the same set of tasks repeatedly. The key is to try 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.

Okay I am interested ,where to  begin ?

For a complete newbie, here is our suggested approach to learn Software Testing

Read more at qamanualtesting.blogspot.in
     
  !!! Happy Learning !!!

No comments:

Post a Comment