SlideShare uma empresa Scribd logo
Revisão
Questão 1
Questão 2
Questão 3
Questão 4
Questão 5
Questão 6
Questão 7
Questão 8
Questão 9
Questão 10
Continuação...
Teste de Software
Condição de teste
É um item ou evento de um componente ou
sistema que pode ser verificado por um ou mais
casos de teste.
– Exemplo:
• Funções
• Transações
• Características
• Atributos de qualidade
Casos de teste
É a definição de um conjunto de entrada de
dados (inputs), condições de execução e
resultados esperados com a finalidade de avaliar
os requisitos especificados do sistema.
Casos de teste
Detalhar o passo a passo da execução do teste.
Um bom CT apresenta uma elevada
probabilidade de revelar um erro ainda não
descoberto.
Estrutura de CT
Tipos de Resultados Esperados
Critérios de qualidade de CT
• Para atender aos requisitos de qualidade, um
caso de teste deve ser:
– Efetivo: Testar o que se planejou testar
– Econômico: Sem passos desnecessário
– Repetível: Fácil repetição (para reprodução do teste)
– Rastreável: Caso acontece mudança no requisito,
possamos saber quais os casos de teste a re-executa.
– Autoexplicativo: Testado por qualquer analista de
teste.
Teste Caixa Preta
Teste Caixa Preta
Teste Caixa Preta
Técnicas de Modelagem de Teste
Técnica de Modelagem de Teste
Partição de Equivalência;
Análise de Valor Limite;
Tabela de Decisão;
Transição de Estado;
Teste de Caso de Uso.
Vantagens
• As técnicas de teste de software existem para
melhorar a nossa seleção de testes.
• Para classificar e agrupar possibilidades de
teste que otimizem o nosso processo, sem que
tenhamos a sensação de estar deixando
buracos imensos sem cobertura de testes nos
sistemas.
• Exemplo:
– Empregar pessoas
• 0 – 16 Não empregar.
• 16 – 18 Pode ser empregado tempo parcial.
• 18 – 55 Pode ser empregado tempo integral.
• 55 – 99 Não empregar.
• Como deveriam ser derivados casos de teste
para o exemplo acima?
O módulo deveria ser testado considerando as
idades: 0, 1, 2, 3, 4, 5, 6, 7, 8, ..., 90, 91, 92, 93, 94,
95, 96, 97, 98, 99?
Partição de Equivalência
Partição de Equivalência
Objetivo:
Minimizar o número de casos de teste,
selecionando apenas um caso de teste de cada
classe, pois em princípio todos os elementos de
uma classe devem se comportar de maneira
equivalente.
Partição de Equivalência
Comportamento do programa de forma
equivalente.
– Exemplo: Sistema que aceita letra ou números.
Exemplo
Partição de Equivalência
• Exemplo:
– Considere as seguintes regras para uma aplicação
de financiamento de imóveis:
• Para imóveis construídos até 1990 – Não é possível financiar;
• Para imóveis construídos entre 1990 e 2000 – Financiamento
de 50% do valor;
• Para imóveis construídos no ano de 2000 em diante –
Financiamento do valor total.
Exemplo
• Temos 3 partições possíveis:
• ano < 1990 (Não é possível financiar)
• 1990 >= ano < 2000 (Financiamento de 50% do valor)
• ano >= 2000 (Financiamento do valor total)
• 0 ou 20,3 - inválidos
Análise de Valor Limite
Análise de Valor Limite
Análise de Valor Limite
• É uma técnica de teste de software utilizada
para exercitar os limites do domínio de
entrada.
• Complemento da Partição Equivalência,
focalizando a seleção de Casos de Teste nas
bordas da classe, ou seja, nos valores
próximos às extremidades das classes.
Análise de Valor Limite
• Exemplo:
– Os valores de entrada são meses do ano expressos
como inteiros, o parâmetro de entrada 'mês' deve
ter as seguintes partições:
Exemplo
Exemplo
• (CTFL - BSTQB) Um campo de entrada
referente a data de nascimento aceita valores
de 1860 até 2860. Utilizando a análise de valor
limite o teste usaria quais valores.
a) 0, 1860, 2860, 3000
b) 1860, 2860
c) 1859, 1900, 1861, 2859, 2860, 2861
d) 1859, 1860, 2860, 2861
Tabela de Decisão
• É uma maneira de expressar, em forma de
tabela, qual o conjunto de condições que é
necessário ocorrer para que um determinado
conjunto de ações deva ser executado.
• O ponto principal de uma tabela de decisão é
a regra de decisão, que define o conjunto de
ações a ser tomado, a partir de um conjunto
de condições.
Tabela de Decisão
• Composta de:
– Uma área de condições, onde são relacionadas as
condições que devem ser verificadas para que seja
executado um conjunto de ações;
– Uma área de ações, que exibe o conjunto de ações
que deve ser executado caso um determinado
conjunto de condições ocorra;
– Regras de decisão, representadas pelas colunas,
que apresentam a combinação das condições com
as ações a serem executadas.
Tabela de Decisão
• Exemplo:
– área de condições;
– área de ações;
– Regras de decisão.
Tabela de Decisão
Para que seja definida a quantidade de regras da
tabela, basta que multipliquemos a quantidade
de respostas possíveis de cada condição.
Exemplo:
• Condição 1 sim/não: = 2
• Condição 2 sim/não: = 2
• Condição 3 Sim/não: = 2
– Quantidade de Regras: = 2 x 2 x 2 = 8
Possíveis Valores
Possíveis Valores
Qual a quantidade de regras da tabela?
Grafo
É uma estruturas G(V,A), onde V é um conjunto
não vazio de objetos denominados vértices e A é
um conjunto de pares não ordenados de V,
chamado arestas.
Transição de Estado
Teste de Transição de Estado
• Utilizado quando o sistema tem um número
(finito) de estados diferentes e as transações
de um estado para outro são determinadas
por regras de “máquina”.
Exemplo
Caso de Uso
Caso de uso: Sacar Dinheiro
Atividade
1. Utilizando a técnica de partição de equivalência
descreva os teste a serem realizados nesta
situação:
Considere as seguintes regras para uma aplicação de
financiamento de imóveis:
– Para imóveis construídos até 1990 – Não é possível
financiar;
– Para imóveis construídos entre 1990 e 2000 –
Financiamento de 50% do valor;
– Para imóveis construídos no ano de 2000 em diante –
Financiamento do valor total;
Atividade
2. Utilizando a técnica de Análise de valor limite
descreva os teste a serem realizados nesta
situação.
Regras para uma aplicação de financiamento de
imóveis:
Resposta
1. Utilizando a técnica de partição de equivalência, descreva os testes a serem
realizados nesta situação:
Considere as seguintes regras para uma aplicação de financiamento de imóveis:
– Para imóveis construídos até 1990 – Não é possível financiar;
– Para imóveis construídos entre 1990 e 2000 – Financiamento de 50% do valor;
– Para imóveis construídos no ano de 2000 em diante – Financiamento do valor total;
Temos 3 partições possíveis:
N<1990 - Não é possível financiar;
1990>N<2000 - Financiamento de 50% do valor;
N>=2000 - Financiamento do valor total.
Atividade
2. Utilizando a técnica de Análise de Valor Limite, descreva os testes a serem
realizados nesta situação.
Testar o campo “Tamanho” da fonte do Word. Este aplicativo aceita apenas
tamanhos entre 1 e 1638.
0 1 .... 1638 1639
Teste de Caixa Branca ou Teste
Estrutural
Teste Caixa Branca
Teste de Caixa Branca
• São úteis para completar testes caixa preta;
• Completar conjunto de testes para que no
mínimo todas as instruções sejam cobertas;
• Permitem detectar código inútil;
• Oferecem dificuldade para determinação dos
dados que exercitem elementos requeridos pelo
critério de cobertura:
– Existência de caminhos não executáveis complexidade dos
predicados de caminhos
– Requerem ferramenta que analise cobertura dos testes
para que seja aplicado de forma eficiente
Teste Caixa Branca X Preta
Testes Baseados na Implementação
(fluxo de controle)
Teste Caixa Branca
Modelos de teste:
– Grafo de fluxo de controle;
– Grafo de fluxo de dados.
Grafo de Fluxo de Controle
É uma representação que usa notação
de grafo para descrever todos os caminhos que
podem ser executados por um programa de
computador.
Estrutura - Grafo de Fluxo de Controle
Exemplo
Critérios de Cobertura
• Objetivos:
– Geração de testes: determinação dos dados de teste;
– Avaliação final: indicação de término dos testes;
Tipos:
1. Cobertura de instruções;
2. Cobertura de decisões;
3. Cobertura de condições;
4. Cobertura de caminhos.
1. Teste de Instruções
1.Teste de Instruções
2.Teste de Decisão

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Ferramentas para testes de software
Ferramentas para testes de softwareFerramentas para testes de software
Ferramentas para testes de software
 
Modelo de documento para levantamento de requisitos de software
Modelo de documento para levantamento de requisitos de softwareModelo de documento para levantamento de requisitos de software
Modelo de documento para levantamento de requisitos de software
 
Certificacao CTFL
Certificacao CTFLCertificacao CTFL
Certificacao CTFL
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Agile testing
Agile testing Agile testing
Agile testing
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
Processo de Teste de Software - Monografia
Processo de Teste de Software - MonografiaProcesso de Teste de Software - Monografia
Processo de Teste de Software - Monografia
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 

Semelhante a Aula 3 técnicas de teste de software1

Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Java
aceiro
 

Semelhante a Aula 3 técnicas de teste de software1 (20)

Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2
 
Aula3.pdf
Aula3.pdfAula3.pdf
Aula3.pdf
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdf
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
Calibração/Validação de Modelos Econômicos em Saúde
Calibração/Validação de Modelos Econômicos em SaúdeCalibração/Validação de Modelos Econômicos em Saúde
Calibração/Validação de Modelos Econômicos em Saúde
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Java
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Controle estatístico do processo
Controle estatístico do processoControle estatístico do processo
Controle estatístico do processo
 
Introdução a tdd
Introdução a tddIntrodução a tdd
Introdução a tdd
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em Simulacao
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 
Aula18 Teste Software
Aula18 Teste SoftwareAula18 Teste Software
Aula18 Teste Software
 
Teste De Software Aula
Teste De Software AulaTeste De Software Aula
Teste De Software Aula
 

Aula 3 técnicas de teste de software1

  • 13.
  • 14. Condição de teste É um item ou evento de um componente ou sistema que pode ser verificado por um ou mais casos de teste. – Exemplo: • Funções • Transações • Características • Atributos de qualidade
  • 15.
  • 16. Casos de teste É a definição de um conjunto de entrada de dados (inputs), condições de execução e resultados esperados com a finalidade de avaliar os requisitos especificados do sistema.
  • 17. Casos de teste Detalhar o passo a passo da execução do teste. Um bom CT apresenta uma elevada probabilidade de revelar um erro ainda não descoberto.
  • 19. Tipos de Resultados Esperados
  • 20. Critérios de qualidade de CT • Para atender aos requisitos de qualidade, um caso de teste deve ser: – Efetivo: Testar o que se planejou testar – Econômico: Sem passos desnecessário – Repetível: Fácil repetição (para reprodução do teste) – Rastreável: Caso acontece mudança no requisito, possamos saber quais os casos de teste a re-executa. – Autoexplicativo: Testado por qualquer analista de teste.
  • 24.
  • 26. Técnica de Modelagem de Teste Partição de Equivalência; Análise de Valor Limite; Tabela de Decisão; Transição de Estado; Teste de Caso de Uso.
  • 27. Vantagens • As técnicas de teste de software existem para melhorar a nossa seleção de testes. • Para classificar e agrupar possibilidades de teste que otimizem o nosso processo, sem que tenhamos a sensação de estar deixando buracos imensos sem cobertura de testes nos sistemas.
  • 28. • Exemplo: – Empregar pessoas • 0 – 16 Não empregar. • 16 – 18 Pode ser empregado tempo parcial. • 18 – 55 Pode ser empregado tempo integral. • 55 – 99 Não empregar. • Como deveriam ser derivados casos de teste para o exemplo acima? O módulo deveria ser testado considerando as idades: 0, 1, 2, 3, 4, 5, 6, 7, 8, ..., 90, 91, 92, 93, 94, 95, 96, 97, 98, 99?
  • 30. Partição de Equivalência Objetivo: Minimizar o número de casos de teste, selecionando apenas um caso de teste de cada classe, pois em princípio todos os elementos de uma classe devem se comportar de maneira equivalente.
  • 31. Partição de Equivalência Comportamento do programa de forma equivalente. – Exemplo: Sistema que aceita letra ou números.
  • 32.
  • 34. Partição de Equivalência • Exemplo: – Considere as seguintes regras para uma aplicação de financiamento de imóveis: • Para imóveis construídos até 1990 – Não é possível financiar; • Para imóveis construídos entre 1990 e 2000 – Financiamento de 50% do valor; • Para imóveis construídos no ano de 2000 em diante – Financiamento do valor total.
  • 35. Exemplo • Temos 3 partições possíveis: • ano < 1990 (Não é possível financiar) • 1990 >= ano < 2000 (Financiamento de 50% do valor) • ano >= 2000 (Financiamento do valor total) • 0 ou 20,3 - inválidos
  • 38. Análise de Valor Limite • É uma técnica de teste de software utilizada para exercitar os limites do domínio de entrada. • Complemento da Partição Equivalência, focalizando a seleção de Casos de Teste nas bordas da classe, ou seja, nos valores próximos às extremidades das classes.
  • 39. Análise de Valor Limite • Exemplo: – Os valores de entrada são meses do ano expressos como inteiros, o parâmetro de entrada 'mês' deve ter as seguintes partições:
  • 41. Exemplo • (CTFL - BSTQB) Um campo de entrada referente a data de nascimento aceita valores de 1860 até 2860. Utilizando a análise de valor limite o teste usaria quais valores. a) 0, 1860, 2860, 3000 b) 1860, 2860 c) 1859, 1900, 1861, 2859, 2860, 2861 d) 1859, 1860, 2860, 2861
  • 42.
  • 43. Tabela de Decisão • É uma maneira de expressar, em forma de tabela, qual o conjunto de condições que é necessário ocorrer para que um determinado conjunto de ações deva ser executado. • O ponto principal de uma tabela de decisão é a regra de decisão, que define o conjunto de ações a ser tomado, a partir de um conjunto de condições.
  • 44. Tabela de Decisão • Composta de: – Uma área de condições, onde são relacionadas as condições que devem ser verificadas para que seja executado um conjunto de ações; – Uma área de ações, que exibe o conjunto de ações que deve ser executado caso um determinado conjunto de condições ocorra; – Regras de decisão, representadas pelas colunas, que apresentam a combinação das condições com as ações a serem executadas.
  • 45. Tabela de Decisão • Exemplo: – área de condições; – área de ações; – Regras de decisão.
  • 46. Tabela de Decisão Para que seja definida a quantidade de regras da tabela, basta que multipliquemos a quantidade de respostas possíveis de cada condição. Exemplo: • Condição 1 sim/não: = 2 • Condição 2 sim/não: = 2 • Condição 3 Sim/não: = 2 – Quantidade de Regras: = 2 x 2 x 2 = 8
  • 48. Possíveis Valores Qual a quantidade de regras da tabela?
  • 49. Grafo É uma estruturas G(V,A), onde V é um conjunto não vazio de objetos denominados vértices e A é um conjunto de pares não ordenados de V, chamado arestas.
  • 51. Teste de Transição de Estado • Utilizado quando o sistema tem um número (finito) de estados diferentes e as transações de um estado para outro são determinadas por regras de “máquina”.
  • 52.
  • 55. Caso de uso: Sacar Dinheiro
  • 56. Atividade 1. Utilizando a técnica de partição de equivalência descreva os teste a serem realizados nesta situação: Considere as seguintes regras para uma aplicação de financiamento de imóveis: – Para imóveis construídos até 1990 – Não é possível financiar; – Para imóveis construídos entre 1990 e 2000 – Financiamento de 50% do valor; – Para imóveis construídos no ano de 2000 em diante – Financiamento do valor total;
  • 57. Atividade 2. Utilizando a técnica de Análise de valor limite descreva os teste a serem realizados nesta situação. Regras para uma aplicação de financiamento de imóveis:
  • 58. Resposta 1. Utilizando a técnica de partição de equivalência, descreva os testes a serem realizados nesta situação: Considere as seguintes regras para uma aplicação de financiamento de imóveis: – Para imóveis construídos até 1990 – Não é possível financiar; – Para imóveis construídos entre 1990 e 2000 – Financiamento de 50% do valor; – Para imóveis construídos no ano de 2000 em diante – Financiamento do valor total; Temos 3 partições possíveis: N<1990 - Não é possível financiar; 1990>N<2000 - Financiamento de 50% do valor; N>=2000 - Financiamento do valor total.
  • 59. Atividade 2. Utilizando a técnica de Análise de Valor Limite, descreva os testes a serem realizados nesta situação. Testar o campo “Tamanho” da fonte do Word. Este aplicativo aceita apenas tamanhos entre 1 e 1638. 0 1 .... 1638 1639
  • 60. Teste de Caixa Branca ou Teste Estrutural
  • 62. Teste de Caixa Branca • São úteis para completar testes caixa preta; • Completar conjunto de testes para que no mínimo todas as instruções sejam cobertas; • Permitem detectar código inútil; • Oferecem dificuldade para determinação dos dados que exercitem elementos requeridos pelo critério de cobertura: – Existência de caminhos não executáveis complexidade dos predicados de caminhos – Requerem ferramenta que analise cobertura dos testes para que seja aplicado de forma eficiente
  • 64.
  • 65. Testes Baseados na Implementação (fluxo de controle)
  • 66. Teste Caixa Branca Modelos de teste: – Grafo de fluxo de controle; – Grafo de fluxo de dados.
  • 67. Grafo de Fluxo de Controle É uma representação que usa notação de grafo para descrever todos os caminhos que podem ser executados por um programa de computador.
  • 68. Estrutura - Grafo de Fluxo de Controle
  • 70. Critérios de Cobertura • Objetivos: – Geração de testes: determinação dos dados de teste; – Avaliação final: indicação de término dos testes; Tipos: 1. Cobertura de instruções; 2. Cobertura de decisões; 3. Cobertura de condições; 4. Cobertura de caminhos.
  • 71. 1. Teste de Instruções