When we start our career in software testing, we often get confused about our roles and responsibilities. Even when we get promoted from one role to another it becomes sometimes difficult to understand the new role properly. In this Software Testing Careerpath article I have tried to explain some of the common roles and responsibilities in software testing career. Also this will give you a clear direction on various growth paths available in your software test career.
Let’s check some of the common testing roles first:
Junior Test Engineer (No experinece/College pass graduates)- This is an entry level role where the tester will have some manual testing experience to develop test scripts. He should also begin to learn the testing life cycle and various testing techniques;
The question is what is your starting point: check this site for various beginer’s guides, also take participation in the test forums such as SQA forum, geek interview etc. At this point gain as much theoritical knowledge ad possible. Also there is a site called utest where you can do freelance work on test project. This will give you some practical experience which you will be able to mention in your resume.
Test Engineer (2/3 Years of relevant experience)– In this role the test engineer should be able to independently write automated and manual test scripts. In this role further expansion of knowledge in programming languages, operating systems, network and database is needed;
Senior Test Engineer (3/4 Years of relevant experience) – In this role people can develop or maintain testing process or standards and is responsible for peer assessment, and be able to guide junior test engineers;
Team Leader(5/6 Years of relevant experience) – Generally have five years experience, responsible for managing a small team. Is also responsible for scheduling, scope of work / cost estimates, schedule and budget targets, delivery of testing artifacts.
Test Manager – Generally people having more 7 to 10 years experience perform this role. Under them multiple team leads work.
• Responsible for delivery of all testing activities.
• Management status reporting for the test work stream
• Resolution of all issues and management of risks in the test work stream
• Liaison with delivery and environment teams
• Liaison with other test phases (i.e. Unit, Link, UAT and confidence testing)
• Consolidate test progress from test teams and communicate through daily and weekly reporting channels.
• Assessing achievement of test entry and exit criteria to enable progress through test phases and for handover to UAT & deployment teams.
Project manager (Typically for testing project) – In this role peole have many years of experience (more than 10) of testing / quality assurance activities. Personnel engaged in a number of projects, as well as the entire development life cycle. He is also responsible for the direction and grasps the profit and loss for the project.
Now we know the various roles present in the software testing field. So let’s move forward and see how we can go up in the ladder for this ever growing field:
Software testing career growth path:
1. Phase I, learn how to write test cases and at least one automated testing tools.
2. Phase II, study the preparation of test plans, test programs, test cases;
3. Phase III, study configuration management, version control, project management, bug management;
4. The fourth stage, become a test or project manager.
People choose the testing career because of two main reasons – some people what to goto the management direction and other prefer to stay in technical stream typically called test architects. Now we will see how one can become test manager or test architect in their testing career path.
1. Management Direction:
If you are a tester or a high-level testers, who wish to move to test management eventually then you need to strengthen the following areas:
1.First and foremost make sure you are getting good domain knowledge of few areas such as banking, insurance or some other areas which are in demand. This is age of specialists. People are looking for consultants. So try to do more than one project in one domain are to get the stamp of the test consultant of that area.
2. The preparation of test plan. You must be able to understand the testing related requirements independently from the client and prepare the test plan with scope of testing, features you are going to test, environment etc. Please refer the standard test plan template for the same available in this site.Also you should be able to do proper estimation with minimum requirement visibility.
3. Must be familiar with BUG tracking tool and software testing processes. (Such as: TD, Bugzilla, CQ, etc.)
4. Should be familiar with configuration management tools. (Eg: CVS, VSS, etc.)
5. Should be familiar with automated tools. (For example: WinRunner, QTP, Robot, RFT, Automation and so on). Atleast you know the framework or process to run an automation project.
6. Should be familiar with stress and performance testing tools. (For example: LoadRunner, WebLOAD, silk performance and so on). Atleast you know the framework or process to run an performance test project.
7. Be familiar or proficient in atleast one scripting language. (For example: Java script, vb script etc)
8. Should be familiar with the database and can create basic to advance SQL quesries. (For example: Oracle, DB2, SQL Server, MySQL)
9. Should be familiar with the mainstream operating system. (For example: HP Unix, IBM AIX, Sun Solaris, Red Hat Linux, SuSE Linux, Windows)
10. Must be very confident in the office tools such as MS Office and MS Project.
1. Must have good communication skill and can write emails in good English
2. Should be able to firmly communicate his thought inform of upper management and client with data.
3. Must maintain a good energy level while communication with a positive body language.
4. Can quickly react To learn new technology.
5. Always proactively helping and mentoring others or taking ownership of the extra responsibility in the project. This will help you to create extra visibility for you quickly in the upper management layer and help you to go up in the ladder.
2. Technical Direction:
White-box testing: This is more of a development stream activity but of course from testing team you can do that also. Here you will have the exposure to the code of the application and will be testing them in units.
Automated Test direction: This is a very good technical position for the testers. You can learn testing tools say QTP, RPT and do the advanced level scripting using VB script, java script etc. The current trend for automation testing is very good.
Performance testing area: This is another vast and demanding area of software testing, also very technical. Here also you need to understand the internal architecture of the application and test performance of each component. So a good amount of knowledge can be gained in the current hot application framework by doing performance testing. Also you will analyze the performance data and provide correct direction to the development team to fix the performance issue.
Software testing Career in India:
Software testing is a growing industry in the IT field in India. There was a demand of 25,000 professionals of ST in 2006 itself. The activities of software testing in India is set to cross bar 700 million to 1 billion dollars for STS 2007.Demand quality is set to open in full, since Indian companies can offer testing in very low cost compared to their global counterparts. However, remember that software testing is very different from software development. The tests have emerged from the shadow of programming and can be treated as a separate career. Vocational training is necessary to start a career in software testing.