Total Pageviews

This blog is dedicated to knowledge about software testing.

Wednesday, January 5, 2011

Tester & Developer TeamWork

I always get different views about tester-developer relationship scenario based discussions. Some feel that the two roles cannot work as a friendly team, as that would hamper the quality of the work and the software. Some suggest a more moderate approach stating testers and developers should be neither friends nor foes.

How you work with developers depends on your organization structure and polices. I work in a Startup organization, in a Agile based model. Hence I have got the opportunity to work very closely with the developers.

Sharing my views from my experience on it...

  • How can a good Tester-Developer relation result into better testing (or bad testing ?)
Any relationship which is good within a team always helps out in smoother interactions. ie., if we accept we work in a team towards a common goal: To release a bug free ( or as near to that as possible) software.
Examples where in it can be helpful:
  1. Test cases can be reviewed by developers also, and inputs from them as to inclusion of some flows, some variations of test data always helps in building up more confidence in the system.
  2. Developers can give feedback on testing cycles where in improvements can be beneficial to both testers and developers, such as flows which reduce testing time, additional information required in bug reporting which can help solve the bug more quickly with a high turnaround efficiency.
  3. Testers can give feedback to developers as to the basic testing (Unit testing, System testing ) done on their end before handing it on to testers. This ensures that the easy to find bugs are found out and being worked upon, and testing team digs out other bugs for which they normally dont get time to test, hence a higher amount of confidence in testing cycles can be built.
  4. And as a result of good team relationship, developers can always help out testers debug bugs which are non reproducible of difficult to reproduce, as they have coded that s/w, so they know the flows which can be helpful to reach there.
  5. When a status of a bug is changed say from higher priority to a lower one, or from a valid to invalid one, or from fixed to reopened one, a discussion before doing so between the developer and tester always helps out take the whole change in a positive way, rather then enabling them to fight about it.
  6. Developer shares out small tweak changes, which normally are skipped in release notes so that the tester can test in detail.
  • How can a bad Tester-Developer relation result into bad testing (or better testing ?).....
Some Examples of bad developer tester relationship:
  1. Developer not accepting a bug found by Tester as a bug and marking it invalid before discussing it out..
  2. Developer not accepting priority/ severity for a bug logged by Tester and marking it as lower priority rather then discussing it out.
  3. Developer making changes in code and not letting the tester know.
  4. Tester logging a bug without complete information, making it the developer's headache to debug and find out the actual steps of the bug.
  5. Both of them may not be on the same page with regards to requirements, and this may lead to logging of invalid bugs or marking valid bugs as invalid due to lack of communication within themselves
  6. Ego issues will result in lower quality work on both ends
  7. Instead of working towards common a goal of releasing a high quality bug free S/W, they both end up in trying to show the other down.
I have personally benefited a lot from developing a healthy positive relationship with the developer when testing his piece of code. Developers and testers often encounter the Ugly Baby Syndrome, wherein the Tester, has to tell the developer that his baby is ugly (his code has bugs), which many developers find very difficult to take positively. Naturally, when someone criticizes your hard work, no one likes it. Hence, there is bound to be some level of discomfort between the developer and the tester. It always better to understand, that the aim of testing is not to make the lives of developers difficult and vice versa, by both the developers and the testers, but to work together for a releasing a high quality S/W to clients.

Creative Commons License
Software Testing by Indira Pai is licensed under a Creative Commons Attribution 3.0 Unported License.