Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

1
Técnicas de teste
BASEADAS NA 
EXPERIÊNCIA
conteúdo
1. Previsão de Erros
2. Teste Exploratório
3. Teste Baseado em Checklist
2
previsão
DE ERROS
TÉNICAS DE TESTE
Particionamento de 
Equivalência (PE)
Análise de Valores Limite 
(AVL)
Teste de Tabela de 
Decisão
Teste de Transição de 
Estado
CAIXA PRETA
Teste de Comandos 
e Cobertura de 
Comandos
Testes de Desvios e 
Cobertura de Desvios
CAIXA BRANCA
Previsão de Erros
Teste Exploratório
BASEADO NA 
EXPERIÊNCIA
Teste Baseado em 
Checklist
TÉCNICAS DE TESTE
3
TÉNICAS DE TESTE | BASEADO NA EXPERIÊNCIA
• Técnicas menos formais em comparação 
às discutidas anteriormente.
• Baseiam-se no conhecimento, habilidades, 
intuição e experiência dos testadores.
• Utilizam a experiência com produtos 
semelhantes ou o mesmo produto.
CAIXA PRETA
CAIXA BRANCA
BASEADO NA 
EXPERIÊNCIA
TÉCNICAS DE TESTE
TÉNICAS DE TESTE | BASEADO NA EXPERIÊNCIA
• Facilitam a identificação de falhas ou defeitos 
difíceis de detectar com técnicas mais 
estruturadas.
• Comumente usadas por testadores.
• A eficácia dessas técnicas depende muito da 
abordagem e experiência individual dos 
testadores.
CAIXA PRETA
CAIXA BRANCA
BASEADO NA 
EXPERIÊNCIA
TÉCNICAS DE TESTE
4
PREVISÃO DE ERROS (ERROR GUESSING)
• Técnica mais simples baseada na 
experiência do testador;
• Sem planejamento prévio ou necessidade 
de gerenciamento específico;
• O testador prediz os possíveis tipos de 
erros, defeitos ou falhas.
BASE DE PREVISÃO
• Funcionamento atual de um componente, 
sistema em teste ou versões anteriores em 
produção;
• Erros típicos conhecidos pelo testador 
cometidos por desenvolvedores, arquitetos, 
analistas, etc.
• Conhecimento de falhas anteriores em 
aplicações similares.
5
ERROS, DEFEITOS E FALHAS ANTERIORES RELACIONADOS A
Entrada
• Entrada válida não aceita;
• Entrada inválida aceita;
• Valor de parâmetro errado;
• Parâmetro de entrada ausente.
ERROS, DEFEITOS E FALHAS ANTERIORES RELACIONADOS A
Saída
• Formato de saída errado;
• Resultado incorreto;
• Saída correta no momento errado;
• Saída incompleta;
• Saída ausente;
• Erros gramaticais ou de pontuação.
6
ERROS, DEFEITOS E FALHAS
Lógica
• Casos ausentes a considerar;
• Casos duplicados;
• Operador lógico inválido;
• Condição ausente;
• Iteração de loop inválida.
ERROS, DEFEITOS E FALHAS
Cálculos
• Algoritmo errado ou ineficaz;
• Cálculo ausente;
• Operando ou operador inválido;
• Erro de arredondamento;
• Precisão insuficiente do resultado;
• Função embutida inválida.
7
ERROS, DEFEITOS E FALHAS
Interface
• Processamento incorreto de eventos da 
interface;
• Falhas relacionadas ao tempo no 
processamento de entrada/saída;
• Chamada de função errada ou inexistente;
• Parâmetro ausente;
• Tipos de parâmetro incompatíveis.
ERROS, DEFEITOS E FALHAS
Dados
• Inicialização, definição ou 
declaração incorreta de variável.
• Acesso incorreto a variável.
• Valor errado de variável.
• Uso de variável inválida.
• Referência incorreta a dados.
8
ERROS, DEFEITOS E FALHAS
Dados
• Dimensão errada dos dados.
• Índice ou tipo de variável incorreto.
• Faixa de variável incorreta.
• Erro de "um a mais" ou "um a menos".
FAULT ATACK (SOFTWARE ATACK)
Variação mais organizada e 
metódica da técnica de previsão de 
erros.
9
CARACTERÍSTICAS | FAULT ATACK (SOFTWARE ATACK)
• Envolve a criação de uma lista de 
potenciais erros, defeitos e falhas;
• O testador analisa a lista ponto a 
ponto;
• E tenta tornar visível cada erro, 
defeito ou falha no objeto em 
teste.
CARACTERÍSTICAS | FAULT ATACK (SOFTWARE ATACK)
• Focado em eventos negativos: 
defeitos ou falhas específicos
• Ao invés de eventos positivos: 
verificar a lógica de negócios ou 
domínio de entrada.
10
FONTE DAS LISTAS DE POTENCIAIS ERROS
• Listas podem ser baseadas na 
experiência do testador, tornando-as 
mais eficazes;
• Listas públicas disponíveis na internet 
também podem ser utilizadas.
EXEMPLO: ATAQUE DE FALHA (FAULT ATACK)
Um testador está testando um 
programa para calcular o IMC 
(Índice de Massa Corporal), 
https://calculatorsworld.com/health/bmi-calculator/
11
EXEMPLO: ATAQUE DE FALHA (FAULT ATACK)
• O testador aplicará a técnica 
ataque de falha;
• Utilizando a seguinte lista de 
defeitos e falhas:
1. A ocorrência de um overflow em 
um campo de formulário.
2. A ocorrência de divisão por zero.
3. Forçar a ocorrência de um valor 
inválido.
RESUMO DOS TESTES DE FALHAS PARA O PROGRAMA IMC
1. Forçar Falha de Overflow
Testador tenta inserir uma sequência muito 
longa de dígitos no campo de entrada de 
"peso".
2147483647.7976931348623157Peso:
12
RESUMO DOS TESTES DE FALHAS PARA O PROGRAMA IMC
2. Forçar Falha de Divisão por Zero
Testador insere altura zero, pois o 
IMC é calculado como o quociente do 
peso pelo quadrado da altura.
0Altura:
RESUMO DOS TESTES DE FALHAS PARA O PROGRAMA IMC
3. Forçar Falha de Valor Inválido
Testador insere um valor de peso 
negativo para forçar um valor de IMC 
negativo (incorreto).
-92.00Peso:
13
OBSERVAÇÃO
• Esses ataques são possíveis;
• Porque a interface permite que 
os valores de peso e altura;
• Sejam inseridos diretamente pelo 
teclado.
RECOMENDAÇÕES DE DESIGN DE INTERFACE
• Projetar interfaces que evitem a 
entrada de valores incorretos;
• Permitir a entrada apenas por meio de 
botões que aumentem ou diminuam 
os valores dentro de um intervalo 
controlado;
• Usar mecanismos como listas 
suspensas ou deslizadores.
14
TESTE
EXPLORATÓRIO
TÉNICAS DE TESTE
Particionamento de 
Equivalência (PE)
Análise de Valores Limite 
(AVL)
Teste de Tabela de 
Decisão
Teste de Transição de 
Estado
CAIXA PRETA
Teste de Comandos 
e Cobertura de 
Comandos
Testes de Desvios e 
Cobertura de Desvios
CAIXA BRANCA
Previsão de Erros
Teste Exploratório
BASEADO NA 
EXPERIÊNCIA
Teste Baseado em 
Checklist
TÉCNICAS DE TESTE
15
TESTE EXPLORATÓRIO
• Abordagem de projetar, executar 
e registrar testes não roteirizados
• Não Roteirizado: não planejados 
previamente;
• E avaliá-los dinamicamente 
durante a execução.
CARACTERÍSTICAS DO TESTE EXPLORATÓRIO
O testador não executa testes 
preparados em uma fase separada de 
design ou análise.
16
CARACTERÍSTICAS DO TESTE EXPLORATÓRIO
Cada próximo passo no cenário de teste atual 
é dinâmico e depende de:
1. Conhecimento e intuição do testador;
2. Experiência com esta ou aplicações 
similares;
3. Comportamento do sistema no passo 
anterior do cenário.
TESTE EXPLORATÓRIO X TESTE ROTEIRIZADO
• A diferença entre o teste exploratório e o 
roteirizado não é totalmente precisa;
• Toda atividade de teste inclui elementos de 
planejamento e de dinâmica/exploração.
17
PLANEJAMENTO EM TESTES EXPLORATÓRIOS
• Mesmo em testes puramente exploratórios;
• É comum planejar a sessão exploratória com 
antecedência;
• Exemplo: alocar um tempo específico para o 
testador executá-la.
• O testador exploratório pode preparar 
vários dados de teste necessários antes da 
sessão começar.
TESTES EXPLORATÓRIOS BASEADOS EM SESSÕES
Abordagem que permite maior 
estruturação e melhor gerenciamento das 
atividades de teste exploratório.
18
1. PLANEJAMENTO DA SESSÃO
• O testador se reúne com o gerente 
para determinar o escopo do teste e 
alocar tempo.
• O gerente entrega ou colabora com o 
testador para escrever a carta de teste 
(Test Charter).
• A carta de teste deve ser criada 
durante a análise de teste.
2. EXECUÇÃO DA SESSÃO
• O testador conduz a sessão de teste 
exploratório
• Fazendo anotações sobre observações 
relevantes
• Exemplo: Problemas, recomendações, 
informações sobre falhas, etc.
19
3. REUNIÃO DE REVISÃO
• Ao final da sessão, o testador e o 
gerente discutem os resultados 
• E decidem os próximos passos.
CARACTERÍSTICAS DA SESSÃO
• Realizada em um período bem definido
• Exemplo: 1 a 4 horas;
• O testador foca na tarefa especificada na 
carta de teste;
• Mas pode desviar-seda tarefa principal 
se observar um defeito sério em outra 
área da aplicação;
• Os resultados da sessão são 
documentados na carta de teste.
20
RECOMENDAÇÕES PARA A SESSÃO
• Realizar o teste de forma colaborativa, 
utilizando pares.
• O testador pode fazer dupla com um 
representante de negócios, usuário final 
ou Product Owner
• Para explorar a aplicação durante o 
teste.
RECOMENDAÇÕES PARA A SESSÃO
• O testador pode também fazer dupla com 
um desenvolvedor para:
• Evitar testar funcionalidades instáveis;
• Resolver questões técnicas;
• Demonstrar comportamentos indesejados 
imediatamente.
• Sem necessidade de fornecer evidências 
extensas no relatório de defeitos.
21
EXEMPLO: TESTE EXPLORATÓRIO
Uma empresa planeja testar a 
funcionalidade básica de um site
CARTA DE TESTE TE 02-001-01Carta de Teste
Testar a funcionalidade de loginObjetivo
• Login como um usuário existente com login e senha corretos
• Login como um usuário existente através de uma conta do Google
• Login como um usuário existente através de uma conta do Facebook
• Login incorreto - usuário inexistente
• Login incorreto - senha errada
• Ações que resultam no bloqueio da conta
• Uso da função de lembrete de senha
• Ataque de injeção SQL e outros ataques de segurança
Áreas
Site acessível através de vários navegadores (Chrome, FF, IE)Ambiente
2019-06-12, 11:00–13:15Tempo
Bob BugbusterTestador
Notas do Testador
Capturas de tela, dados de teste, etc.Arquivos
-Defeitos Encontrados
20% preparação para a sessão
70% condução da sessão
10% análise de problemas
Divisão do Tempo
22
EXEMPLO: TESTE EXPLORATÓRIO
• O gerente de testes, com base nos 
resultados coletados de várias sessões 
de testes exploratórios;
• Deriva as seguintes métricas amostrais 
para análise posterior;
MÉTRICAS AMOSTRAIS DO TESTE EXPLORATÓRIO
• Número de Sessões de Teste Conduzidas: 
Quantidade total de sessões de teste 
exploratório realizadas.
• Tempo Médio por Sessão: Duração média 
de cada sessão de teste exploratório.
• Número de Defeitos Encontrados: 
Quantidade total de defeitos identificados 
durante as sessões de teste.
23
MÉTRICAS AMOSTRAIS DO TESTE EXPLORATÓRIO
• Gravidade dos Defeitos: Classificação dos 
defeitos encontrados por gravidade 
• Exemplo: crítica, alta, média, baixa
• Áreas do Sistema Testadas: Partes do sistema 
que foram exploradas e testadas.
• Recomendações e Observações: Sugestões e 
anotações feitas pelos testadores durante as 
sessões.
QUANDO UTILIZAR TESTES EXPLORATÓRIOS?
• A especificação do produto em teste está 
incompleta, é de baixa qualidade ou está 
ausente.
• Há pressão de tempo; os testadores têm 
pouco tempo para conduzir os testes.
• Os testadores conhecem bem o produto e 
têm experiência em testes exploratórios.
24
TESTES EXPLORATÓRIOS
• Os testes exploratórios estão fortemente 
relacionados à estratégia de teste reativa;
• Podem utilizar outras técnicas baseadas em 
caixa preta, caixa branca e experiência.
TESTES EXPLORATÓRIOS
Ninguém pode ditar ao testador como conduzir 
a sessão.
• Um testador pode achar útil criar um diagrama 
de transição de estado para descrever o 
funcionamento do sistema 
• E, em uma sessão exploratória, projetar e 
executar casos de teste com base nele. 
25
teste BASEADO EM
CHECKLIST
TÉNICAS DE TESTE
Particionamento de 
Equivalência (PE)
Análise de Valores Limite 
(AVL)
Teste de Tabela de 
Decisão
Teste de Transição de 
Estado
CAIXA PRETA
Teste de Comandos 
e Cobertura de 
Comandos
Testes de Desvios e 
Cobertura de Desvios
CAIXA BRANCA
Previsão de Erros
Teste Exploratório
BASEADO NA 
EXPERIÊNCIA
Teste Baseado em 
Checklist
TÉCNICAS DE TESTE
26
TESTE BASEADO EM CHECKLIST
• Utiliza o conhecimento e a experiência 
do testador;
• Sendo a execução do teste baseada 
nos itens contidos em um checklist;
• Que lista as condições a serem 
verificadas.
CARACTERÍSTICAS DO CHECKLIST
• Não deve conter itens que possam ser 
verificados automaticamente;
• Não deve incluir critérios de entrada/saída;
• Não deve conter itens muito gerais;
• Frequentemente, os itens são formulados 
como perguntas.
27
CARACTERÍSTICAS DO CHECKLIST
• Permite verificar cada item 
separadamente e diretamente;
• Pode se referir a requisitos, 
características de qualidade ou outras 
condições de teste;
• Suporta vários tipos de testes, 
incluindo funcionais e não funcionais.
ATAQUE DE FALHA X CHECKLIST
Ataque de Falhas
• Inicia a partir de defeitos e falhas; 
• O testador age para revelar problemas 
específicos.
Teste Baseado em Checklist
• Verifica as funcionalidades positivas do 
software de maneira sistemática; 
• A base do teste é o próprio checklist.
28
MANUTENÇÃO DO CHECKLIST
• Deve ser atualizado regularmente com 
base na análise de defeitos;
• Deve evitar se tornar muito longo;
• Itens podem se tornar menos eficazes 
com o tempo 
MANUTENÇÃO DO CHECKLIST
• À medida que a equipe aprende a evitar 
erros repetidos.
• Novos itens podem ser adicionados para 
refletir defeitos de alta gravidade 
recentemente descobertos.
29
CONSISTÊNCIA E VARIABILIDADE DO CHECKLIST
• Proporciona uma certa consistência na 
ausência de casos de teste detalhados.
• Dois testadores trabalhando com o mesmo 
checklist
• Provavelmente realizarão tarefas de forma 
ligeiramente diferente
• Mas testarão as mesmas condições, 
resultando em testes similares.
CONSISTÊNCIA E VARIABILIDADE DO CHECKLIST
• Checklists de alto nível podem resultar em 
maior variabilidade nos testes reais;
• Potencialmente aumentando a cobertura; 
• Mas reduzindo a repetibilidade dos testes.
30
TIPOS DE CHECKLIST
• Existem muitos tipos diferentes de 
checklists para diferentes aspectos do 
software.
• Podem ter graus variados de generalidade 
e um campo de aplicação mais amplo ou 
mais restrito.
TIPOS DE CHECKLIST
• Existem muitos tipos diferentes de 
checklists para diferentes aspectos do 
software.
• Podem ter graus variados de generalidade 
e um campo de aplicação mais amplo ou 
mais restrito.
31
TIPOS DE CHECKLIST
• Não há uma regra fixa para o nível de 
detalhe dos checklists.
• Testadores devem sempre ajustar o nível 
de detalhe do checklist
• Para atender às suas próprias 
necessidades.
CHECKLIST PARA TESTE DE CÓDIGO
• Usados em testes de componentes.
• Tendem a ser muito detalhados.
• Incluem muitos detalhes técnicos sobre 
aspectos do desenvolvimento de código 
• Em uma linguagem de programação 
específica.
32
APLICAÇÃO DOS CHECKLISTS
• Checklists podem ser usados para 
basicamente qualquer tipo de teste;
• Incluindo testes funcionais e não funcionais.
PROCESSO NO TESTE BASEADO EM CHECKLISTS
• O testador projeta, implementa e 
executa testes;
• Para cobrir as condições de teste 
encontradas no checklist;
• Testadores podem usar checklists 
existentes, modificá-los e adaptá-los às 
suas necessidades.
33
PROCESSO NO TESTE BASEADO EM CHECKLISTS
Testadores também podem criar suas próprias 
listas com base 
• Na experiência com defeitos e falhas;
• No conhecimento das expectativas dos usuários 
• No conhecimento das causas e sintomas de falhas 
de software.
PROCESSO NO TESTE BASEADO EM CHECKLISTS
• Utilizar a própria experiência pode tornar esta 
técnica mais eficaz;
• Pois pessoas na mesma organização, 
trabalhando em produtos similares, tendem a 
cometer erros semelhantes;
• Testadores menos experientes geralmente 
trabalham com checklists já existentes.
34
COBERTURA DOS TESTES
• Não há medidas específicas de cobertura 
definidas para testes baseados em checklist;
• No mínimo, cada item do checklist deve ser 
coberto;
• A extensão da cobertura de cada item pode 
ser difícil de determinar;
• Pois a técnica se baseia no conhecimento, 
experiência e intuição do testador.
VANTAGEM - TESTE BASEADO EM CHECKLIST
• Maior cobertura pode ser alcançada se a 
mesma lista de testes for usada por 2 ou mais 
testadores;
• Cada testadorprovavelmente realizará um 
conjunto de passos ligeiramente diferente para 
cobrir o mesmo item do checklist;
• Resultando em alguma variabilidade nos testes;
• O que traduz em maior cobertura, mas com 
menor repetibilidade.
35
DESVANTAGEM - TESTE BASEADO EM CHECKLIST
• Falta de informações detalhadas sobre 
a cobertura;
• Menor repetibilidade em comparação 
com técnicas formais.
EXEMPLO – CHECKLIST PARA INSPEÇÃO DE CÓDIGO
1. O código está escrito de acordo com os padrões atuais?
2. O código está formatado de maneira consistente?
3. Existem funções que nunca são chamadas?
4. Os algoritmos implementados são eficientes, com 
complexidade computacional apropriada?
5. A memória está sendo utilizada de maneira eficaz?
6. Existem variáveis que são usadas sem serem declaradas 
primeiro?
36
EXEMPLO – CHECKLIST PARA INSPEÇÃO DE CÓDIGO
6. O código está devidamente documentado?
7. A maneira de comentar é consistente?
8. Toda operação de divisão está protegida contra divisão por 
zero?
9. Em declarações IF-THEN, os blocos de instruções executados 
mais frequentemente são verificados primeiro?
10.Cada declaração CASE tem um bloco padrão?
11.Toda memória alocada é liberada quando não está mais em 
uso?
EXEMPLO – HEURÍSTICAS DE NIELSEN
1. Visibilidade do Status do Sistema;
2. Correspondência entre o Sistema e o 
Mundo Real
3. Controle de Usuário e Liberdade
4. Consistência e Padrões
5. Prevenção de Erros
6. Reconhecimento em Vez de 
Recordação
7. Flexibilidade e Eficiência de Uso
8. Design Estético e Minimalista
9. Ajude os Usuários a Reconhecer, 
Diagnosticar e Recuperar de Erros
10. Ajuda e Documentação
37
BIBLIOGRAFIA
STAPP, Lucjan; ROMAN, Adam; PILAETEN, Micha
ël. ISTQB – Certified Tester Foundation Level: A 
Self-Study Guide Syllabus v4.0. Chapter 2. Testing 
in the Context of a Software Development Cycle - Test 
Levels. Springer, 2023.
BIBLIOGRAFIA
MYERS, Glenford J.; BADGETT, Tom; SANDLER, 
Corey. The Art of Software Testing. Wiley, 2011.
38
BIBLIOGRAFIA
SOMMERVILLE, Ian. Engenharia de Software. Cap. 2 
– Processo de Software. pág. 18. Cap. 3 –
Desenvolvimento Ágil de Software. pág. 38. Pearson, 
2019.
BIBLIOGRAFIA
PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia 
de Software: Uma Abordagem Profissional. Cap. 
4.1 Modelos de Processos Prescritivos, pág. 41. 
AMGH, 2021.
39
BIBLIOGRAFIA
BOURQUE, Pierre.; FAIRLEY, Richard E. (Dick). 
SWEBOK V3.0. Chapter 8. Software Engineering 
Process, pág. 81. AMGH, 2021.
Diego Augusto Barros é bacharel em Sistemas de
Informação pela Pontifícia Universidade Católica de Minas
Gerais (2012) e mestre em Ciência da Computação pela
Universidade Federal de Minas Gerais (2015).
Sua pesquisa concentra-se nas áreas de Visualização de
Dados e Interação Humano-computador, e investiga
fatores cognitivos e perceptivos envolvidos na análise de
grandes conjuntos de dados, que resultam em novos
sistemas interativos para comunicação e análise visual.
Seus principais interesses nas áreas são: visualização de
informação, Visual Analytics, métodos de avaliação de
interfaces, interação com sistemas, tecnologias web,
sistemas de informação, engenharia de software e
informática na educação.
diegoaugustobarros.com
@diegoaugustobarros
@profdiegoaugusto
PROF. DIEGO AUGUSTO BARROS

Mais conteúdos dessa disciplina