segunda-feira, novembro 05, 2007

Esforço de testes em projetos de software e proporção entre desenvolvedores e testadores

Pergunta das listas de discussão: qual a proporção entre o número de analistas de testes da equipe de qualidade para o número de desenvolvedores da equipe de desenvolvimento?

Minha resposta:

Isso varia bastante. Em empresas que vendem software como fim, como a Microsoft e a Oracle, autores detectaram uma maior concentração em testes na proporção de 1 testador para cada desenvolvedor.

A Netscape tinha 1 testador para cada 2,4 desenvolvedores. Segundo o livro do Cusumano isso dificultava o trabalho de testes na Netscape, porém eles tinham os usuários beta e early users que ajudavam nesse esforço.

Na literatura se encontram variações no esforço de testes que vão de 20% até 70% do projeto. A verdade é que lá fora o processo de testes é bem mais valorizado e tende a ter um bom numero de pessoas na equipe. Aqui isso está crescendo paulatinamente.

Os dados da Microsoft e da Netscape estão basicamente em dois livros do Cusumano: "Os Segredos da Microsoft" e "Competing on Internet Time". Coloquei esses dados em um artigo meu chamado "O Processo de desenvolvimento da Netscape e Microsoft e sua influência na vantagem competitiva". Vide especialmente as seções 2.7 e 2.8

Minha resposta em relação à postura contra a divisão do trabalho/especialização em desenvolvimento de software e testes:

Um testador precisa ter um paradigma completamente diferente de um desenvolvedor. O testador está lá para destruir o software, encontrar defeitos. Já o desenvolvedor está lá pra construir. É essa a base do processo de testes e é por isso que costuma-se ter desenvolvedores que não sabem testar muito bem o que eles mesmo criam.

Alguns papéis podem ser feitos por todos, com treinamento. Porém outros são arriscados.

É importante ter especialistas generalistas. O ideal é que o testador, se preciso, possa ajudar eventualmente com programação e requisitos e o desenvolvedor ajudar nos testes. Mas de qualquer modo é importante ter pessoas especializadas em pelo menos uma disciplina e visão de todas as outras. Esse é o modo como grandes empresas desenvolvedoras de software trabalham. Elas tem o programador e o testador. Mas isso não impede do programador ajudar nos testes e do testador ajudar a revisar o código de um programador.

Recomendo a leitura do artigo do Scott Ambler sobre os "Especialistas generalistas". São raras as pessoas que conseguem se especializar em mais de um papel ao mesmo tempo. E é bom ter especialistas, contanto que eles minimamente conheçam as outras disciplinas para ajudar os especialistas destas outras.

Marcadores:

1 Comentários:

At 3:58 PM, Blogger Leonardo Fernandes disse...

Excelente, simples e objetivo.

Blog: http://jroller.com/leofernandesmo

 

Postar um comentário

Links para este artigo:

Criar um link

<< Home


Veja as Estatísticas