10 Steps Action Plan to Move From Software Development To Testing
How can I move my career from Software Development To Testing? I am frequently getting these kinds of queries in comments on our most popular article 6 Important Steps to Shift Career from QA to Business Analyst
In my friend circle also, many have shifted their career paths from development to testing for different reasons. I have seen ladies after marriage or kids do prefer Testing / QA than development.
No doubt, Software Testing is anytime a good choice to start a career. Here are 10 Practical Reasons Why Software Testing / QA is a Good Career Option.
But whatsoever the reason in your case, make sure your interest really matters in the long run.
Typically, below are the Software Tester or QA’s responsibilities.
QA Responsibilities:
- Read Requirement Documents and understand the business.
- Identify what needs to be tested.
- Develop Test Cases, Test Scenarios
- Prepare Test Data
- Execute Test Cases
- Log defects, retest fixed defects.
- Regression Testing after defects are fixed
- Publish Testing Status report and Defect report.
Some skills that Software Testers must have are:
Technical Skills Required:
- Understanding of Software Testing Terminologies
- SDLC (Software Development Life cycle) and STLC (Software Testing Life cycle) knowledge
- Awareness about some of the Defect Tracking Tools
- Knowledge Of Test Management Tools
- Microsoft Excel with formulas, pivot tables, and charts
Desired Soft Skills:
- Strong Verbal and Written Communication
- Test To Break Attitude
- Passion For Quality that is never compromised.
- Analytical and Logical thinking
- Ability to put yourself in User’s Shoes to test an application.
Software Tester’s Salary :
- Remuneration of a software tester varies from organization to organization. The average salary range of a software test engineer in the US is $45K – $150K while in India it is around Rs 3.5L – Rs 30L (may vary a bit)
- Also, a software Tester is given health insurance, bonuses, gratuity, paid leaves, and other perks as a permanent employee.
Software Tester Career Path:
Your career progression as a software tester (QA Analyst) in typical CMMI level 5 company will appear as following though can vary a bit from company to company
- QA Analyst (Fresher)
- Sr. QA Analyst (2-4 years’ experience)
- QA Team Leader (5-7 years’ experience)
- Test Manager (8-13 years’ experience)
- Senior Test Manager (14+ experience)
Action Plan to Move From Software Development To Testing:
Now if you have finally decided to shift from development to testing, you can follow these steps for a smooth transition.
1. Learn Testing Fundamentals:
As you are from a development background, you are already doing unit testing of your code. This means you are aware of the basics of testing.
But to gain that confidence, I will suggest taking a formal course on Manual Testing, which will help you to get clear on testing terminologies. This should not take you more than 2 weeks to complete.
There many online portals like Skillshare, Udemy, Coursera which share good End to end testing courses at much cheaper rates.
You can also enhance your testing skills by going through good testing tutorials, reading testing blogs, participating in testing events like online testing hackathons.
2. Get Familiar With Testing Artifacts:
Testing has more documentation involved. This involves Test Cases, Test Scenarios, Traceability Matrix, Test Plan, Defect Reports, Test Summary Reports.
If you are taking the testing course, you will know about it in detail. Otherwise in your project also you must be having access to these documents. You can go through it. Those are not very complex to understand. Else many good testing websites provide these templates for free. Study that.
If possible, attempt to create few artifacts in your current project for practice and get it reviewed by your Testing team.
Also, try to get hands-on on Microsoft Excel with formulas, pivot tables, and charts which will be helpful while preparing those artifacts as a tester.
3. Learn Defect Tracking and Defect Management Tool:
Defect Tracking and Defect life cycle are key aspects of software testing. It is very important to manage the defects properly and track them in a systematic manner. Defect tracking activity is highly visible because the entire team should know about the defects including managers, developers, and testers.
Several tools are used to lock defects including Quality Center (QC), Bugzilla, Jira, etc. As a developer, you also must have used these tools. Just learn it through the tester’s perspective.
Test management is another important task of testers. Managing testing related artifacts accurately is the tester’s responsibility. Tools like HP Quality Center (QC) are widely used in organizations for Test Management. So, it is important to have knowledge and working experience of such tools.
Here is an excellent course on Udemy if you wish to take it. Test Management using HP ALM / QC (Quality Center)
4. Revise Basic Database/ Linux /Scripting Knowledge:
Having knowledge of Database or Linux has an added advantage for testers. In most of the web applications, backend data needs to be validated. In that case, simple/complex SQL queries can be used to test.
If you are strong in a database, you can try for Datawarehouse / ETL testing, which is in demand these days.
Knowledge of any scripting language like VBScript, JavaScript, C# or Java is always helpful as a tester if you are looking for a job into automation. Few companies also use Shell/Perl scripting, and there is a lot of demand for testers knowing the same.
Also, most of the software applications like Web-Services, Databases, Application Servers are deployed on Linux machines. So it is crucial for testers to have knowledge about Linux commands. So if you already know it, this adds advantage.
5. Learn Automation:
Manual testing is no more in any organization. Automation or some special tools knowledge is almost mandatory or preferred everywhere. You can get a job as a manual tester, but the possibility can be increased multiple times if you learn automation testing. Being from a development background, learning new testing tools will be easy for you.
To increase your chances, you must master a tool and get in-depth, hands-on knowledge of any automation tools. You can also think of SAP Testing and ETL testing based on your interest.
If you are into Java or Python, try to learn Selenium or UFT which requires basic knowledge of Core Java. If you’re familiar with JavaScript, Cypress will be an easy transition. You can learn it online or join a class nearby. If not Selenium, learn some Performance testing tools like IBM’s RTP, Jmeter, Loadrunner.
You can refer to Selenium WebDriver with Java for beginners . One of the best courses ever for beginners: clear, brief, and understandable. I would like to recommend it for everyone who wants to start as an automation tester.
6. Practice Practice Practice:
Only theoretical knowledge of Testing or any Automation tool is not sufficient to crack the interview, you must have good hands-on experience, so practice, practice, and practice to achieve mastery.
If you are already working as a developer, get access to testing documents like Test Cases, Test Data, Traceability Matrix. Study them well. You would understand it easily, as you are aware of all the functionalities and testing concepts are already clear through the testing course/self-study. You can sit with your developers and try to observe their tasks and deliverables.
Also, study well all your mentioned projects and see you can think of those in testing perspective. For example, take any module or functionality you developed. Try to write test scenarios, write test cases, prepare test data sheets, etc. This practice will give you the confidence to face the interviewer.
Apart from technical skills, soft skills like communication (both verbal and written) are equally important. Work on those as well.
7. Demonstrate your skills/ knowledge:
ISTQB Foundation level is the basic certification in the Testing field. It is not mandatory, but it will help increase your chances of getting the job. Most of the companies have this criterion. An ISTQB certified software tester will be given priority as compared to others.
You can also pursue certification in any Testing tool of your choice to create an impact.
Showcase your skills in online testing events. Participate in Online forums. Apart from this, you can also write blogs on Linkedin or any website like opencodez.com and share the link in your CV.
8. Try Hard In Own Organization:
Switching the profile in your own company is easier than trying outside at this stage. Discuss with your immediate manager who by this time have seen your interest in testing and your efforts to learn and help the testing team.
You can also talk to HR or other authorities and clearly mention your intentions. Have patience if they are willing to help you. Apply for internal Testing positions available on your company portal.
Meantime definitely try outside as well. I ‘ll suggest going for Startups, than MNC’s as for them knowledge matters most, than anything else.
9. Get Set Go:
Now you are ready with a good amount of testing knowledge, the experience of your current project. So, it’s time to work on your CV.
Highlight your Testing as well as development skills. Mention the Defect Tracking and Test Management Tools that you are aware of or worked on, though as a developer. For testing experience, you can write about your current project where you did development as well as testing.
Highlight Unit Testing for every project you developed. This way you won’t look like a fresher in testing.
Here are 12 effective tips to create an impressive Testing CV. It will surely help.
Finally, update your profile on Linkedin and other job sites. Share with your friends for referrals.
Here I will suggest, be a little flexible about your salary if you are switching for a good reason. Ultimately you know your priorities the best.
10. Trending Testing Methodologies:
This bonus tip is for going one extra mile, trying that 1% extra than others. Once you are familiar with basic testing methodologies, you can go through the free articles, tutorials of API testing, mobile testing with Appium, Security testing, Game Testing e.t.c.
If you have already developed or worked on any of these, can take course accordingly. You can also choose anything of your interest. This will make you versatile in the testing domain.
Conclusion:
Remember, your development knowledge is an added advantage for your testing role. So don’t ignore it. Brush it up well.
Study Testing FAQs and the most important questions well. You will find plenty on the internet. Cross-check your knowledge and feel confident.
Finally, follow this practical 10 steps Action Plan to Move From Software Development To Testing, step by step, and you are there!
All the best!