Classificação quanto ao Nível do teste
- Teste Unitário
Testa apenas o componente (ou a menor unidade de software) que o desenvolvedor construiu. Exemplo de ferramenta para auxiliar nos testes: JUnit.
- Teste de Integração
Testa as integrações entre os diversos componentes construídos.
Normalmente, o Teste Unitário e o Teste de Integração são realizados pela própria equipe de desenvolvimento.
- Teste de Sistema
Verifica a boa execução dos componentes do aplicativo inteiro, incluindo as interfaces com outras aplicações.
Geralmente é realizado pela equipe de testes funcionais.
- Teste de Aceitação
Verifica se o sistema atende aos requisitos do usuário, conforme especificado. Exemplo de ferramenta para automação: Selenium.
Normalmente é realizado pela equipe de projeto do sistema. A partir deste teste é gerada a "Versão 1.0" do sistema.
Classificação quanto ao Tipo do teste
- Teste Funcional
São testes que verificam a operação correta do sistema em relação a sua especificação.
Geralmente é realizado pela equipe de testes.
- Teste Não Funcional
É realizado por uma equipe de testes mais especializada, porém, com foco em aspectos não funcionais como: desempenho, carga, estresse, usabilidade, segurança, etc. É feito em cima da versão 1.0 do sistema.
O teste de desempenho busca extrair informações sobre o desempenho do sistema em cenários normais de uso; o teste de carga busca extrair informações sobre o volume de usuários, transações, etc. que o sistema suporta; o teste de estresse busca extrair informações sobre quando o sistema não suporta a carga aplicada, sendo muito importante para saber estruturar e dimensionar a arquitetura do sistema e prover informações para escalar o sistema; o de usabilidade procura verificar se a interface de usuário é fácil de aprender e utilizar; o teste de segurança visa verificar se o software é seguro em garantir o sigilo dos dados armazenados e processados.
Exemplo de ferramenta para testes não funcionais: JMeter.
Classificação quanto à Técnica de teste
- Testes Caixa Preta
Estes testes buscam verificar se as saídas do sistema estão coerentes com as entradas, sem se preocupar como elas são tratadas internamente. As principais técnicas são:
Partição de equivalência;
Análise de Valores Limites;
Derivados de especificação;
Baseado em estado-transição.
- Testes Caixa Branca
Estes testes, chamados também de Testes Estruturais, se preocupam em avaliar aspectos internos do sistema. Para isso, utilizam técnicas de inspeção de código tais como: teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos, códigos nunca executados.
Existem várias ferramentas para ajudar a aplicar estas técnicas de testes: FindBugs, PMD, Lapse, etc.
Nenhum comentário:
Postar um comentário