estratégias e técnicas de testes - parte 2
TRANSCRIPT
![Page 1: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/1.jpg)
Estratégias e Técnicas de Teste
de Software Lorena Caldas – 19/11/2013
![Page 2: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/2.jpg)
Resumo da Apresentação
• Parte 1 – Introdução ao Teste de Software
▫ Principais Conceitos
▫ Estratégias de Teste
• Parte 2 – Técnicas de Teste de Software
▫ Técnicas, Situações e Ferramentas
![Page 3: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/3.jpg)
Técnicas, Situações e Ferramentas
![Page 4: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/4.jpg)
Execução dos Testes
• A atividade de execução dos testes é realizada após a construção de um produto de trabalho, quando na etapa de Verificação, ou após o desenvolvimento de um escopo do sistema, quando na etapa de Validação.
▫ Verificação:
Revisões de requisitos, modelos, gráficos, inspeções na base de dados
▫ Validação
Execução do software e sua infraestrutura para analisá-lo sob ponto de vista dos procedimentos usuais
![Page 5: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/5.jpg)
Técnicas
• Devem considerar:
▫ Estratégia e Método escolhidos
Características do Software
▫ Ferramentas disponíveis
![Page 6: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/6.jpg)
Estratégias X Técnicas
• As Técnicas de Teste devem ser escolhidas conforme Estratégia definida. Elas podem participar de várias Estratégias ou ser combinadas entre si
• Por Tipo de Sistema
▫ Desktop, Web, Mobile e Híbrido • Por Arquitetura
▫ Top-down e Bottom-up • Por Abrangência
▫ Unidade, Integração e Sistema • Por Fase
▫ Confirmação, Aceite e Manutenção
![Page 7: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/7.jpg)
Técnicas • Podem ser:
▫ Estruturais (Caixa Branca)
São testados os caminhos lógicos do sistema em suas diversas camadas
▫ Funcionais (Caixa Preta)
Considera as entradas e saídas do sistema, de acordo com as especificações de interface
▫ Não Funcionais
Observa os aspectos além daqueles funcionais
▫ Baseados em Erros
São inseridos defeitos propositais no sistema para que se já existia falhas no software (código legado)
![Page 8: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/8.jpg)
Testes Estruturais
(Caixa Branca)
![Page 9: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/9.jpg)
Testes Estruturais – Caixa Branca
• Observa os procedimentos de construção do software:
▫ Análise dos produtos do projeto: modelos, tabelas, gráficos, classes
▫ Revisões de código-fonte
▫ Estruturas das tabelas e integridade dos dados
▫ Forma da comunicação em rede
• Ator: Projetista, programador, analista de sistemas e tester
![Page 10: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/10.jpg)
Testes Estruturais – Caixa Branca
• Objetivo:
▫ Garantir que todos os caminhos de uma funcionalidade, suas decisões lógicas, laços, fronteiras e estruturas de dados foram exercitados ao menos 1 vez
• Métodos
▫ Caminho Básico
▫ Caminho Independente
▫ Complexidade Ciclomática
![Page 11: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/11.jpg)
Testes Estruturais – Caminho Básico • O ator define um limite aceitável para os caminhos lógicos básicos
do sistema sejam identificados (fluxo de controle) • Condição de Aceite:
▫ Quantidade de itens sem ramificação não ultrapassa limite aceitável • Notação Utilizada:
▫ Grafo de fluxo
![Page 12: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/12.jpg)
Testes Estruturais – Caminho
Independente • Extensão do Ciclo Básico – São caminhos do sistema que levam a
uma novo conjunto de instruções de processamento de uma nova condição
• Condição de Aceite:
▫ Fluxos de controle possuem ramificações • Notação Utilizada:
▫ Grafo de fluxo
Caminhos Independentes:
Caminho 1: 1 – 11 Caminho 2: 1 – 2,3 – 4,5 – 10 – 1 – 11 Caminho 3: 1 – 2,3 – 6 – 8 – 9 – 10 – 1 – 11 Caminho 4: 1 – 2,3 – 6 – 7 – 9 – 10 – 1 – 11
![Page 13: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/13.jpg)
Testes Estruturais – Complexidade
Ciclomática • Extensão do Ciclo Básico e Independente – Mede a quantidade de caminhos
independentes do conjunto de caminhos básicos • Condição de Aceite:
▫ Limite máximo de teste necessários para exercitar todos os caminhos é respeitado
• Formas de Fazer:
▫ Número de regiões do grafo de fluxo ▫ V(G) = E – N + 2
V (G) = número de teste necessários para cobrir instruções E = número de ramos do grafo N = número de nós do grafos do fluxo G
▫ V(G) = P + 1 P = conjunto de nós que contém condicionais, contidos no fluxo G
A Complexidade Ciclomática do grafo de
fluxo é 4
O grafo de fluxo contém 4 regiões; V(G) = 11 ramos - 9 nós + 2 = 4; V(G) = 3 nós predicativos + 1 = 4.
![Page 14: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/14.jpg)
Testes Estruturais – Como Fazer
• Passo 1: Traçar o gráfico de fluxo para o trecho este trecho de código
procedimento MAIOR(A:VETOR; T:inteiro; var MAX:inteiro); variaveis I,M:inteiro Inicio
M A[1];
I 2;
enquanto I T faça se A[I] > M
então M A[I]
I I+1
senão I I+1 fim se fim enquanto
MAX M; fim do procedimento
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
Resposta
![Page 15: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/15.jpg)
Testes Estruturais – Como Fazer
• Passo 2: Definir conjunto de Caminhos Básicos
procedimento MAIOR(A:VETOR; T:inteiro; var MAX:inteiro); variaveis I,M:inteiro Inicio
M A[1];
I 2;
enquanto I T faça se A[I] > M
então M A[I]
I I+1
senão I I+1 fim se fim enquanto
MAX M; fim do procedimento
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
Resposta
Nós sem ramificações: 1, 2, 3, 8, 9 e 10.
![Page 16: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/16.jpg)
Testes Estruturais – Como Fazer
• Passo 3: Definir Caminhos Independentes
procedimento MAIOR(A:VETOR; T:inteiro; var MAX:inteiro); variaveis I,M:inteiro Inicio
M A[1];
I 2;
enquanto I T faça se A[I] > M
então M A[I]
I I+1
senão I I+1 fim se fim enquanto
MAX M; fim do procedimento
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
Resposta
Caminho 1: 1, 2, 3, 9, 10; Caminho 2: 1, 2, 3, 4, 5, 6, 8, 3, 9, 10; Caminho 3: 1, 2, 3, 4, 7, 8, 3, 9, 10.
![Page 17: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/17.jpg)
Testes Estruturais – Como Fazer
• Passo 4: Encontrar Complexidade Ciclomática
procedimento MAIOR(A:VETOR; T:inteiro; var MAX:inteiro); variaveis I,M:inteiro Inicio
M A[1];
I 2;
enquanto I T faça se A[I] > M
então M A[I]
I I+1
senão I I+1 fim se fim enquanto
MAX M; fim do procedimento
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
Resposta
N. Regiões: 3; V(G) = 9 ramos - 8 nós + 2 = 3; V(G) = 2 nós predicativos + 1 = 3.
![Page 18: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/18.jpg)
Testes Estruturais – Como Fazer
• Passo 5: Preparar casos de teste que exercitem todos os caminhos do conjunto básico
procedimento MAIOR(A:VETOR; T:inteiro; var MAX:inteiro); variaveis I,M:inteiro Inicio
M A[1];
I 2;
enquanto I T faça se A[I] > M
então M A[I]
I I+1
senão I I+1 fim se fim enquanto
MAX M; fim do procedimento
1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 -
Resposta
Caminho 1: 1, 2, 3, 9, 10 A=(1,3) T = 0 Resultado Esperado – Max = 1; Caminho 2: 1, 2, 3, 4, 5, 6, 8, 3, 9, 10 A=(1,3) T = 2 Resultado Esperado – Max = 3; Caminho 3: 1, 2, 3, 4, 7, 8, 3, 9, 10 A=(3,1) T = 2 Resultado Esperado – Max = 3.
![Page 19: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/19.jpg)
Ferramentas
• Análise Estática
▫ Não precisa executar o código-fonte
• Análise Dinâmica
▫ Precisa executar o código-fonte
![Page 20: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/20.jpg)
Ferramentas de Análise Estática
• IDEs
▫ Eclipse, NetBeans, DevC++, VisualStudio, etc.
• Plugins ou ferramentas integradas às IDEs
▫ Code Explorer, Dodgy Code, FXCop, etc.
• Browsers e plugins
▫ Firebug, etc.
• Outras ferramentas de visualização de software
▫ Code Analisys, CodeScan, etc.
![Page 21: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/21.jpg)
Ferramentas de Análise Dinâmica
• Compiladores:
▫ Prompt - Windows, Console – Linux
• IDEs
• Outras ferramentas de visualização de software
![Page 22: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/22.jpg)
CodeExplorer
![Page 23: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/23.jpg)
Quintics
![Page 24: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/24.jpg)
FXCop
![Page 25: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/25.jpg)
Code Analysis
![Page 26: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/26.jpg)
Integradas às IDES ou browsers
• Dodgy Code, JFokus, Firebug
![Page 27: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/27.jpg)
Outras ferramentas de visualização de
software • Universal Code Lines Counter
• Thinking Craftsman’s Tool Kit
![Page 28: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/28.jpg)
Testes Caixa Branca - Unitários
• Criação de pequenos métodos de teste para cada função da classe
• Ferramentas
▫ JUnit
▫ NUnit
▫ Cucumber
![Page 29: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/29.jpg)
JUnit
![Page 30: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/30.jpg)
NUnit
![Page 31: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/31.jpg)
Cucumber
• Linguagem Gherkin
![Page 32: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/32.jpg)
Testes Funcionais
(Caixa Preta)
![Page 33: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/33.jpg)
Testes Funcionais – Caixa Preta
• Analisa a interface e suporte funcional do software: ▫ Forma de apresentação do software: tela,
terminal, componentes COTs, e-mail, etc. ▫ Forma de armazenamento dos dados: base de
dados, planilhas, arquivos, etc. ▫ Operação sobre ambiente do cliente; ▫ Interface de comunicação com outros sistemas ou
módulos híbridos.
• Ator: Tester
![Page 34: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/34.jpg)
Testes Funcionais – Caixa Preta
• Objetivo:
▫ Exercitar todos os requisitos funcionais do sistema
• Métodos
▫ Partições de Equivalência
▫ Análise do Valor Limite
▫ Tabela de Decisão
▫ Transição de Estados
▫ Teste de Caso de Uso
![Page 35: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/35.jpg)
Testes Funcionais – Caixa Preta
• Testes Baseados em Especificações
▫ Teste de Roteiro
Quando existe um script pré-definido a ser seguido (caso de teste)
• Testes Baseados na Experiência
▫ Teste Exploratório
Quando não existe documentação a ser seguida. Depende do conhecimento técnico do ator
![Page 36: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/36.jpg)
Testes Funcionais – Partições de
Equivalência • Os casos de teste são preparados conforme
classificação dos dados de entrada
![Page 37: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/37.jpg)
Testes Funcionais – Partições de
Equivalência • Um bolo possui 6 camadas e 1 sabor por
camada: limão, baunilha, maracujá, morango, nozes e chocolates. Quantas classes podem ser extraídas? ▫ 6 classes, 1 por sabor
• Sabendo que cada camada possui 20 cm de altura,
quais valores válidos e inválidos são necessários para testar todas as condições de teste do bolo?
▫ Limão: 0 a 20 cm ▫ Baunilha: 20 a 40 cm ▫ Maracujá: 40 a 60 cm ▫ Morango: 60 a 80 cm ▫ Nozes: 80 a 100 cm ▫ Chocolate: 100 a 120 cm
Válidos Inválidos
10 -10, 30
30 15, 50
50 35, 70
70 50, 90
90 70, 110
110 90, 130
![Page 38: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/38.jpg)
Testes Funcionais – Análise do Valor
Limite • Os casos de teste são preparados conforme
fronteiras das classes de equivalência, para os dados de entrada e saída do sistema
▫ Classe Válida
Extremidades mínima e máxima de um intervalo
▫ Classe Inválida
Valores fora do intervalo
![Page 39: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/39.jpg)
Testes Funcionais – Análise do Valor
Limite
• Sabendo que cada camada possui 20 cm de altura, quais valores medem os limites das classes?
▫ Limão: 0 a 20 cm
▫ Baunilha: 20 a 40 cm
▫ Maracujá: 40 a 60 cm
▫ Morango: 60 a 80 cm
▫ Nozes: 80 a 100 cm
▫ Chocolate: 100 a 120 cm
Válidos Inválidos
0, 20 -1, 21
20, 40 19, 41
40, 60 39, 61
60, 80 59, 81
80, 100 79, 101
100, 120 99, 119
![Page 40: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/40.jpg)
Testes Funcionais – Tabela de Decisão • Avalia causa e efeito. As condições são
consideradas falsa e verdadeira
• Traça as combinações entre as regras de negócio do sistema e suas possibilidades de operação
![Page 41: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/41.jpg)
Testes Funcionais – Transição de Estado • Avalia a situação do sistema após a troca de
estado de uma variável do sistema.
• Traça a combinação entre as regras de negócio do sistema e suas possibilidades de estado
![Page 42: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/42.jpg)
Testes Funcionais – Teste de Caso de
uso • A preparação dos casos de teste é baseada nas
regras de negócio do sistema.
• São criados casos positivos e negativos para cobrir cada situação prevista.
![Page 43: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/43.jpg)
Ferramentas – Caixa Preta
• Gerência de teste
▫ TestLink, HP Quality, etc.
• Cadastro de ocorrências
▫ RedMine, Mantis, Bugzilla, etc.
• Geração de Evidências
▫ Texto, Imagem e Vídeo.
• Testes Automatizados
▫ Selenium IDE, Selenium WebDriver, TestComplete, etc.
![Page 44: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/44.jpg)
Ferramentas – Gerência de Teste • TestLink
![Page 45: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/45.jpg)
Ferramentas – Gerência de Teste • HP Quality Center
![Page 46: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/46.jpg)
Ferramentas – Cadastro de Ocorrências
• RedMine
![Page 47: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/47.jpg)
Ferramentas – Cadastro de Ocorrências • Mantis
![Page 48: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/48.jpg)
Ferramentas – Geração de Evidência
• Texto ▫ Notepad, Gedit, Ferramentas COTS: Pacotes
Office ou BrOffice
• Imagem ▫ PrintScreen, Captura automática, Ferramentas de
edição de imagem: Paint, Gimp, Plugins dos browsers, etc.
• Vídeo ▫ Captura automática do Windows, Plugins dos
browsers e outras ferramentas de captura.
![Page 49: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/49.jpg)
• Vídeo
• Plugins dos browsers
![Page 50: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/50.jpg)
Ferramentas - Testes Automatizados
• Os testes manuais devem ser automatizados quando for executado diversas vezes em diferentes versões do software
• Os principais casos de teste a ser automatizados são aqueles que passam por regressão
![Page 51: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/51.jpg)
Ferramentas - Testes Automatizados • Selenium IDE
![Page 52: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/52.jpg)
Selenium WebDriver
![Page 53: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/53.jpg)
TestComplete
![Page 54: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/54.jpg)
Testes Não Funcionais
![Page 55: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/55.jpg)
Testes Não Funcionais
• Analisa os aspectos que não estão diretamente baseados nas regras de negócio do software (funcionalidades);
• Avalia as medidas quantitativas do software:
▫ Verifica:
Operacionalidade do sistema (consumo recursos do computador, cliente, servidor, serviço embarcado, etc.)
Acessibilidade
Performance
Usabilidade
Confiabilidade, Recuperação, Portabilidade, etc.
• Ator: Tester e técnico em infraestrutura
![Page 56: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/56.jpg)
Testes Não Funcionais
• Objetivo: ▫ Garantir operação do sistema sob condições não
ligadas às funcionalidades da aplicação
• Métodos ▫ Baseado no tipo do teste a ser realizado. ▫ Teste de Carga Conforme base de dados
▫ Teste de Stress Conforme arquitetura e tipo do sistema: desktop, etc.
▫ Teste de Acessibilidade Conforme interface do sistema
![Page 57: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/57.jpg)
Ferramentas – Testes não Funcionais
• Consumo dos recursos
▫ Gerenciador de tarefas do Windows e do Linux, QuickPerformance, etc.
• Performance, Stress e Carga
▫ Jmeter, HP Load Runner, etc.
• Usabilidade
▫ Ethnio Status, UseMonitor, etc.
• Acessibilidade
▫ ASES, etc.
![Page 58: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/58.jpg)
Ferramentas – Consumo de recursos
• QuickPerformance
![Page 59: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/59.jpg)
Ferramentas - Performance • JMeter
![Page 60: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/60.jpg)
Ferramentas - Performance • HP Load Runner
![Page 61: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/61.jpg)
Ferramentas - Usabilidade
• Ethnio Status
![Page 62: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/62.jpg)
Ferramentas - Usabilidade
• UseMonitor
![Page 63: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/63.jpg)
Ferramentas - Acessibilidade • ASES
![Page 64: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/64.jpg)
Testes Baseados em Erros
![Page 65: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/65.jpg)
Testes Baseados em Erros
• Inclui defeitos propositalmente no software para testar seu comportamento;
• Necessita das versões: Original (sem defeitos) e Alterada (com defeitos)
• Ator: Tester e analista de sistemas
![Page 66: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/66.jpg)
Testes Baseados em Erros
• Objetivo:
▫ Fornecem indicadores para gerenciar o processo de teste (porcentagem de erros remanescentes, qualidade dos casos de testes)
• Métodos
▫ Semeadura de Erros
▫ Análise de Mutantes
![Page 67: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/67.jpg)
Semeadura de Erros – Como Fazer • Passo 1:
▫ Erros artificiais são introduzidos no programa;
• Passo 2: ▫ Cria-se um caso de uso para identificar falhas
naturais e artificiais
• Passo 3: ▫ Baseados na proporção erros naturais/artificiais
pode-se estimar a quantidade de erros remanescentes para o conjunto de casos de teste definidos para o programa.
Desta forma pode-se comparar a estimativa de erros remanescentes com a confiabilidade esperada (especificada) para o software.
![Page 68: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/68.jpg)
Semeadura de Erros – Análise de
Mutantes • Visa avaliar quão adequado um conjunto de testes é
para testar uma funcionalidade.
• Passos ▫ 1 - Gera-se casos de teste (T) para um programa (P); ▫ 2 - Verifica-se se ele funciona corretamente; ▫ 3 - Verifica-se o funcionamento do mutante (M) para
os casos de teste (T): Caso a verificação de M apresentar resultados diferentes
da verificação de P o mutante é “morto” Caso contrário, M continua “vivo” e deve ser analisado;
▫ 4 - Análise dos mutantes vivos: O mutante M é equivalente ao programa original P O caso de teste é insuficiente para diferenciar M de P e
novos casos de teste devem ser definidos
![Page 69: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/69.jpg)
Testes Baseados em Erros – SQL
Injection
![Page 70: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/70.jpg)
Referências
• Livro - Engenharia de Software, Roger Pressman
• Livro – Base de Conhecimento em Teste de Software - Certificação CBTS / ALATS – Anderson Bastos, Emerson Rios, et. al.
• Artigos – Rex Black
• Syllabus – CTFL / ISTQB
• Comunidade de Testes – Site Elias Nogueira
• Slides da Qualidade BR – Fabrício de Campos
![Page 71: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/71.jpg)
Dúvidas???
![Page 72: Estratégias e Técnicas de Testes - Parte 2](https://reader033.vdocuments.pub/reader033/viewer/2022051414/55ac36a81a28ab9b348b45a9/html5/thumbnails/72.jpg)
Obrigada!