As we have moved into Agile development, we have adopted tools and techniques for our teams to be as autonomous and efficient as possible. We have stepped away from traditional waterfall development and into continuous integration and continuous deployment pipelines. During this, the quality community has had to adjust to testing continuously and creating automated tests when appropriate. The evolution of software testing has changed and will continue to change. For some, this can be intimidating. Let’s explore what it was to be a quality engineer, what it means now in 2020, and what techniques we should be learning to blaze forward in the decades to come.
“You make it, we break it!” This quote resonates with me, for what software testing used to be. Developers would make software and the testers then would try to break it. Much of the testing was functional and manual. Back then, waterfall was the dominant framework. When it came to training for quality assurance and testing, resources were very limited. You didn’t go to college to become a quality engineer or tester. There were few resources, if any, for you to understand how to get the job done. As we moved into the 2000s, agile adoptions started to make an appearance. We started to create and learn more about test automation by big-box corporations. Mobile development arrived on the scene. Most positions were referred to as Quality Assurance or Software Testers.
We now find ourselves with the adoption of Agile as the norm; waterfall development is in the minority. Collaboration, transparency, inspection, and adaptation have become a part of our day-to-day vocabulary. Right now, we emphasize T-Shaped people. That is, we have mastery in one area, the base of the “T,” with the ability to work outside of our core area using supporting skills. Dev-ops, continuous integration, and continuous deployment have become the standard for all software development, which has enabled an explosion of test automation and test automation tools. There are plenty of resources with which to learn. Several platforms exist online, like Linked-In Learning, Udemy, and Pluralsight. College and Universities offer several classes, including continuing education, pertaining to quality. Blogs, websites, and podcasts on the subject are abundant. The role of Quality Assurance still exists but there is an expansion of roles to Quality Engineer and Developer in Test that posses more coding experience.
There is no crystal ball to determine what is next for testers, but some technology trends can give us some insight. The next tech stack is rapidly evolving. There will be more and more emphasis on machine learning and artificial intelligence. These technologies will not only be in the software that we are testing, but will also become part of the testing itself. Currently, Google, Facebook, and several other big companies are using artificial intelligence and machine learning to run predictive regression test selection that determines what automated tests to run when you check in code, instead of running the entire suite. The end result is that we need to be strategic in the test automation we create and execute. AI and machine learning will help our jobs in the future, but there will still be a need for testing and testers. There may be tools to make test automation more efficient, but manual exploratory testing will always be around. The end-user cannot be replaced by a machine just yet. A test strategy must still be determined and inspected, as time goes on.
Within an ever-changing landscape, it is important not only to improve our technical skills, but also our soft skills. Increasingly, everyone on the team will need some coaching on quality and we, as testers, are here to lead that charge. We will need to cultivate these teaching skills to guide non-testers in testing activities. We will need to advocate for testing and promote its value, not only within our team, but throughout our organization.
As we look forward to the future, there will also be more emphasis on non-functional requirements testing. Performance and Security testing are top of mind for most organizations and this will only increase over time. These have typically been very focused and specialized skill sets. However, poor application performance or a security breach may cost brands millions of dollars. Therefore, emphasis on these skills will continue to grow in demand, making these skills much more valuable.
Technology is always evolving and we, as quality assurance, testers, and quality engineers, need to keep up with emergent software architecture, tech stacks, test frameworks, and tools to get the job done. We need to work on our soft skills, communication, and teamwork. And to do all of this, we need to embrace continuous learning and a growth mindset. Learning platforms are already out there, waiting to help with this. For some reading, you could tackle the “Mindset: The New Psychology of Success” by Carol S Dweck, as well as “Radical Candor” by Kim Scott. I look forward to what is to come and expanding our knowledge now, as this will only set us up for success in what lies ahead.
What is Quantum Computing? How do we start taking advantage of Quantum Computing right now?