sexta-feira, 24 de dezembro de 2010

Estratégia, Tipos e Técnicas de Teste


Estratégia de Testes de Software - Visa descrever os objetivos das atividades de teste e sua abordagem em geral, ou seja, deverá se ater aos tipos de testes, os níveis e as técnicas para uma execução bem sucedida.
Para elaborar uma boa estratégia de teste se faz necessário responder as perguntas abaixo:
  1. Quando testar?
  2. O que testar?
  3. Como testar?
Respondendo as questões acima e executando alguns passos como: Traçar prioridades para os testes, analisar os requisitos do sistema, tipos e técnicas de teste, torna-se possível desenhar uma estratégia eficiente e concisa. 
Tipos de Teste: Teste de Conformidade, Teste de Contingência, Teste de Desempenho ou Performance, Teste de Estresse, Teste de Funcionalidade, Teste de Integração, Teste de Regressão, Teste de Segurança e Teste de Usabilidade.
Esses testes são subdivididos em: Técnica Estrutural e Funcional.
Técnica Estrutural - É utilizada para garantir que o sistema desenvolvido esteja bem estruturado e que funcione corretamente.
Compõe essa técnica: Os testes de Conformidade, de Contigência, de Estresse, de Desempenho e de Segurança.
Teste de Conformidade - Utilizado para verificar se a aplicação está dentro dos padrões e procedimentos.
Teste de Contingência - Utilizado para verificar se após uma falha, a recuperação dos serviços são restabelecidos.  
Teste de Estresse - Utilizado para verificar o comportamento do sistema durante condições limite de execução.
Teste de Desempenho - Utilizado para verificar o tempo de resposta de uma funcionalidade do sistema ou de todo o sistema.
Teste de Segurança - Utilizado para garantir que os dados do sistema estão sendo acessados apenas por usuários autorizados.
Técnica Funcional - Essa técnica é utilizada para verificar se os requisitos do sistema estão de acordo com o solicitado.
Compõe essa técnica: Os testes de Funcionalidade, de Integração, de Regressão e de Usabilidade.
Teste de Funcionalidade - Utilizado para verificar se as funções do sistema são executadas corretamente e/ou se as regras de negócio estão aplicadas. 
Teste de Integração - Utilizado para verificar e garantir que o software desenvolvido consiga se comunicar adequadamente com outros softwares.
Teste de Regressão - Utilizado para garantir que os defeitos encontrados foram corrigidos e que a alteração em alguma parte do software (código) não tenha afetado outras partes.
Teste de Usabilidade - Utilizado para analisar o grau de facilidade de manuseio e interatividade do sistema com o usuário.
Para concluir este assunto vou falar brevemente sobre "Estágios ou níveis de teste".
O que seria Estágios ou níveis de teste? E para que serve?
Vimos como elaborar uma boa "Estratégia de Teste", levantando 3 simples questões:
  1. Quando testar?
  2. O que testar?
  3. Como testar?
É justamente nesta primeira questão, "Quando testar", que se aplica o assunto de hoje.
Estágios ou níveis de teste aborda exatamente esta pergunta, servindo como direcionamento para a execução dos testes, ou seja, qual tipo de teste utilizar em uma determinada fase do desenvolvimento do software.
Cito abaixo os quatro níveis de teste:
  • Testes Unitários
  • Testes de Integração
  • Testes de Sistema
  • Teste de Aceitação
Testes Unitários - Serve para garantir que uma funcionalidade especificada nos requisitos, seja implementada adequadamente.
Testes de Integração - Aplicado para verificar e garantir que o software desenvolvido consiga se comunicar adequadamente com outros softwares.
Neste nível existem duas técnicas ou métodos:
Abordagem Top-Down - Utiliza uma abordagem incremental e serve para identificar problemas de forma antecipada.

0 comentários:

Postar um comentário