Testing is a real profession, but it’s undergone significant upheaval and change in recent years. Don’t expect that to change in the future. If you like rapid change and a fresh challenge with every project, testing can be a challenging and exciting career.
Just as programming offers a wide range of career choices, so does testing. You can do anything from traditional UI testing to working with medical devices or even wearable devices. Depending on your skills, inclinations, and yes, job opportunities, there are many different directions to take your career in testing. Whether or not it can become a true career depends on your ability to reinvent yourself on a regular basis.
The profession of testing, as well as its knowledge and skills requirements, has changed substantially in the last decade. First, it has diversified. As testers, we understand the language of requirements, test plans, test scripts, and defects. We create automation frameworks and run performance tests. Yet, the testing world has become increasingly more complex and fluid.
The testing profession offers so many new areas of specialization. Big data, security, IoT, wearables, mobile and embedded as well as user experience, customer experience and even machine learning and artificial intelligence are just a few of the possibilities. And there are certifications in many of these areas.
Testers don’t necessarily have to choose a specialization; in fact, because computing changes so rapidly, a single specialization may be too limiting to give you the breadth of experiences you need over a long career. However, there are some trends in technology and methodology which all testers much embrace in order to build a career in testing.
First, are the agile methodologies, which have largely become the mainstream of development methodologies. In agile teams, the testers take on multiple roles, the most important of which is championing quality and helping the team to see quality as the responsibility of every team member. Testers also play a critical role in test-driven development (TDD) where the tests are created first and code is developed to pass the test. Testers also have the opportunity to pair with developers in testing as the code is being developed.
DevOps is another trend that testers can’t ignore and must contribute. DevOps principles are based on breaking down barriers between development, testing, preproduction, and operations, in order to get software into users’ hands as quickly as possible, and to find faults and fix them in real time. In DevOps, testers’ primary responsibility is ensuring the quality process.
Work on your communications skills
Communication and collaboration skills have never been more important. Testers are often the ones delivering the bad news, and have to do so in a way that doesn’t lay blame or responsibility. Further, they typically work as part of a larger team, and have to establish respect while advocating sometimes-unpopular positions.
Although testing is still a viable profession, there can be disadvantages to a testing career. While most organizations need developers and IT people, some methodologies have been trending away from formal testing as practiced in many waterfall-based methodologies. In particular, agile and DevOps are focused primarily on automated build and delivery chains, so automation skills are a requirement. Wearables, IoT, and other devices may require knowledge of electronics and hardware-in-the-loop testing.
Testing in general is no longer the gateway through which an application has to pass in order to be successively deployed. Companies have become far more willing to deploy software that may fail, as long as it does so fast. Yes, users may face obstacles, but companies figure (often correctly) that users will help them tune their applications for more widespread use.
The upshot is that testing has become much more ambiguous than it has been in the past. To effectively pursue a career in testing, it is critical to develop skills related to defining and executing tests earlier and faster, and to be more attuned to the ambiguity of software releases and feedback.
Testers must manage their own careers by getting the experience and training they need to thrive and grow in the testing profession. Creative approaches for obtaining some of these experiences include volunteering for other projects that may be using innovative new techniques, or by participating in, or even organizing, corporate learning activities such as workshops and lunch and learn functions. Testers will have to invest in their own careers, perhaps by taking agile or DevOps courses and certifications, or by working on independent open source projects.
Finally, to create a career in testing it is important to recognize testing as a profession. Get involved in the testing community through conferences, online groups and meetups. These are not only great learning opportunities, but they offer testers a chance to mentor each other and to build recognition of testing as a profession.