segunda-feira, 22 de junho de 2009

Perguntas e Respostas - Parte 2

Como prometido, vamos tentar esclarecer a pergunta 2.

2) Quando o teste de software é aplicado? Existe um momento exato ou acontece durante todo o processo de desenvolvimento? Como funcionam os testes de software? Quais são as etapas?

A experiência tem mostrado que bons resultados não são alcançados quando o próprio desenvolvedor realiza os testes, uma vez que é muito difícil fazer com que esses profissionais atuem ao mesmo tempo como desenvolvedores e testadores.

No conceito “V” de teste, os procedimentos de fazer e conferir convergem do início até o fim do projeto. O time de desenvolvimento trabalha com o objetivo de implementar o sistema, já o time de teste executa procedimentos de teste visando minimizar e eliminar riscos e defeitos do sistema. Com isso, o alto nível de riscos que caracteriza os projetos de desenvolvimento de software irá decrescer a um patamar aceitável que permita a conclusão bem-sucedida.
Os benefícios advindos da adoção do modelo em “V” são claros: detecção precoce de defeitos, maior envolvimento do time de testes no início do projeto e aumento da qualidade do software.




O ciclo de vida do teste faz parte do ciclo de vida do software e eles devem ser iniciados ao mesmo tempo. O processo de design e desenvolvimento de testes pode ser tão complexo quanto o processo de desenvolvimento do software em si. Se os testes não forem iniciados juntamente com os primeiros releases executáveis do software, o esforço de teste retardará a descoberta de muitos problemas no ciclo de desenvolvimento. Em geral, isso resulta em um longo período de correção de erros após a programação de desenvolvimento, acabando com as metas e as vantagens do desenvolvimento iterativo.

Além da possibilidade de retrabalho já mencionada, a equipe de teste precisa ter cuidado para manter seu papel como consultora de qualidade imparcial e não se desviar das atividades de design e dos requisitos iniciais, atuando como "guardiã da qualidade".
Os problemas localizados durante uma iteração podem ser solucionados ou adiados para a próxima — uma decisão que fica, em última instância, a critério do Gerente de Teste. Uma das principais tarefas da equipe de teste e dos gerentes de projeto consiste em medir a abrangência da iteração, verificando se os objetivos de cada iteração foram alcançados. A "detecção de requisitos" é realizada continuamente a cada iteração, e você precisa estar atento e preparado para gerenciá-la.



Após cada iteração ou fase é necessário re-planejar as atividades seguintes, caso necessário. Em alguns casos, os projetos podem ter somente a fase de execução de teste após a fase de planejamento de teste.

Para todas as fases de testes temos critérios de entrada e saída e muitas vezes, os critérios de saída de uma fase, são os critérios de entrada da fase seguinte.

  • Estimativa de Teste
  • ==> Estimativa de teste inicial;
  • ==> Confirmação da nova funcionalidade no cronograma de teste;
  • Análise de Teste
  • Design de Teste
  • Execução de Teste

Para entender um pouco como funcionam os critérios de entrada e saída das fases, segue um exemplo abaixo:

Fase de Estimativa de Teste:

  • Critérios de Entrada:
  • ==> Email do time de desenvolvimento requisitando uma nova estimativa de teste;
  • ==> Documentos de requisitos disponíveis.
  • Critérios de Saída:
  • ==> Documento de estimativa criado e atualizado com os valores estimados;
  • ==> Cronograma de Teste atualizado.

Fase de Análise de Teste:

  • Critérios de Entrada:
  • ==> Documento de estimativa criado e atualizado com os valores estimados;
  • ==> Email de alocação de análise e design de teste;
  • ==> Documentos de requisitos disponíveis.
  • Critérios de Saída:
  • ==> Documento com o cabeçalho dos casos de teste que serão criados;
  • ==> Plano de Teste atualizado;
  • ==> Cronograma de Teste atualizado (se aplicável);
  • ==> Matriz de Rastreabilidade de Requisitos (opcional).

Fase de Design de Teste:

  • Critérios de Entrada:
  • ==> Documento com o cabeçalho dos casos de teste que serão criados;
  • ==> Email de alocação de análise e design de teste;
  • ==> Documentos de requisitos disponíveis;
  • ==> Plano de Teste atualizado;
  • ==> Cronograma de teste atualizado (se aplicável);
  • ==> Matriz de Rastreabilidade de Requisitos (opcional).
  • Critérios de Saída:
  • ==> Casos de Teste criados, revisados e atualizados;
  • ==> Email para o Gerente de Testes requisitando o fechamento da atividade;
  • ==> Plano de Teste atualizado;
  • ==> Cronograma de teste atualizado (se aplicável);
  • ==> Matriz de Rastreabilidade de Requisitos (opcional).

Fase de Execução de Teste:

  • Critérios de Entrada:
  • ==> Email do time de teste requisitando uma nova execução de teste;
  • ==> Plano de Teste atualizado;
  • ==> Ciclo de execução de teste criado;
  • ==> Email de notificação do novo release para teste;
  • ==> Documento de requisitos disponíveis;
  • ==> Gráfico Curva-S com o planejamento da execução (planejado x executado).
  • Critérios de Saída:
  • ==> Ciclo atualizado;
  • ==> Gráfico Curva-S com o planejamento da execução (planejado x executado);
  • ==> Relatório de execução de teste parcial (se aplicável);
  • ==> Relatório de execução de teste final (se aplicável);
  • ==> Plano de teste atualizado.

Então, gostaram? Espero que tenha esclarecido algumas dúvidas que geralmente surgem nos projeto.

No próximo post irei responder as seguintes questões:

3) Ter um especialista em Qualidade de Software significa que o desenvolvedor não precisa desenvolver um projeto com tanta atenção ou cuidado?

4) Em um projeto relativamente pequeno, é necessário o teste?

Até+,
Quezada

Nenhum comentário:

Postar um comentário