Collaboration: 5 Tips to get Developers and Testers Working Together
Many companies have accepted the wisdom of agile development methodology and worked to break down the barriers between departments, but all too often collaboration is forgotten. If closer and earlier collaboration works for development and operations, shouldn’t we extend that logic to testing? When developers and testers work more closely, it enables faster delivery of higher quality software. That’s something worth aspiring to.
Traditionally, there is often some animosity between development and QA, but it doesn’t have to be that way. Here are five practical tips to get developers and testers working together and increasing collaboration.
Test from the beginning.
If you’re adopting an agile approach to development, why leave testing out of the loop? Dropping a build on QA on a Friday and expecting them to test it before the new sprint starts on Monday is unfair and inefficient. Rushed tests and forced overtime lead to flagging morale. Get testers and developers to work together from day one. Testers can help developers understand what kinds of tests will need to be performed on each new feature and function. This helps inform the design.
Testers can also get to work testing code on developers’ machines in parallel with development. Why wait for a build to be released to test the code? There’s an opportunity to catch problems earlier, while the developer is still working on things, rather than report defects in a specific feature once they’ve moved on to coding something else.
Encourage collaboration via face-to-face communications wherever possible. If developers and testers talk directly, then there’s less of a chance they’ll feel resentful, and a higher chance they’ll explain themselves properly. Sometimes, it works best if a tester shows the developer how to reproduce a defect, or the developer drops into the test department to investigate. Make use of video and voice calls to ensure collaboration never falls through the cracks when teams are distributed.
Share plans and concerns.
Developers should keep testers up-to-date on what they’ve tested in the code and what new areas they are particularly concerned about. A quick conversation on these topics can help testers to prioritize where they should focus their testing efforts. Sharing this knowledge can result in much better test coverage.
Use test automation wisely.
For developers, it’s important to get detailed defect reports as quickly as possible. The longer it takes, the harder it is for them to go back and fix things. Test automation can deliver results more quickly, so it should be employed wherever it makes sense. Testers can also write automated tests and include them in bug reports. This makes it easier for developers to reproduce the defect and to verify that it’s fixed.
Developers should also consider test automation when designing and implementing code. Adding hooks so that the test team can create scripts and automated tests later can save time and effort. Gaining insight into where this might be most beneficial is part of including test in the conversation from the start.
Learn from each other.
The more testers understand the code base and how it works, the better they’ll be at spotting defects and designing tests to probe the right areas. The more developers understand the test suite and QA techniques, the better they’ll be at designing and writing stable code that’s easy to test.
Ultimately, both testers and developers should have a common goal – releasing the best product possible. And the best way to make that happen is through closer collaboration and understanding.
ABOUT THE AUTHOR:
Simon is an experienced freelance technology journalist covering mobile technology, software, and videogames for a wide variety of clients in print and online. He regularly contributes to Digital Trends, Tech Radar, and Android Authority, and he ghostwrites for CEOs in the technology space. After completing a Masters in Scottish History at Edinburgh University, he began his career as a games tester, progressing to lead tester, game designer, and finally producer, before leaving the industry to write full time. He is passionate about the potential for good software and hardware to improve our lives, and strongly believes that thorough testing is a vital prerequisite for greatness.