25

Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Embed Size (px)

Citation preview

Page 1: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007
Page 2: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência

Polyana Olegário e Liane BandeiraOut/2007

Page 3: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Agenda• Design de Casos de Teste

• Motivação

• Contextualização

• Boas Práticas Adotadas no Projeto

• Considerações Finais

• Referências

Page 4: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Design de Casos de Teste

• A atividade de teste de software é composta por diversas atividades:– Planejamento e controle– Análise e design– Implementação e execução– Avaliação do critério de saída e reportagem– Atividade de fechamento do teste

Page 5: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Design de Casos de Teste

• De acordo com Pressman [3], os casos de teste são desenhados para encontrar o maior número possível de erros com o mínimo esforço e tempo possível

• Myers [2] destaca que o projeto de casos de teste é importante, porque testar completamente é impossível, então se deve tentar desenvolver testes tão completos quanto possíveis.

Page 6: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Motivação

• Melhorar o projeto de casos de teste– Permitir que falhas sejam encontradas

antecipadamente– Reduzir custo para correção de defeitos

• Melhorar a execução dos testes– Diminuir o esforço de execução

• Reduzir a necessidade de atualização dos testes

Page 7: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Contextualização

• Projeto de Test Design do C.E.S.A.R ligado ao BTC - Motorola

• Testes de Integração• Casos de testes construídos e agrupados

em suítes, que foram aproveitadas de uma versão do produto para outra. – Dificuldade em controlar a manutenção

destas suítes

Page 8: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Boas Práticas Adotadas no Projeto1. Sessões de Brainstorm2. Limitar a Quantidade de Componentes por Caso de

Teste3. Escrever Casos de Teste em Alto Nível4. Adicionar Toda Informação Necessária ao Caso de

Teste5. Refletir Cenários Comumente Utilizados pelo Usuário

Final 6. Evitar Casos de Teste Exaustivos7. Manter o Time de Execução dos Casos de Teste

Constantemente Informados 8. Tornar Casos de Teste aptos para Automação

Page 9: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

1. Sessões de Brainstorm

• Segundo Craig [1], a idéia de uma sessão de brainstorm é criar listas de idéias para ser testadas

• Objetivos:– Compartilhamento do conhecimento adquirido– Propor cenários de casos de teste com interações

com outras funcionalidades– Casos de testes construídos para atingir o máximo de

cobertura possível e encontrar o maior número de falhas

Page 10: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

1. Sessões de Brainstorm

• Participação de engenheiros de requisitos e usuários do sistema é importante

• Resultados para o projeto:– Relevante oportunidade para troca de

conhecimentos na equipe – Melhor visualização da funcionalidade a ser

testada

Page 11: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

2. Limitar a Quantidade de Componentes

• No contexto desse trabalho, um componente reúne um conjunto de funcionalidades que compartilham objetivos e recursos em comum.

• Testes de Integração podem conter diversos componentes sendo testados simultaneamente

• Dificuldade em determinar qual componente falhou num caso de teste

• Limitar a quantidade de componentes por caso de teste

Page 12: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

2. Limitar a Quantidade de Componentes

• Resultados para o projeto:– Auxilio na execução dos testes e detecção de

falhas por componente– Melhoria no planejamento da execução dos

testes– Foco maior no objetivo principal do teste

pelos designers e testadores– Melhoria da avaliação da cobertura da suíte

Page 13: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

3. Escrever Casos de Teste em Alto Nível

• Objetivo de diminuir alteração nos casos de teste sempre que houver modificação na interface do produto

• Evitar a verificação de palavras ou frases da interface do sistema

• Evitar o detalhamento de passos sem objetivo de verificação

• Resultados para o projeto:– Testes mais objetivos, claros e livres de detalhes

excessivos– Testes mais executáveis– Diminuição de atualizações dos testes

Page 14: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

4. Adicionar Informação Necessária ao Caso de Teste

• Foram melhoradas as condições iniciais dos casos de teste – Informações sobre assessórios necessários,

configurações de ambiente e do dispositivo a ser testado

• Atualizar informações associadas à mudança do caso de teste– Informações sobre data das modificações e

identificação de quem modificou o teste • Rastrear cada passo de um caso de teste a um

requisito

Page 15: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

4. Adicionar Informação Necessária ao Caso de Teste

• Resultados para o projeto:– Facilidade para execução e manutenção dos

casos de teste – Testes executados sem necessidade de

auxilio do projetista do teste – Fácil identificação de falhas no sistema

Page 16: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

5. Refletir Cenários Utilizados pelo Usuário Final

• Casos de teste mais próximos do comportamento do usuário final podem encontrar mais falhas de alta severidade

• Atribuir uma classificação ou peso para cada caso de teste

• Resultados para o projeto:– Permite encontrar falhas de maior severidade

encontradas– Foco do teste em cenários comuns ao cliente.

Page 17: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

6. Evitar Casos de Teste Exaustivos

• Testes grandes tendem a causar dispersão quando executados manualmente

• Reduzir a quantidade de passos em cada teste • Resultados para o projeto:

– Foco no objetivo principal do teste sem dispersar o testador

– Menor esforço para execução manual dos testes

Page 18: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

7. Manter o Time de Execução Constantemente Informado

• Melhoria da comunicação– Participação dos testadores, assim como

outros membros que detenham informação técnica sobre o teste nas inspeções

• Resultados para o projeto:– Maior envolvimento na construção e alteração

dos testes

Page 19: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

8. Tornar Casos de Teste aptos para Automação

• Devido a testes com configuração de ambiente muito complexa

• Para manter testes que realizam verificações usuais no produto

• Agrupamento dos passos que necessitavam dessa configuração

Page 20: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

8. Tornar Casos de Teste aptos para Automação

• Adaptações nesses casos de testes

• Resultados para o projeto:– Validação de funcionalidades básicas – Diminuição do esforço da execução manual

Page 21: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Considerações Finais

• Com as práticas adotadas, os casos de teste construídos são mais compreensíveis e concisos, capazes de encontrar falhas mais severas e exigem poucas correções durante a execução

• Melhoria na comunicação entre os designers de teste e os testadores– Participação destes nas inspeções.

Page 22: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Considerações Finais

• Esforço para correção de casos de teste pôde ser minimizado– Escrita dos casos de teste em alto nível

• Foco melhor no objetivo central do teste– Limitar a quantidade de componentes e de

passos por caso de teste

Page 23: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Considerações Finais

• Melhoria da qualidade dos casos de teste– Construção de casos de teste próximo ao

comportamento do usuário final

• Execução de testes essenciais ao produto e diminuição do esforço de execução da suíte de testes.– Automação de casos de teste

• Diminuição dos custos com a atividade de teste

Page 24: Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência Polyana Olegário e Liane Bandeira Out/2007

Referências

• [1] Craig, R. D., Jaskiel, S. P. Systematic Software Testing, Artech House Publishers, 2002.

• [2] Myers, G. J. The Art of Software Testing, 2. ed, John Wiley & Sons, Inc., 2004

• [3] Pressman, R. S. Engenharia de Software. 5 ed., McGraw-Hill, 2000