In the past, testers have been perceived as people whose only job is to find bugs in their applications. As technology has matured, so have the testers skills and responsibilities. Today we have a variety of different types of testers from manual, performance, automation and more.
Here, we explore a few of the ways that testers can step out of the silo of testing and bring even more value to the larger team.
Testers just do testing, right?
It is a widely held myth that testers spend their life doing testing and nothing else. The idea is that a test engineer purely focuses on creating test scripts for regression testing. Or a manual tester just spends their life working on UI testing. This myth is so wide-spread that many people believe it even if they are going into testing as a career. In effect, this risks making that generalization into a reality.
We see this time and again when we talk to teams about the costs of test maintenance. As applications change, existing test scripts need to be tweaked and refactored. Otherwise, those tests become unreliable or useless. To many testers, it’s a necessary evil that you just accept when you start automating tests. The logic goes:
- Testers are there to ensure testing happens
- Test automation speeds up testing
- Once you have test automation, you have regular test maintenance
- Therefore, testers just need to get on with test maintenance
While some of this logic is fine, it is built on a fundamental flaw. Testers are not just ensuring testing happens. They are actually a key part of the whole product process.
Testers, your in-house expert users
Modern applications tend to be large and complex. So much so, that typically it’s only the product owner or architect who has a holistic view of the whole system. Certainly, each dev team is typically only working on some aspect of the functionality. But think about it. Your testers are interacting with the whole product constantly in order to test the end-to-end flows that are common for real users. As a result, they are a wealth of knowledge and information that is closely connected to the experience of the customer. In effect, you have an in-house pool of experts just waiting to share their knowledge.
Moreover, because testers approach your product from the customer’s point of view, they have tons of insights on opportunities for improvement, pivots, and growth. Testers are also great problem solvers and they look to uncover the true root cause of a bug by understanding the why behind the issue. Was it coded wrong because the requirements weren't clear or was there a different way to look at the feature? And if there is a different way, does the resolution leave a gap for another issue? This is high-cognitive testing in which the testers evaluate and organize what they are seeing to form opinions, uncover opportunities that might have been missed by applying all their skills, experience, and knowledge.
So, how can you make full use of the skills and drive your testers have?
The hidden skills of the test professional
Test engineers want to ensure your product is as robust and reliable as possible. Their broad range of skills makes them almost unique in your organization. But what are these skills, and how can you leverage them properly?
Identifying product gaps
As we already saw, your testers know your product inside out. As a result, they are in a unique position to identify any gaps between what your product is meant to do and what it actually delivers. They will have real insights into the actual functionality offered by the application. They will also have a good understanding of the user stories and user flows, since these inform a lot of their testing. Not only that, they will also be able to help with story grooming and refining feature design. Add to that their inherent knowledge of usability and UX design and you have a potent mix of skills.
So, if you want to get the most out of your testers, involve them properly in your product team. Include them in user panels, ask them to share ideas, and get on calls with them to discuss issues. All this is much easier if you use a test automation tool that frees up their time and gives them an easy way to share ideas with the product team. Test automation is a key part of your testing toolbox. Choosing the right tool will help your testers drive the quality of culture throughout your organization.
The idea of shift left testing is hardly new. But how many teams really do it properly? Teams often use techniques like embedding testers in dev teams, or conducting in-sprint testing. But how many involve testers right from the start, analyzing the risks of new features or providing their experience in architecture design discussions? The answer is, not all that many. Yet shifting left is one of the most powerful approaches to boost overall product quality. So, how can your testers help you? Here’s three key ways:
- Participating in code reviews. This might sound crazy, but try getting testers to participate in regular code reviews. This isn’t about telling the developer how to code. Instead, it’s about using their experience to give insights into the impact a given decision might have. For instance, is a given database query going to have an adverse impact on overall performance. This works best when there is a specific tester embedded within the dev team. You could even take this further, and practice pairing up testers with developers, much like pairwise development in XP.
- Reviewing pull requests. Testers typically have great insights into what might go wrong when any new feature is released. If you involve them in the pull request approval, they can double check that the dev team have avoided the more obvious pitfalls. But more importantly, they can also identify if any other areas of the system have been impacted that were not explicitly outlined in the requirements. This will ensure they can expand the test coverage to catch these edge cases before they are found by a customer in the wild. Even better, consider using an AI-powered test automation platform like Functionize. That way, you can integrate smoke tests directly into your CI-CD pipeline.
- In-sprint testing. The most pure form of shift left is to test new features before they are developed. That way, any potential bugs are instantly caught and can be fixed straight away. This is always more efficient than having to pass them back to the developers later on, since the later a bug is caught, the more expensive it is to fix—bugs found in testing can cost 15x more to fix than ones found during the design phase. Traditional test automation approaches make this sort of early testing impossible, but AI can solve that easily.
When done as a high-cognitive task, exploratory testing is extremely rewarding for testers. This is about finding all the places where bugs might be lurking. Testers will use all the knowledge they have acquired by being involved throughout the design process to identify the likely risks. They can then strategically navigate through all the edge cases that developers may not have thought about when writing the code. Triggering those unusual circumstances that can bring even the most robust application crashing down. Taking account of their deep knowledge and understanding of the application gained through being involved in every stage of the design process. This sort of testing is mainly the duty of manual testers. That’s because traditional test automation approaches mean that most test engineers are stuck doing thankless tasks like test maintenance.
But what if you could combine test automation and exploratory testing? What if your automation framework was simple and robust enough to allow exploratory tests to be automated? That starts to open up a whole world of new possibilities for all your testers. Furthermore, they can start building a strong culture of quality that will help the whole organization.
Building better quality practices
Companies that embrace their QA team’s wider skills kickstart a process of quality transformation and take full advantage of of the opportunities, knowledge and experience that their test teams have to offer. We all know that digital transformation is imperative to meet customer expectations, achieve scale-up, and overcome issues in hiring. But underlying every successful digital transformation is a need to transform quality. If you empower your quality team, they can in turn enable others to lead quality for themselves. This means pulling them into the entire delivery process, leveraging their full range of skills, and helping them focus on the high-level tasks. But this is only possible if you adopt the tools that help them. You need to avoid tools that require constant low-cognitive input from your team. That is just wasting their time. Instead, try to choose a toolstack that gives them the chance to engage fully. That way, your QA team can reach their full potential, delivering a successful quality transformation across the whole company.