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.
|