Evolution Is Hard - Testing Is Evolving
"Are you ready for the next evolution?!"
- Master Chief, G.I. Jane
I think it's finally time for me to put some thoughts out there about this "Death" of QA, of the Tester role, of Testing.
Testing is and always shall be part of everything a human does. That's simple freaking science. We test. We explore. We question. We gather information. We record data. That will never change, ever. Whether a group of people or one person does it, that question is a moot point as well. If you look at any time in history when leaps of logic, science, the arts and even industry happen, there are any number of people involved. There is always at least one. There will always be someone testing whatever there is to test however it fancies them.
Quality and the level of how well something is done will always be a concern at some level. And depending on whether it's burritos or rockets, there's a level of tolerance which everyone agrees to. When my burrito falls apart, I'm not happy. When it's rockets carrying billions of dollars worth of payload, not to mention human lives, then having critical failures is unacceptable. We have testers in every other industry, why is software moving to eliminate this role?
Well, believe it or not, it's not being eliminated, exactly. Automation has certainly taken a huge chunk out of the need for manual testing on a regular, routine basis. I don't know anyone in the testing industry that isn't happy about that. I don't have to log in to make sure it works. Great! Now people can write scripts that makes sure login works with 500 users at the same time. Awesome! Test security threats! Test infrastructure! Excellent! Here's a bunch of tables which should work together and store a massive amount of data at the same time and the structure should be optimized to deal with several different types of user information, forms, payments, and searches. Test it! *Dies and goes to testing heaven*
Testers, the role, QA are not dying, we are evolving. We are called different things now, like Data Analysts, Performance Analyst, Security Analyst, Automation Specialist, Technical Analysts - We didn't go anywhere, we EVOLVED.
Like the rest of the industry around us, we are quickly specializing and branching out into different things. There are still a lot of testers doing actual manual testing out there. Companies don't want to admit it, but they are using crowd-sourced testing more and more. They are taking the same money they would have put towards a department of manual testers and then using it on crowd-sourced sites, user feedback groups and even outsourcing.
This isn't anything new. Every industry has come to this point. Companies try moving things around to make it faster and cheaper. They have to balance making the app, supporting and deploying the app and usually the last slice of the pie is for testing/customer support.
Like customer support, jobs are being moved around to figure out where companies can still make money but people still feel like they are being supported and understood. Customer Service is a major factor and companies understand that if they cut too much or push too much to a company outside of their own, people get pissed. Yet, those same people want cheap, fast customer service included with whatever software package or device they have purchased.
Manual testing is now in that same boat. Trust me, people are still doing this kind of testing, it's just moved out of the building and into someone's hands who isn't privy to day-to-day operations of the company itself.
Automation and testing are the gateways for junior developers. When I've had conversations with new developers, I always recommend automation positions. They know the languages, have a good set of skills to build something and companies don't really know what they want other than they think automation will fix or speed up everything. And it's true, once you reach a critical mass of certain types of automation. And folks that come out of boot camps are the most prepared to write scripts and build frameworks just to show they have what it takes to maybe, at some point, move into a developer role.
Anyone that says testing or testers are a dying breed aren't looking hard enough. The role we used to inhabit which have served as some quality gatekeeper might be eliminated. We, as professionals might not be QA any more, we have probably become something else, or at least we are starting to. Testers, as part of the software development industry, should be good with that. We've been labeled a sub-par group in the development world long enough. We can evolve into something more. We can take our unique talents and technical skills and mind set and start carving a path and forging it instead of picking up the scraps development "tosses over a wall."
Learn about data handling. Learn to code anything. Learn to automate anything. Learn deploy. Learn to test for performance issues. Learn to test for security weaknesses. Learn to test accessibility and usability. Learn project management. Learn to specialize. Learn a little bit of everything.
Evolution is about adaptation. Testers adapt faster than any group of people I know. We can move from one project to the next because we have basics, but we may or may not have the particulars. We learn them as we go. We use them as we need them and then move to the next thing the industry develops. While developers could be described as members of a band, testers are the jazz players, the non-conformists, the ones that look for the unique in the unexpected. We adapt. We evolve.
So the next time someone says testing, testers or QA is dying, just tell them to wait, they haven't seen nothing yet.