sexta-feira, 25 de outubro de 2013

Mitos sobre Testes de Software



Mito nº 1: Testar é muito caro.
Realidade: Há um ditado que diz: pagar menos para testes durante o desenvolvimento de software ou pagar mais pela manutenção/correcção mais tarde. Antecipar os testes permite economizar tempo e custos em muitos aspectos. No entanto, reduzir custos sem testar pode provocar o desenho incorrecto de uma aplicação de software, tornando-a inútil.

Mito nº 2 : Testar é uma tarefa que consome muito tempo.
Realidade: Durante o ciclo de vida do desenvolvimento de software, a fase de testes raramente é um processo demorado. No entanto, diagnosticar e corrigir erros detectados durante os testes é um processo demorado, mas também muito produtivo.

Mito nº 3: Os testes só podem começar depois do produto estar totalmente desenvolvido.
Realidade: É verdade que os testes dependem do código fonte, mas a revisão de requisitos e desenho de casos de teste não depende do código desenvolvido. Num modelo de desenvolvimento iterativo ou incremental podemos reduzir a dependência em relação à conclusão do desenvolvimento de software.

Mito nº 4: Os testes exaustivos são possíveis.
Realidade: Isto torna-se um problema quando um cliente ou um tester acredita que é possível testar todos os pormenores de uma aplicação. É possível que todas as funcionalidades e opções tenham sido validades pela equipa de testes (ou do cliente), Mas nunca é possível realizar um teste exaustivo. Podem existir cenários que nunca são executados pela equipa de testes (ou o cliente) durante o desenvolvimento da aplicação e que surgem assim que a aplicação entra em produção.

Mito nº 5: Se o software foi testado, então não pode ter bugs.
Realidade: Este é um dos mitos mais comuns entre clientes e gestores de projecto. Ninguém pode afirmar com absoluta certeza que uma aplicação de software está 100% livre de bugs, mesmo que tenha sido testada por um tester com capacidades magníficas.

Mito nº 6: Os bugs que subsistem são culpa dos Testers.
Realidade: Não é correcto culpar os testers pelos erros que subsistem na aplicação após a execução dos testes. Esses bugs devem-se na maioria das vezes a prazos, custos, mudanças de requisitos e diversos constrangimentos. No entanto, a estratégia de testes também pode não ser a mais eficaz e haver erros que a equipa de testes não detecta.

Mito nº 7: Os Testers são os únicos responsáveis pela qualidade do produto.
Realidade: É uma atitude muito comum pensar que apenas os testers (ou a equipa de testes) são responsáveis pela qualidade do produto. As responsabilidades dos testers incluem a detecção de bugs para as outras equipas do projecto, e seguidamente são essas equipas que decidem se efectuam correcções ou se dão o software como concluído. 

Mito nº 8: Automatização de testes deve ser usada sempre que possível e permite reduzir o tempo.
Realidade: É verdade que a automatização de testes reduz o tempo de teste, mas não é possível iniciar a automação de teste em qualquer momento durante o desenvolvimento de software. A automatização de testes deve ser iniciada quando o software foi testado manualmente e apresenta alguma estabilidade. No entanto, a automatização de testes não pode ser utilizada se os requisitos estiverem sempre a mudar.

Mito nº 9: Qualquer pessoa pode testar software.
Realidade: Muita gente fora do mundo da TI pensa (e acredita!) que qualquer pessoa pode testar software e que testar não é um trabalho criativo. No entanto, os testers sabem muito bem que isso é um mito. Pensar cenários alternativos e tentar crashar o software com o objectivo de explorar possíveis erros não é possível para a pessoa que o desenvolveu.

Mito nº 10: A tarefa do tester é apenas detectar bugs.
Realidade: Detectar bugs no software é a tarefa dos testers, mas ao mesmo tempo eles são especialistas no domínio do software específico. Os programadores são responsáveis por componentes específicas ou áreas que lhes são atribuídas, mas os testers têm de compreender o funcionamento global do software, quais as suas dependências e quais os impactos de um módulo sobre outros.
--------------------------------
Traduzido e adaptado de: Software Testing Myths (TutorialsPoint) 
Ver também: Software Testing Myths (OJAS)