Conceito: Tipos de Teste
Este conceito apresenta vários tipos de testes, que os membros da equipe executam em diferentes escopos.
Relacionamentos
Descrição Principal

Introdução

Existe muito mais no teste de soluções orientadas a software do que simplesmente avaliar as funções, a interface e as características de tempo de resposta. Testes adicionais devem focar em outros atributos de requisito, tais como:

  • integridade (resistência à falha)
  • habilidade de ser instalado e executado em diferentes plataformas
  • habilidade de lidar com muitas requisições simultâneas

Para conseguir isto, os testadores desenvolvem diferentes tipos de teste. Cada tipo de teste tem um objetivo e uma técnica de suporte específicos. Cada técnica foca no teste de uma ou mais características ou atributos da solução.

Os membros da equipe executam estes tipos de teste em diferentes escopos. Enquanto os Testadores estão preocupados com a solução como um todo, os Desenvolvedores estão normalmente focados em uma unidade ou componente específico da Implementação.

Dimensão de Qualidade: Funcionalidade

Teste funcional: Testes focados na validação das funções da solução como esperado, fornecendo os serviços, métodos ou casos de uso necessários. Este teste é implementado e executado em diferentes alvos-de-teste, incluindo unidades, unidades integradas, aplicações e sistemas.

Teste de segurança: Testes focados em garantir que os dados (ou sistemas) do alvo-de-teste estejam acessíveis somente aos atores para os quais eles se destinam. Este teste é implementado e executado em vários alvos-de-teste.

Teste de volume: Testes focados em verificar a capacidade do alvo-de-teste de lidar com grandes volumes de dados, tanto de entrada como de saída ou persistentes. O teste de volume inclui estratégias tais como criar consultas que retornam todo o conteúdo da base de dados, ou que tenham tantas restrições que nenhum dado seja retornado, ou onde a entrada de dados tenha a quantidade máxima de dados para cada campo.

Dimensão de Qualidade: Usabilidade

Teste de integridade: Testes que focam em avaliar a robustez (resistência x falhas) do alvo-de-teste, e conformidade técnica com a linguagem, sintaxe e utilização de recursos. Este teste é implementado e executado em diferentes alvos, normalmente unidades de implementação e componentes.

Teste de estrutura: Testes que focam em avaliar a aderência do alvo-de-teste ao seu design e formação. Por exemplo, com aplicações Web, estes testes devem garantir que todos os links estejam conectados, o conteúdo apropriado seja exibido e que não exista conteúdo órfão.

Dimensão de Qualidade: Confiança

Teste de stress: Um tipo de teste de confiança que foca em avaliar como o sistema responde sobre condições anormais. O Stress no sistema pode incluir cargas de trabalho extremas, memória insuficiente, serviços e hardware indisponíveis ou recursos compartilhados limitados. Estes testes são normalmente executados para obter um melhor entendimento sobre como, e em quais áreas, o sistema irá parar de funcionar, para que os planos de contingência e a manutenção evolutiva possam ser planejados e orçados com bastante antecedência.

Teste de comparação de desempenho (Benchmark): Um tipo de teste que compara o desempenho de um alvo-de-teste novo ou desconhecido, com uma carga de trabalho de referência conhecida.

Teste de contenção: Testes focados em avaliar a habilidade do alvo-de-teste tratar de forma aceitável a demanda de múltiplos atores sob o mesmo recurso (dados gravados, memória, etc.).

Dimensão de Qualidade: Desempenho

Teste de carga: Um tipo de teste de desempenho utilizado para avaliar os limites de operação de um sistema sob diversas cargas de trabalho enquanto o sistema sob teste continua estável. Em algumas variações, a carga de trabalho mantém-se constante e a configuração do sistema sob teste é variada. Geralmente as medições são tomadas baseadas na taxa de transferência da carga de trabalho e no tempo de resposta de transação. As variações na carga de trabalho geralmente incluem emulação da média e do pico da carga de trabalho que ocorre dentro de tolerâncias operacionais normais.

Perfil de desempenho: Um teste onde o perfil de andamento do alvo-de-teste é monitorado, incluindo fluxo de execução, acesso a dados, chamadas a funções e sistemas para identificar e lidar com gargalos de desempenho e processos ineficientes.

Teste de configuração: Testes focados em garantir que o alvo-de-teste funcione como o esperado em diferentes configurações de hardware e software. Este teste pode também ser implementado como um teste de desempenho do sistema.

Dimensão de Qualidade: Suportabilidade

Teste de instalação: Teste focado em garantir que o alvo-de-teste seja instalado conforme o esperado em diferentes configurações de hardware e software, e sob diferentes condições (tais como espaço em disco insuficiente ou interrupções de energia). Este teste é implementado e executado em aplicações e sistemas.