Testers and Developers – Ever the Great Divide?
I have been a professional tester for 14 years and fortunate enough to work on many projects within multiple domains and with many different teams and individuals. Whilst it is certainly the case that DevOps and the growth in the Dev-in-Test-style role has had an impact on the relationship between testers and developers, old habits prevail.
All too often, a tester’s relationship with the development team they're directly involved with is in need of improvement – not only for the benefit of the team, but for the benefit of the programme as a whole.
A common goal and very different mindsets
The focus of testing is to ensure that the system meets the business and system requirements specified by the business or project by executing several types of testing. Testers simulate the role of an end user of the product and the aim is for the production code to be defect free before it goes live – although, defects are inherently embedded within all software builds. The focus of development is to build a system that meets the business and technical requirements specified by the business or project. Both teams therefore start out with a common objective - to deliver quality.
The mindsets of each party however are often quite different. Typically, a tester’s mindset is best summed up by the following: “This should fail somewhere, I can’t wait to find that defect!” A developer’s mindset on the other hand may be summed up by: “I’m confident in my coding ability and will run some basic tests myself, this shouldn’t break!”
Due care and consideration
This fundamental difference has the potential to put strain on the relationships of all involved and like any relationship, it requires due care and consideration.Testers need to be careful not to be seen as simply wanting to break the system and lay blame on the development team. Equally, developers need to remember that defects should not be taken personally and they have been raised with the original common goal in mind – to deliver a high-quality product.
Common gripes that I regularly see on the testing side include:
- Defect fixes not being turned around fast enough
- Defects failing retest or being reopened multiple times
- A lack of target fix dates for open defects
- No comments on what has been done to fix the bug.
I see a similar number of grievances on the developer side:
- Testers testing ‘off-piste’ and raising defects on functionality that is not in scope
- Unclear priorities on what needs to be fixed first due to an influx of defects and conflicting messages
- An inability to fix all defects in the required timeframe.
Success all round
As simple as all of this sounds, putting yourself in the shoes of the other party and addressing concerns such as the above makes an enormous difference to the outcome of any project. Talk to each other and don’t be afraid to have the difficult conversation, just approach it constructively. Build up a rapport and trust. Admittedly this takes time, but these traits are central to any successful project. The best projects I’ve been on are where testers and developers have worked together in sync with a mutual understanding of requirements and the effort involved for all parties. This has led to a mutual respect and, most crucially, the successful outcome that everyone was after!
Written by Rik Patel, Senior Consultant at Piccadilly Group