Is Your Software Testing Strategy Sending You Down The Same Paths Again and Again?
Once you start automating some of your tests, your more technical testers won’t be sitting on their hands or looking for new jobs. Instead, they’ll have more freedom to think about new ways to optimize.
After we automated the sanity test, for example, we had the time and the brain capacity to step back and notice something: the test kept finding the same kinds of issues each time we ran it. Soon, we realized that the problem was not with the test itself, or our automation, but our testing strategy. We were running tests on parts of the product that hadn’t been updated since the last test, so naturally, the system continued to throw the same errors and we reported the same bugs.
We realized that there was no clear path to resolution when a bug was detected, so we started having software testers “buddy-up” with software developers when bugs were found. We’d sit down together and show the developers what happened when different actions were taken, and why those outcomes were not ideal for the users so that the developers could understand the issue better and adjust more quickly.
Speaking of the users — where do they fit into this picture? All too often, software testing is done by a team that hasn’t had sufficient exposure to the customers or users of the product. If you don’t know what your target audience cares about, how can you know what will work for them and what won’t?
In addition to catching bugs like, “the program crashes when I hit this button,” we also started expanding our test scenarios by having our testers look for things that our clients cared about in the software. That started with education on our customers and receiving feedback from them. Then, testers could also start identifying problems like, “this metric won’t be meaningful for these users,” to improve the quality of the software. In essence, we began testing the requirements, documentation, and design.
Instead of saying, "This didn't work when it should have worked," the tester started asking, "Should this be here at all?"
This was the point when we really started to see substantial improvements in our product and our testing — when the testers started becoming embedded in the development process and more connected with the customer.
What is Your Team’s Culture?
Pairing testers with software developers, in addition to helping fix individual bugs, was a great practice for our software team as a whole because it helped develop non-adversarial relationships between testers and developers.
Traditionally, there’s a tension between developers and testers that may be inevitable if you don’t actively work against it. Developers do not want to get dinged by testers in the development process because they want to be known for delivering high quality, but testers want to push the limits and assumptions of the system because, well, that's their job.
Testers, especially, don’t want the blame that comes with a serious bug making it out the door, and that could also be a major culprit for why your testing is taking so long. If all the blame will rest on one team’s shoulders for an error, that team probably wants to make darn sure that they test and retest every piece of the product they can touch.
By building partnerships between testers and developers, however, we found that the quality of our developers’ source code increased and our testers caught more issues and finished more quickly. If a bug did still make it into the finished product, we spent less time casting blame and more time putting new plans in place to keep it from happening again. Quality assurance suddenly became about actually assuring quality, instead of blaming each other for it not being so.
Your Software Testing Treatment Plan
If from reading this post you’ve diagnosed yourself with a software testing problem, my biggest piece of advice for treatment is this: empower your testers and your teams. When you start with that idea in mind, you’re more likely to make decisions that positively impact the quality of your software and the health of your team.
Looking for an IoT development firm to guide you through all aspects of your project, from conception to testing to launch? Tell us more about what you’re working on today.