When I started in testing, the test team was completely separate from the development team. It wasn’t that we couldn’t speak to developers, it was more about maintaining a separation from the corrupting influence of the developers and their management. Like West Side Story, it was a relatively jovial relationship so long as everybody stuck to their own turf. There could be some bantering when the groups did meet, testers joking about the “quality” of a developers last check in, developers joking about unrealistic tests. If either side strayed too far into the others territory, things could get rough.
If everyone can test why have testers?
As time has moved along so have software organizations. As the industry shifts left and quality and testability are getting more attention earlier in the development cycle, testing is cast in a different light. When testing became the responsibility of the whole team, the make up of the team also changed. No longer is there a guaranteed software tester or QA person on a team. That position in many organizations is gone, it’s not that the work of the tester isn’t being done it’s now become a role shared across the team.
That’s great and all, but where does that leave those of us that pay the bills as full time testers?
It’s challenging because while almost anyone can perform the tests, not everyone can design the tests and more importantly efficiently recognize and report potential issues. This makes the role of a tester a specialist responsible for offering insight and guidance to improve the teams test effort. It’s great that teams are valuing testing, and embracing what so many testers have been saying for years, embed us in the process earlier and we can help prevent issues before they happen. The problem is teams need fewer specialists. As testing is embedded earlier, where there might have been a full team of testers including dedicated management jobs, there are a handful of skilled testers. As expectations rise for new tester positions, the gap between your current role and the job market may be quickly expanding.
How do you improve this situation?
Find Your Special Purpose
Find something that you find interesting or engaging related to testing and dive in. Just start to specialize. Before you get concerned, think of it like the saying about outrunning a bear. You don’t have to run faster than the bear to get away. You just have to run faster than the guy next to you. You just want to begin to separate yourself from the herd. After that you can see where the road takes you.
Where to Look
If you are concerned about job security or marketability the most important thing to keep in mind is to look for areas that translate outside of your current company. You might consider looking for inspiration in the job descriptions of other local companies. It’s not that you can’t focus on something that is relevant to your current position, quite the opposite really. The best thing you could really do is bring the new skills to your current job since you get the chance to learn on the job and share with the team. The key thing is just to make sure the skills are relevant outside of your company also.
Security / Performance
These are major areas of concern for companies but how many teams really have expertise in these areas? If your team doesn’t currently do these types of testing it might be your opportunity become the resident expert. If your team already has specialists, even better you have people you can go to for mentoring.
Coding and Automation
As testers are embedded on development teams it becomes more and more important for testers to be comfortable around code. For more on the benefit of testers coding you can check out my post Why This Tester Learned to Code
Healthcare, finance, or insurance and other industries often require deep knowledge of the space to be able to add value as a tester. If the ramp up for new hires takes a significant amount of time, your knowledge of the domain might be a very valuable resource to other employers and could lead into product management type roles.
This is a tough one, you need to be able to demonstrate you really are a cut above most testers. I borrow this from James Bach and it applies to all testers but even more so here, you need to be able to clearly and effectively verbalize your testing and also be able to perform on demand to display your talent.
There’s a whole world of tools built around the software development lifecycle. Testers often manage the teams continuous integration or continuous deployment systems. You might be interesting in building reusable test environments using docker, vagrant or other tools that help improve the testing process.
Find Your Community
If you aren’t sure what to pursue or don’t know where to start the best thing you can do is engage in the testing community. Look for a local Meetup group. Get on twitter and start following some testers (you check who I follow or message me and I’m happy to help point you to others). Take a look at Weekend Testing and the BBST courses offered by the Association For Software Testing. Sharing ideas will help you become a better and more marketable tester.