The software testing profession is undergoing lots of changes in the last couple of years due to technology changes as well as complex business needs. Adaption of Agile methodologies is narrowing down the gap between developers and testers. There is a constant pressure on keeping the skills updated at any point of time due to rapid technology changes. The intention behind this post is to bring out the various growth paths that a testing professional can opt for. I would not like to talk about the designations or role and responsibilities for a tester but like to cover leaning path in generic context. I have come across many similar question on different groups and forums like what to do next choose after spending few years in this profession. For simplicity of explaining, I am dividing those whole problem into two area. In this post I will be covering the first category. Just keep in mind that both are interrelated in many aspects.
  • Testing - domain experts
  • Testing - technical experts
Domain experts - In the software industry, you can easily identify the different domains that exists so far like E-Commerce, CRM, ERP, SAP, Banking, Finance,Mobility, IOT etc. Each domain comes with a technology stack. If you already have an opportunity to work in a specific domain of your choice and interest, you can consider this as a growth path option for yourself. Now question is how to make your self ready for facing the bigger challenges? I am listing out few ways from my experience so far.
  • Start understanding the domain as a whole not just the things scope of your work. Try to get more information about the domain from your seniors or peers. Breaking down a system into smaller blocks and understanding the work flow of those modules will give you more confident      on testing. Try to find our failure points which will be input to your tests later. If you are not getting much help internally, try to get more information from online groups/forums by start asking relevant questions and participating on discussions.
  • Start exploring the technology stack involved in the development process including platform, frameworks, servers, DBs, languages used and try to find out the correlation between domain and technologies used. Focus more on why aspect of it rather than what aspect. If test automation is one of your interest area, you may find many problems which can be solved using automation here other than just automating the test cases or scenarios. Make yourself familiar with the test environment, not just how to use it but everything from installation to maintenance and troubleshooting.
  • Understand the business scope of the product you are testing. What problem is the product you are testing is trying to solve?What value same is adding to customers? Are the product features are aligned with customer requirements? What is customers goal and vision? Learn requirement modelling techniques. Test the requirements and capture if their is any gap in terms of understanding. This will help to grow your career as a business analyst if you are interested.
  • Make the habit of asking relevant question and educate yourself. Be aware of both business and technical terminologies under your domain. Learn, try and apply your knowledge and finding, do not be afraid of failures. You never know your small observation may have critical impact on the product you are testing.
Let’s take an example of mobility domain. There will be two major categories here. If you are working on this domain or willing to work, here are few things you can include in your leaning plan:
  • Understanding the whole mobile ecosystem will be challenging here. This includes platform(android/ios/windows), hardware, protocols (call processing, sms, messaging, bluetooth, nfc etc), networks(2G, 3G, 4G etc), type of the application(native/hybrid), type of target devices (with different screen sizes, memory, cpu etc), development technologies and frameworks, app stores etc.
  • Protocol testing
  • Functional testing
  • Web services testing
  • Usability testing
  • Automation testing
  • Performance testing (client side like battery, CPU/GPU/Memory usage etc and server side like load, stress, volume etc)
  • Reliability/Stability testing ( Long period testing, Repeated testing of Critical business scenarios)
  • CI and test cloud integration
  • Deployment testing
This is just a simple example how to explore more on the domain you are working on or would like to work in future. You will be able to do much more practically if you are really serious about your decision of selecting and being in software testing profession. Do not afraid of changing the domain if same is the need of the hour. I have seen many testers are hesitant to change the domain. Today's world both business demand and technologies are changing very fast. Be flexible enough by learning and adapting to new domains as well as technologies.

I will share my experience on being the test technical expert in my next post. Please share your point of view/experience in this regard.