Análise e Modelagem de Teste Flashcards
Técnicas de Teste Caixa-Preta
Particionamento de Equivalência (EP), Análise de Valor de Limite (BVA), Teste de Tabela de Decisão, Teste de Transição de Estado
Particionamento de Equivalência (EP) - Definição
Uma técnica de teste que divide dados em “partições de equivalência” com o objetivo de que testar um valor de cada partição seja suficiente para detectar defeitos em outras partes da mesma partição.
Particionamento de Equivalência (EP)
Exemplos:
Entrada de Idade: "Menor de 18 anos", "Entre 18 e 65 anos", "Maior de 65 anos" Validação de Senha: "Senha válida", "Senha inválida" Validação de E-mail: "Endereço de e-mail válido", "Endereço de e-mail inválido" Teste de Pedidos de Compra: "Pendente", "Aprovado", "Rejeitado" Teste de Compatibilidade de Navegadores: "Chrome", "Firefox", "Safari"
Particionamento de Equivalência (EP) - Vantagens
Vantagens - Ajuda a garantir testes abrangentes em diferentes cenários de entrada.
Pode reduzir o número de casos de teste necessários.
Particionamento de Equivalência (EP) - Desvantagens
Pode ser difícil identificar as partições de equivalência corretas.
Pode não ser eficaz para objetos de teste com um grande número de entradas.
Análise de Valor de Limite (BVA) O que é?
Técnica de teste de software que se concentra nos valores de limite das partições de equivalência.
Só pode ser usada para partições ordenadas.
Os valores mínimo e máximo de uma partição são seus valores de limite.
Análise de Valor de Limite (BVA) - Vantagens
Vantagens
Pode detectar defeitos típicos de valores de limite.
É relativamente fácil de aplicar.
Pode ser usada para qualquer tipo de software.
Análise de Valor de Limite (BVA) Desvantagens
Pode não detectar todos os defeitos.
Pode ser ineficiente para partições com muitos valores de limite.
Análise de Valor de Limite (BVA) - Tipos
BVA de 2 valores: dois itens de cobertura por limite.
BVA de 3 valores: três itens de cobertura por limite.
Teste de Tabela de Decisão
Definição
Técnica de teste de software que identifica combinações de condições que resultam em diferentes resultados.
Útil para testar lógica complexa, como regras de negócios.
Teste de Tabela de Decisão
Tipos
Entrada limitada: Cada condição assume apenas dois valores, verdadeiro ou falso.
Entrada estendida: Cada condição pode assumir mais de dois valores.
Teste de Tabela de Decisão
Vantagens
Identifica todas as combinações de condições.
Ajuda a encontrar lacunas e contradições nos requisitos.
Teste de Tabela de Decisão
Desvantagens
Pode gerar um grande número de casos de teste.
Pode ser difícil de aplicar a sistemas com muitas condições.
Teste de Transição de Estado - Definição
Técnica de teste de software que identifica e executa todas as transições de estado válidas de um sistema.
Útil para testar sistemas com um comportamento baseado em estados.
Teste de Transição de Estado - Criação
Desenhar um diagrama de transição de estado ou uma tabela de estados para modelar o comportamento do sistema.
Identificar todas as transições válidas.
Desenvolver casos de teste que executem todas as transições válidas.
Teste de Transição de Estado - Vantagens
Pode detectar defeitos relacionados a transições de estado.
Pode ajudar a encontrar lacunas e contradições nos requisitos.
Teste de Transição de Estado - Desvantagens
Pode gerar um grande número de casos de teste.
Pode ser difícil de aplicar a sistemas com muitos estados ou transições.
Teste de Transição de Estado
Cobertura de todos os estados: Todos os estados devem ser visitados pelo menos uma vez.
Cobertura de transições válidas: Todas as transições válidas devem ser executadas pelo menos uma vez.
Cobertura de todas as transições: Todas as transições, válidas e inválidas, devem ser executadas pelo menos uma vez.
Técnicas de Teste Baseadas na Experiência - Tipos
Suposição de erro
Teste exploratório
Teste baseado em lista de verificação
Suposição de erro
Definição: Técnica usada para prever a ocorrência de erros, defeitos e falhas, com base no conhecimento do Testador.
Bases de conhecimento:
Como o aplicativo funcionou no passado;
Tipos de erros que os desenvolvedores tendem a cometer;
Tipos de falhas que ocorreram em outros aplicativos semelhantes.
Possíveis áreas de erro:
Entrada;
Saída;
Lógica;
Cálculo;
Interfaces;
Dados.
Suposição de erro - Vantagens
Pode ajudar a encontrar erros que não seriam encontrados por outros métodos de teste.
Pode ser usada para testar aplicativos complexos ou novos.
Testes exploratórios
Testes exploratórios são uma técnica de teste que permite ao testador aprender sobre o sistema sendo testado enquanto executa testes.
São uma técnica de teste flexível e poderosa que pode ser usada para aumentar a cobertura de teste e encontrar bugs que outras técnicas podem não encontrar.
Testes exploratórios - Características
Os testes são modelados, executados e avaliados simultaneamente.
O teste é usado para aprender mais sobre o sistema.
O teste é usado para explorar o sistema mais profundamente.
O teste é usado para criar testes para áreas não testadas.
Testes exploratórios - Vantagens
Útil quando há poucas especificações ou especificações inadequadas.
Útil quando há pressão significativa de tempo sobre os testes.
Útil para complementar outras técnicas de teste mais formais
Testes exploratórios - Desvantagens
Pode ser menos eficaz do que técnicas de teste mais formais.
Requer um testador experiente e com conhecimento do domínio.
Testes baseados em lista de verificação - Definicao
Testes baseados em lista de verificação são uma técnica de teste que usa uma lista de verificação para orientar o design, a implementação e a execução de testes.
Testes baseados em lista de verificação - Vantagens
Fornece diretrizes e algum grau de consistência para os testes
Pode ser usado na ausência de casos de teste detalhados
Pode ser usado para cobrir uma ampla gama de condições de teste
Testes baseados em lista de verificação - Desvantagens
Pode não ser tão eficaz quanto técnicas de teste mais formais
Pode ser menos repetível do que técnicas de teste mais formais
Lista de verificações - Exemplos
Lista de verificação de requisitos funcionais
O sistema deve ser capaz de cadastrar um novo usuário.
O sistema deve ser capaz de fazer login de um usuário existente.
Lista de verificação de heurísticas de usabilidade
O sistema deve ser fácil de aprender.
O sistema deve ser fácil de usar.
Lista de verificação de testes de desempenho
O sistema deve ser capaz de lidar com um número de usuários simultâneos.
O sistema deve ser capaz de lidar com um grande volume de dados.
Lista de verificação de testes de segurança
O sistema deve ser protegido contra ataques de força bruta.
O sistema deve ser protegido contra ataques de SQL injection.