Compartilhar via


Test to Developer ratios - you're probably doing it wrong

I haven't actually posted about testing for a while, so I thought I'd pull up something from the drafts folder and finish it.

I would bet that just about any testing forum contains at least one question or discussion on test to developer ratios. Microsoft is roughly 1:1 company-wide, but it's vague what that means.

I should discuss "vague". What I mean is - if you have a project with 20 developers and 2 testers, and another with  11 developers and 11 testers, which will make a better product? The answer, of course, is that you don't have a clue. The "proper" ration depends almost entirely on what the developers actually do about quality. If, for example, those 20 developers all wrote good unit tests that tested well beyond the happy path, did some amount of integration testing, were diligent in running analysis tools on their code and practiced good design techniques (e.g. tight cohesion and loose coupling), I wouldn't mind being one of the two testers on that team.

On the other hand, if I'm on the team with 11 testers and developers, and the developers checked in all their code as soon as it compiled - "don't worry, the testers will find the bugs", I'd probably choose to be unemployed, or buy into the fact that despite the 1: ratio, the software was probably going to suck.

The horrible part about this post is that the above two paragraphs aren't entirely made up. I've seen high quality products produced on a 10:1 dev:test ratio, and horrible products created with a 1:1 ratio. The difference is in attention and care for quality. If everyone (including management) on the team deeply cares about the product quality, it has a good chance of happening regardless of the ratio. But if quality is something that is supposed to be tested into the product, by all means have at least 1 tester for every developer - more if you can get them.

Edit - forgot the final paragraph

Of course, you have to keep this in mind from the beginning of a product's life. If you haven't done the right quality "stuff" from day 1 on version 1, you are going to need to play catch up on versions 2 though 8 and beyond. In fact, even with good quality practices, you may need more testers in later versions of products. I'm still not convinced 1:1 is ever a good idea, but I suppose it is good for providing jobs for testers.