SlideShare uma empresa Scribd logo
Fabrício Ferrari de Campos
Baseadas em Estrutura
Teste e Cobertura de Comandos
Teste e Cobertura de Decisão
Outras técnicas baseadas na estrutura
O que e cobertura de
           teste
Cobertura de teste é uma medida, referente
ao número de itens (código) testados, pelo
total de itens, multiplicado por 100%.
               número de itens
                                   x 100%
                 exercitados
Cobertura =
                 total de itens
Teste e Cobertura de
        Comandos
Definir casos de teste que executem todos
os comandos pelo menos uma vez (passa por
todos os nodos do grafo)
Métrica: número de nodos cobertos
Fácil de satisfazer
Não garante qualidade do código
Teste e Cobertura de
        Comandos
Cobertura de comando é medida, de acordo
com o número de comandos exercitados
divididos pelo total de comandos,
multiplicado por 100%.
               número de comandos
                                  x 100%
                     exercitados
 Cobertura
            =
de comando
                total de comandos
Teste e Cobertura de
         Comandos                           2   1


1.a = Integer.parseInt(args[0]);
                                            3
2.b = Integer.parseInt(args[1]);
3.while(a < 0){                             4
4. if (b < 0){
5.      b = b + 2; Um teste é o                 5
6. }
                     suficiente             7
7. a = a + 1;
                     a  b     C         9
8.}                       (resultado)

                    -1 -1     1
9.c = a + b;
Teste e Cobertura de
         Comandos
Questão simulado (CTFL-BSTQB)
Se você estiver voando com um bilhete da classe
econômica, há uma possibilidade de você conseguir
mudar para a classe executiva. Principalmente se
você tiver um cartão fidelidade da companhia aérea.
Se você não tiver o cartão fidelidade (CF), há a
possibilidade de você ser quot;despejadoquot; do vôo se ele
estiver lotado e você chegar atrasado.
Teste e Cobertura de
      Comandos
             n                             s                       s
  cartão                     econômica               executiva
fidelidade                     lotada                 lotada

 s                            n                  n
             s
executiva                    econômica
 lotada

 n               econômica

                                                                 despejado
                                         mudar
 mudar
                                                                  do vôo


embarcar
Teste e Cobertura de
          Comandos
Questão simulado (CTFL-BSTQB)
Três testes foram executados:
Teste 1: O passageiro tem o CF e mudou para a classe executiva
Teste 2: O passageiro não tem o CF e permaneceu na classe
econômica
Teste 3: O passageiro foi quot;despejadoquot; do vôo
Qual é a cobertura de comando obtida com esses três testes?

a) 60%
b) 70%
c) 80%
d) 90%
Teste e Cobertura de
         Comandos
Resposta correta
Alternativa: c) 80%

Os três testes apresentados cobrem 8 comandos
de 10, ou seja, 80% dos comandos. Os testes não
cobrem o comando 3 e o 9.
Teste e Cobertura de
               ~
          Decisao
Uma decisão é um IF, um loop (ex. do-while
ou repeat-until), ou um CASE, no qual
existem duas ou mais possibilidades de
saídas ou resultados a partir de um comando
               número de decisões
                                     x 100%
                    exercitados
 Cobertura
            =
de decisão      total de decisões
Teste e Cobertura de
               ~
          Decisao
Teste de decisão é uma forma de teste de
controle de fluxo, já que ele gera um fluxo
específico através dos pontos de decisões
A cobertura de decisão é mais eficiente que
a cobertura de comandos: 100% da cobertura
de decisão garante 100% da cobertura de
comandos, mas não vice-versa
Teste e Cobertura de
               ~
          Decisao
Os testes devem cobrir cada saída possível
de um nodo que tenha uma condição
Métrica: número de arestas cobertas
Teste de decisão derivam-se dos casos de
testes para executar decisões específicas,
normalmente para se aumentar a cobertura
Teste e Cobertura de
                 ~
            Decisao                           2   1


1.a = Integer.parseInt(args[0]);
                                              3
2.b = Integer.parseInt(args[1]);
3.while(a < 0){ três testes são               4
4. if (b < 0){
                    necessários
5.      b = b + 2;    ab        C                 5
                            (resultado)
6. }
                     -1 -1      1             7
7. a = a + 1;
                     00         0         9
8.}
                     -1 0       0
9.c = a + b;
Teste e Cobertura de
                  ~
             Decisao
Questão simulado (CTFL-BSTQB)
Tendo como base o pseudocódigo abaixo, quantos testes são
necessários para atingir 100% da cobertura de desvio/decisão?
                                         a)   1
1. If x = 3 then
                                         b)   2
2.       Display_messageX;
                                         c)   3
3.       If y = 2 then
                                         d)   4
4.               Display_messageY;
5.       else
6.               Display_messageZ;
7. else
8.       Display_messageZ;
Teste e Cobertura de
                   ~
              Decisao
Resposta correta
Alternativa: c) 3
Criando três testes conseguimos cobrir 100% das decisões
do pseudocódigo, por exemplo:
   x      y

   3      2

   0      0

   3      0
Outras tecnicas baseadas
     na estrutura
Cobertura de desvio
LCSAJ (Linear Code Sequence and Jump -
Seqüência de Código Linear e Salto)
Cobertura de Caminho
Cobertura de desvio
Está estreitamente relacionada com a
cobertura de decisão, tanto que 100% de
cobertura de desvio, equivale a 100% de
cobertura de decisão
Cobertura de decisão medi a cobertura dos
desvios condicionais, já a cobertura de desvio
medi a cobertura de desvios condicionais e
não condicionais
LCSAJ
Inclui a cobertura de código linear e salto,
cobertura de decisão, cobertura de condições
e cobertura de múltiplas condições
Essa técnica requer a cobertura de todas as
condições que podem afetar ou determinar o
resultado de uma condição
Cobertura de Caminho
Especifica dos caminhos possíveis de um
software, quantos são cobertos na execução
de um teste
Porcentagem de caminhos exercitada por
uma suite de teste. 100% de cobertura de
caminho implicam em 100% de cobertura
LCSAJ
^
  Baseadas na experiencia
Suposição de erro
Teste exploratório
~
       Suposicao de erro
Deve ser usada sempre como um
complemento à outras técnicas mais formais
Não há regras para a suposição de erro
Quando usado para aumentar a técnica
sistemática, testes intuitivos podem ser úteis
para identificar testes específicos que não são
facilmente identificados pelas técnicas formais
Depende muito da habilidade e experiência
do testador
Teste exploratorio
Ocorre simultaneamente à modelagem,
execução e registro de teste, e baseia-se nos
objetivos de teste, onde é realizado em um
tempo predefinido
É uma abordagem muito usual, em locais
onde a especificação é rara ou inadequada e
existe grande pressão por conta de prazo, ou
para aprimorar/complementar um teste mais
formal
Teste exploratorio
Pode servir como uma checagem do
processo de teste, assegurando que os
defeitos mais importantes sejam encontrados
O aspecto principal é a aprendizagem:
sobre o software, seu uso, seu pontos fortes
e fracos
Também pode servir de complemento para
outras técnicas formais
 BSTQB. Base de Conhecimento para Certificação em Teste -
Foundation Level Syllabus. 2007br.
 BSTQB. Glossário Padrão de Termos Utilizados em Teste de
Software. Versão 1.3br
 D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of
Software Testing: ISTQB Certification. Cengage Learning Business
Press, 2006.
www.inf.pucrs.br/~copstein/CursoTeste/Dia3/Dia3_TesteFunciona
lTesteEstrutural.ppt (Professor Dr. Bernardo Copstein)

Mais conteúdo relacionado

Mais procurados

Agile testing
Agile testing Agile testing
Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-Preta
Lucas Amaral
 
Carreira de QA
Carreira de QA Carreira de QA
CTFL - BSTQB
CTFL - BSTQBCTFL - BSTQB
CTFL - BSTQB
Fabrício Campos
 
Istqb question-paper-dump-1
Istqb question-paper-dump-1Istqb question-paper-dump-1
Istqb question-paper-dump-1
TestingGeeks
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testing
Oana Feidi
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
Camilo Ribeiro
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
nstprabakaran
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
Fernando Palma
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
Taís Dall'Oca
 
Chapter 2 - Preparing for Test Automation
Chapter 2 - Preparing for Test AutomationChapter 2 - Preparing for Test Automation
Chapter 2 - Preparing for Test Automation
Neeraj Kumar Singh
 
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
Samanta Cicilia
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Adriano Teixeira de Souza
 
Teste baseado em modelos
Teste baseado em modelosTeste baseado em modelos
Teste baseado em modelos
Andreza Pollyana
 
Software testing course - Manual
Software testing course - ManualSoftware testing course - Manual
Software testing course - Manual
Pankaj Dubey
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
Chandukar
 
Chapter 4 - Deployment & Delivery
Chapter 4 - Deployment & DeliveryChapter 4 - Deployment & Delivery
Chapter 4 - Deployment & Delivery
Neeraj Kumar Singh
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Sergey Podolsky
 
TMMi Implementation Guideline
TMMi Implementation GuidelineTMMi Implementation Guideline
TMMi Implementation Guideline
STAG Software Private Limited
 
O papel do qa (testador) em um time ágil
O papel do qa (testador) em um time ágilO papel do qa (testador) em um time ágil
O papel do qa (testador) em um time ágil
Mariana Elisa Moisés , CTFL-AT,MBA
 

Mais procurados (20)

Agile testing
Agile testing Agile testing
Agile testing
 
Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-Preta
 
Carreira de QA
Carreira de QA Carreira de QA
Carreira de QA
 
CTFL - BSTQB
CTFL - BSTQBCTFL - BSTQB
CTFL - BSTQB
 
Istqb question-paper-dump-1
Istqb question-paper-dump-1Istqb question-paper-dump-1
Istqb question-paper-dump-1
 
Whitebox testing
Whitebox testingWhitebox testing
Whitebox testing
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Chapter 2 - Preparing for Test Automation
Chapter 2 - Preparing for Test AutomationChapter 2 - Preparing for Test Automation
Chapter 2 - Preparing for Test Automation
 
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
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
 
Teste baseado em modelos
Teste baseado em modelosTeste baseado em modelos
Teste baseado em modelos
 
Software testing course - Manual
Software testing course - ManualSoftware testing course - Manual
Software testing course - Manual
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
 
Chapter 4 - Deployment & Delivery
Chapter 4 - Deployment & DeliveryChapter 4 - Deployment & Delivery
Chapter 4 - Deployment & Delivery
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
TMMi Implementation Guideline
TMMi Implementation GuidelineTMMi Implementation Guideline
TMMi Implementation Guideline
 
O papel do qa (testador) em um time ágil
O papel do qa (testador) em um time ágilO papel do qa (testador) em um time ágil
O papel do qa (testador) em um time ágil
 

Semelhante a Técnicas de modelagem de teste (parte 2)

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
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdf
RodolphoCesar2
 
Generalização, validação e comparação de resultados
Generalização, validação e comparação de resultadosGeneralização, validação e comparação de resultados
Generalização, validação e comparação de resultados
Luís Nunes
 
Apresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdfApresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdf
CarlosHumbertoLlanos
 
var_copulas
var_copulasvar_copulas
var_copulas
Rogerio Almeida
 
Complexidade Ciclomática
Complexidade CiclomáticaComplexidade Ciclomática
Complexidade Ciclomática
Douglas Siviotti
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADA
Rafael Costa
 
1 2 malha aberta e fechada
1 2   malha aberta e fechada1 2   malha aberta e fechada
1 2 malha aberta e fechada
Rafael Costa
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Robson Agapito Correa
 
TDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaTDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de Guarda
Douglas Siviotti
 
Exercicios de estatistica resolvido.4
Exercicios de estatistica resolvido.4Exercicios de estatistica resolvido.4
Exercicios de estatistica resolvido.4
Antonio Mankumbani Chora
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
Mirlem Pereira
 
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
Cleilson Pereira
 
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
Kleitor Franklint Correa Araujo
 
Modulo 2
Modulo 2Modulo 2
Modulo 2
Rodrigo Paes
 
Testes de Software - Módulo 2
Testes de Software - Módulo 2Testes de Software - Módulo 2
Testes de Software - Módulo 2
Rodrigo Paes
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
osmarcf
 
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
Lorena Caldas
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
profwtelles
 
Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)
Joao Galdino Mello de Souza
 

Semelhante a Técnicas de modelagem de teste (parte 2) (20)

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-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdf
 
Generalização, validação e comparação de resultados
Generalização, validação e comparação de resultadosGeneralização, validação e comparação de resultados
Generalização, validação e comparação de resultados
 
Apresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdfApresentacao-Llanos-8.pdf
Apresentacao-Llanos-8.pdf
 
var_copulas
var_copulasvar_copulas
var_copulas
 
Complexidade Ciclomática
Complexidade CiclomáticaComplexidade Ciclomática
Complexidade Ciclomática
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADA
 
1 2 malha aberta e fechada
1 2   malha aberta e fechada1 2   malha aberta e fechada
1 2 malha aberta e fechada
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
TDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaTDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de Guarda
 
Exercicios de estatistica resolvido.4
Exercicios de estatistica resolvido.4Exercicios de estatistica resolvido.4
Exercicios de estatistica resolvido.4
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Ap algoritmosglauco
Ap algoritmosglaucoAp algoritmosglauco
Ap algoritmosglauco
 
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
 
Modulo 2
Modulo 2Modulo 2
Modulo 2
 
Testes de Software - Módulo 2
Testes de Software - Módulo 2Testes de Software - Módulo 2
Testes de Software - Módulo 2
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
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
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)Modelagem Analítica – Queueing Theory (Part I)
Modelagem Analítica – Queueing Theory (Part I)
 

Mais de Fabrício Campos

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomates
Fabrício Campos
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
Fabrício Campos
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
Fabrício Campos
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)
Fabrício Campos
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de Software
Fabrício Campos
 
Por que testar?
Por que testar?Por que testar?
Por que testar?
Fabrício Campos
 

Mais de Fabrício Campos (6)

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomates
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de Software
 
Por que testar?
Por que testar?Por que testar?
Por que testar?
 

Último

Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Annelise Gripp
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
anpproferick
 
Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
Ian Oliveira
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
Rafael Santos
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
tnrlucas
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
anpproferick
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
EliakimArajo2
 

Último (7)

Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
 
Por que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdfPor que escolhi o Flutter - Campus Party Piauí.pdf
Por que escolhi o Flutter - Campus Party Piauí.pdf
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
 
Orientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço BrasilOrientações para utilizar Drone no espaço Brasil
Orientações para utilizar Drone no espaço Brasil
 

Técnicas de modelagem de teste (parte 2)

  • 2. Baseadas em Estrutura Teste e Cobertura de Comandos Teste e Cobertura de Decisão Outras técnicas baseadas na estrutura
  • 3. O que e cobertura de teste Cobertura de teste é uma medida, referente ao número de itens (código) testados, pelo total de itens, multiplicado por 100%. número de itens x 100% exercitados Cobertura = total de itens
  • 4. Teste e Cobertura de Comandos Definir casos de teste que executem todos os comandos pelo menos uma vez (passa por todos os nodos do grafo) Métrica: número de nodos cobertos Fácil de satisfazer Não garante qualidade do código
  • 5. Teste e Cobertura de Comandos Cobertura de comando é medida, de acordo com o número de comandos exercitados divididos pelo total de comandos, multiplicado por 100%. número de comandos x 100% exercitados Cobertura = de comando total de comandos
  • 6. Teste e Cobertura de Comandos 2 1 1.a = Integer.parseInt(args[0]); 3 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ 4 4. if (b < 0){ 5. b = b + 2; Um teste é o 5 6. } suficiente 7 7. a = a + 1; a b C 9 8.} (resultado) -1 -1 1 9.c = a + b;
  • 7. Teste e Cobertura de Comandos Questão simulado (CTFL-BSTQB) Se você estiver voando com um bilhete da classe econômica, há uma possibilidade de você conseguir mudar para a classe executiva. Principalmente se você tiver um cartão fidelidade da companhia aérea. Se você não tiver o cartão fidelidade (CF), há a possibilidade de você ser quot;despejadoquot; do vôo se ele estiver lotado e você chegar atrasado.
  • 8. Teste e Cobertura de Comandos n s s cartão econômica executiva fidelidade lotada lotada s n n s executiva econômica lotada n econômica despejado mudar mudar do vôo embarcar
  • 9. Teste e Cobertura de Comandos Questão simulado (CTFL-BSTQB) Três testes foram executados: Teste 1: O passageiro tem o CF e mudou para a classe executiva Teste 2: O passageiro não tem o CF e permaneceu na classe econômica Teste 3: O passageiro foi quot;despejadoquot; do vôo Qual é a cobertura de comando obtida com esses três testes? a) 60% b) 70% c) 80% d) 90%
  • 10. Teste e Cobertura de Comandos Resposta correta Alternativa: c) 80% Os três testes apresentados cobrem 8 comandos de 10, ou seja, 80% dos comandos. Os testes não cobrem o comando 3 e o 9.
  • 11. Teste e Cobertura de ~ Decisao Uma decisão é um IF, um loop (ex. do-while ou repeat-until), ou um CASE, no qual existem duas ou mais possibilidades de saídas ou resultados a partir de um comando número de decisões x 100% exercitados Cobertura = de decisão total de decisões
  • 12. Teste e Cobertura de ~ Decisao Teste de decisão é uma forma de teste de controle de fluxo, já que ele gera um fluxo específico através dos pontos de decisões A cobertura de decisão é mais eficiente que a cobertura de comandos: 100% da cobertura de decisão garante 100% da cobertura de comandos, mas não vice-versa
  • 13. Teste e Cobertura de ~ Decisao Os testes devem cobrir cada saída possível de um nodo que tenha uma condição Métrica: número de arestas cobertas Teste de decisão derivam-se dos casos de testes para executar decisões específicas, normalmente para se aumentar a cobertura
  • 14. Teste e Cobertura de ~ Decisao 2 1 1.a = Integer.parseInt(args[0]); 3 2.b = Integer.parseInt(args[1]); 3.while(a < 0){ três testes são 4 4. if (b < 0){ necessários 5. b = b + 2; ab C 5 (resultado) 6. } -1 -1 1 7 7. a = a + 1; 00 0 9 8.} -1 0 0 9.c = a + b;
  • 15. Teste e Cobertura de ~ Decisao Questão simulado (CTFL-BSTQB) Tendo como base o pseudocódigo abaixo, quantos testes são necessários para atingir 100% da cobertura de desvio/decisão? a) 1 1. If x = 3 then b) 2 2. Display_messageX; c) 3 3. If y = 2 then d) 4 4. Display_messageY; 5. else 6. Display_messageZ; 7. else 8. Display_messageZ;
  • 16. Teste e Cobertura de ~ Decisao Resposta correta Alternativa: c) 3 Criando três testes conseguimos cobrir 100% das decisões do pseudocódigo, por exemplo: x y 3 2 0 0 3 0
  • 17. Outras tecnicas baseadas na estrutura Cobertura de desvio LCSAJ (Linear Code Sequence and Jump - Seqüência de Código Linear e Salto) Cobertura de Caminho
  • 18. Cobertura de desvio Está estreitamente relacionada com a cobertura de decisão, tanto que 100% de cobertura de desvio, equivale a 100% de cobertura de decisão Cobertura de decisão medi a cobertura dos desvios condicionais, já a cobertura de desvio medi a cobertura de desvios condicionais e não condicionais
  • 19. LCSAJ Inclui a cobertura de código linear e salto, cobertura de decisão, cobertura de condições e cobertura de múltiplas condições Essa técnica requer a cobertura de todas as condições que podem afetar ou determinar o resultado de uma condição
  • 20. Cobertura de Caminho Especifica dos caminhos possíveis de um software, quantos são cobertos na execução de um teste Porcentagem de caminhos exercitada por uma suite de teste. 100% de cobertura de caminho implicam em 100% de cobertura LCSAJ
  • 21. ^ Baseadas na experiencia Suposição de erro Teste exploratório
  • 22. ~ Suposicao de erro Deve ser usada sempre como um complemento à outras técnicas mais formais Não há regras para a suposição de erro Quando usado para aumentar a técnica sistemática, testes intuitivos podem ser úteis para identificar testes específicos que não são facilmente identificados pelas técnicas formais Depende muito da habilidade e experiência do testador
  • 23. Teste exploratorio Ocorre simultaneamente à modelagem, execução e registro de teste, e baseia-se nos objetivos de teste, onde é realizado em um tempo predefinido É uma abordagem muito usual, em locais onde a especificação é rara ou inadequada e existe grande pressão por conta de prazo, ou para aprimorar/complementar um teste mais formal
  • 24. Teste exploratorio Pode servir como uma checagem do processo de teste, assegurando que os defeitos mais importantes sejam encontrados O aspecto principal é a aprendizagem: sobre o software, seu uso, seu pontos fortes e fracos Também pode servir de complemento para outras técnicas formais
  • 25.
  • 26.  BSTQB. Base de Conhecimento para Certificação em Teste - Foundation Level Syllabus. 2007br.  BSTQB. Glossário Padrão de Termos Utilizados em Teste de Software. Versão 1.3br  D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006. www.inf.pucrs.br/~copstein/CursoTeste/Dia3/Dia3_TesteFunciona lTesteEstrutural.ppt (Professor Dr. Bernardo Copstein)