sábado, 21 de janeiro de 2012

10 dicas para o sucesso do teste de software

1) Comece cedo e esteja preparado

O processo de teste deve iniciar o quanto antes com a revisão dos requisitos e dos documentos de design. Isso pode diminuir bastante o custo do projeto final, evitando bugs futuros. Além disso, preparar os roteiros de teste antes do software estar pronto pode economizar tempo valioso no final do projeto.

2) Escolha a técnica de teste que melhor atende às suas necessidades

O processo de teste deve se adaptar ao processo de desenvolvimento. A escolha do melhor processo vai depender de diferentes aspectos, como: tamanho do sistema, quantidade de desenvolvedores, o risco para o negócio, o tempo, etc.

3) Seja prático

Se não há uma equipe de teste na sua empresa para garantir a qualidade do software ou mesmo você percebe que o gerente de projeto acha que não será necessário testar o sistema por falta de tempo. Neste caso, pode ser melhor contratar uma equipe externa para realizar os testes e manter sua equipe focada apenas no desenvolvimento e correção de bugs.

4) Revise, revise e revise

Garanta logo no início do projeto que os documentos de requisitos estão corretos e sem ambiguidades. Esta garantia pode ser conseguida através da revisão dos documentos. Desta forma, provavelmente 65% dos defeitos na fase de desenvolvimento serão evitados. O revisor deve estar bem concentrado na tarefa e não deve ser interrompido, uma boa dica é fechar janelas de e-mail, bate-papo etc para não desviar a atenção. Usar algum método de revisão é bastante importante, como um simples checklist sobre o que deverá ser revisado.


5) Priorize

Às vezes não é possível testar tudo de um software quando ele possui muitas funcionalidades, então é importante criar alguma regra de prioridade para as funcionalidades a serem testadas. Análise de risco e a frequência do uso das funcionalidades é uma boa maneira de priorizar os requisitos.


6) Meça

Às vezes é importante saber qual o custo e quão eficiente é a equipe de teste ao encontrar defeitos no sistema? A chave para conseguir responder estas perguntas é começar a medir.
Métricas são informações que podem ser colhidas durante o desenvolvimento do projeto, como: número de cenários, número de defeitos encontrados, tempo gasto para executar um roteiro de teste, etc. Quanto antes for iniciada a medição dos dados melhor será a avaliação dos resultados.

7) Saiba quando deve parar de testar

Uma forma de saber quando deve parar de testar é quando o custo para encontrar um novo defeito é maior que o risco que aquele defeito no sistema pode causar para o usuário final.
Além disso, pode-se definir um critério de parada dos testes, por exemplo, quando 90% dos scripts de teste tiverem sido executados.
Se nenhum critério tiver sido definido, os testadores irão testar até não encontrar mais defeitos e todos os bugs tiverem sido resolvidos.

8) Preserve

Organize bem os roteiros de teste e guarde-os com cuidado, pois é bem provável que eles serão reutilizados na fase de manutenção e evolução do software. Isto poderá economizar cerca de 30% a 50% do esforço de realizar o teste de regressão.

9) Comunique

Assegure-se que a comunicação entre os membros das equipes de desenvolvimento e teste de software é clara e objetiva. Pois, caso contrário muitos erros podem ser causados por esta falta de comunicação. Utilize padrões de linguagem e ferramentas para difundir melhor as informações, por exemplo, uma ferramenta de gerenciamento de bugs.

10) Seja simples

Muitos gerentes de qualidade de software não sabem qual o melhor processo de teste e técnica deverá ser utilizada num projeto. Uma forma fácil de escolher é garantir a simplicidade do processo, sem burocracia. Além disso, o processo não poder ser cansativo para a equipe. Escolher a melhor abordagem é essencial para garantir a qualidade dos sistemas desenvolvidos.




Fonte: Revista Testing Experience. Test Techiniques in Practice. pág. 52-53, Germany, Setembro 2008.

4 comentários:

Reinaldo A Paiva disse...

mais uma dica
leia http://testonauta.blogspot.com/ ;-)

Dizotti disse...

Anne, parabens pelo Blog.
Estou iniciando na área e gostaria de uma ajuda em relação a materiais, livros e certificações.
Se puder, entre em contato pelo e-mail dizotti@gmail.com

Muito obrigado!
keep the good work!

Tavarisky disse...

Oi Anne Caroline,

Obrigado pelas dicas e material divulgado em seu blog.

Gostaria de saber se vc conhece para indicar algum aplicativo de SVN para testes de software. A idéia é gerenciar de maneira mais prática os relatórios de erros e as correções aplicadas pelo desenvolvedor- ou seja, as versões de relatórios de erros.

Desde já obrigado,

Nemias Tavares

Anne Caroline disse...

Olá Nemias Tavares,

Para gerenciar o relatório de erros eu utilizo a integração das ferramentas TestLink e Redmine (pode ser o Mantis ou Bugzilla, entre outras). Tem um blog que explica bem sobre o Testlink.

Desta forma, o Testlink é utilizado exclusivamente pela equipe de teste e o Redmine é utilizado pelas equipes de teste e desenvolvimento.

O roteiro de teste é descrito no Testlink e depois executado manualmente nesta ferramenta. No momento em que encontramos um bug, é feito um link para a criação do "Bug" no Redmine. Assim, os desenvolvedores conseguem acessar os bugs e gerenciá-los. Quando um bug é resolvido, este é verificado pela equipe de teste, que então finaliza o bug ou reabre.

Com a integração das ferramentas o ciclo de vida dos bugs, ou seja, a situação deles (aberto, resolvido, fechado etc), ficam visíveis no Testlink e no Redmine simultaneamente.

Espero ter ajudado.

Anne Caroline