SlideShare a Scribd company logo
1 of 39
Download to read offline
Fabrício Ferrari de Campos
~
Baseadas em Especificacao
Partição de Equivalência
Análise do Valor Limite
Tabela de Decisão
Teste de Transição de Estados
Teste de Caso de Uso
~            ^
Particao de Equivalencia
Aplicada em qualquer nível de teste
É muitas vezes uma boa técnica para ser
aplicada primeiro
Muitos testadores aplicam ela sem saber
(informalmente)
O seu uso formal pode proporcionar
melhores resultados
~            ^
Particao de Equivalencia
A idéia é divivir/particionar as entradas em
grupos que tenham um comportamento
similar, podendo ser tratados da mesma
forma
Se tiver tempo, você pode tentar mais de
um valor por partição, principalmente, se
quiser confirmar uma entrada típica do
usuário
~            ^
Particao de Equivalencia
É necessário testar apenas uma condição
de cada partição. Pois assume-se que todas
as condições em uma partição será tratada
da mesma forma pelo software
Partições válidas e inválidas são
consideradas
~            ^
Particao de Equivalencia
Passo a passo
Decompor o programa em funções
Identificar as variáveis que determinam o comportamento de cada
função
Particionar os valores de cada variável em classes de equivalência
(válidas e inválidas)
Especificar os casos de teste:
    eliminar as classes impossíveis ou os casos desinteressantes
    selecionar casos de testes cobrindo as classes válidas das
    diferentes variáveis
    para cada classe inválida escolha um caso de teste que cubra 1
    e somente 1 de cada vez
~            ^
Particao de Equivalencia
Exemplo bolo:
Vamos imaginar que esse delicioso
ao lado, tem 6 sabores: chocolate,
nozes, morango, maracujá, baunilha
e limão.
Quantos testes são necessários,
usando a técnica de partição de
equivalência?
~            ^
Particao de Equivalencia
       Temos 6 sabores diferentes, e a técnica de
       partição de equivalência, diz que precisamos
       dividir as entradas, fazendo com que cada
       divisão/partição , seja equivalente com um
       comportamento do sistema.
       Ou seja, precisamos dividir o bolo em
       pedaços de diferentes sabores. Totalizando 6
       pedaços (partições) de bolo, que equivalem
       aos 6 sabores.
~            ^
Particao de Equivalencia
Questão simulado (CTFL-BSTQB)
Um programa valida um campo numérico da seguinte maneira:

Valores inferiores ou iguais a 0 são rejeitados, valores entre 1 e 130
são aceitos, valores maiores ou iguais a 131 são rejeitados.
Qual das alternativas contém os valores de entrada que cobre todas
as partições de equivalência?

a)   -1,50,120
b)   0,1,131
c)   -131,65,130
d)   10,130,200
~            ^
Particao de Equivalencia
Resposta correta
Alternativa: b) 0,1,131
Ela é a única que cobre as três partições:
Partição inválida (abaixo do valor mínimo)
<=0
Partição válida
1 <> 130
Partição inválida (acima do valor máximo)
>=131
Analise do Valor Limite
Limites são áreas onde os testes estão mais
propensos a indicar defeitos
Os valores limites de uma partição são seu
máximo e seu mínimo
Analise do Valor Limite
Voltando ao bolo...
Agora vamos considerar que cada “camada” do bolo
tem 10cm. Desta maneira, o nosso bolo tem 60cm,
sendo composto de:
10cm de chocolate
10cm de morango
10cm de nozes
10cm de maracujá
10cm de baunilha
10cm de limão

Portanto, agora é a hora de fazer um teste mais
“guloso”...vamos lá
Analise do Valor Limite
No teste anterior...
Comemos 6 pedaços de bolo para verificar se o bolo
contém os seis sabores mesmo.
Agora...
Além de verificar se o bolo contém os seis sabores, vamos
verificar cada sabor tem exatamente 10 cm de altura.
O teste usando a técnica de análise do valor limite, irá
resultar em 24 entradas diferentes, ou seja, iremos
precisar comer 24 pedaços de bolo, nada ruim, neh...
Analise do Valor Limite
Entendo melhor
Usando a análise de valor limite são 14 pedaços de bolo, necessários
para o teste. O motivo para esse resultado é:
                             Valor limite máximo inválido (chocolate) = 11cm
                             Valor limite mínimo válido (nozes)
                             Valor limite máximo válido= 10cm
                             Valor limite mínimo válido= 1cm
                             Valor limite mínimo inválido= 0cm

Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1,
10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12
pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes
aos valores inferiores inválidos 0cm e 61cm.
Totalizando 14 pedaços. BOM APETITE!
Analise do Valor Limite
Questão simulado (CTFL-BSTQB)
Um campo de entrada (input field) referente a data de nascimento,
aceita valores de 1860 até 2860. Utilizando a análise do 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
Analise do Valor Limite
Resposta correta
Alternativa: d) 1859, 1860, 2860,2861
1859 = valor limite mínimo inválido
1860 = valor limite mínimo válido
2860 = valor limite máximo válido
2861 = valor limite máximo inválido
~
       Tabela de Decisao
Focada nas regras de negócio
É uma boa maneira de lidar com
combinações de valores de entrada
As condições de entrada e ações são
declaradas de uma forma que possam ser
entendidas, como verdadeiras ou falsas
Às vezes, é chamada de “causa e efeito”
~
       Tabela de Decisao
O grande ganho na utilização da tabela de
decisão, é que ela cria combinações de
condições que, geralmente, não foram
exercitadas durante os testes
Pode ser aplicada a todas as situações
quando a execução do software depende de
muitas decisões lógicas
~
   Tabela de Decisao

                Condições de
                  entrada

                  Ações/
                Resultados


Regra
~
        Tabela de Decisao
           Regra 1 Regra 2 Regra 3 Regra 4
Condição
                      F      V
             V                       F
 Valor>100
             V        V      F       F
quant>100
   Ações
               X
 dar brinde
                             X
dar desconto
 mensagem             X
   de erro
~
          Tabela de Decisao
Questão simulado (CTFL-BSTQB)
Qual das alternativas seria um exemplo de teste usando tabela de
decisão para uma aplicação financeira, no teste de nível de
sistema?

a) Uma tabela contendo regras para combinações de entrada para
dois campos da tela
b) Uma tabela contendo regras de interface entre componentes
c) Uma tabela contendo regras para aplicações de hipoteca
d) Uma tabela contendo regras de xadrez
~
          Tabela de Decisao
Resposta correta
Alternativa: c) Uma tabela contendo regras
para aplicações de hipoteca
Note que o nível do teste é o de sistema, no qual estamos
interessados no funcionamento do sistema como um todo, não no
funcionamento particular de cada componente, que é verificado no
teste de componente. E nem estamos interessados na interface
entre os componentes, que é verificada do teste de integração.
Logo excluímos 2 alternativas: a, b
A alternativa d nem precisamos comentar...
Resta apenas a alternativa correta a c
~
   Teste de Transicao de
          Estados
É utilizado quando algum aspecto do
sistema pode ser descrito usando uma
máquina de estados
Ou seja, o sistema pode ter um número
(finito) de estados diferentes, e as transições
de um estado para outro são determinadas
por regras de quot;máquinaquot;
~
   Teste de Transicao de
          Estados
Muito utilizada em softwares industriais
embarcados e automações técnicas em geral,
e também adequada para modelar um objeto
de negócio tendo estado específico ou para
testar fluxos de telas de diálogos
~
   Teste de Transicao de
          Estados
Os testes podem ser construídos para cobrir
uma sequência típica de estados, cobrir todos
os estados, exercitar todas as transições,
exercitar uma seqüência específica de
transições ou testar transições inválidas
~
   Teste de Transicao de
          Estados

         digita
insere
                  NOK        NOK
         senha
cartão
                                    NOK


                                   OK
                              OK
                        OK
~
  Teste de Transicao de
         Estados
                insere   senha   senha
                cartão    OK     NOK
 E1)iniciar      E2
 E2)esperar
                          E6
 E3)1º tent.                      E4
                          E6      E5
 E4)2ª tent.
                          E6      E7
 E5) 3ª tent.
 E6)acessar.
E7)bloquear    E1
         (desbloqueado)
~
    Teste de Transicao de
           Estados
Questão simulado (CTFL-BSTQB)
Dado o segundo diagrama, qual é o caso de teste que cobre o
número mínimo de transações válidas para todos os estados?

                                S2
     SS           S1                               ES
                                         S3


a) SS-S1-S2-S4-S1-S3-ES        S4
b) SS-S1-S2-S3-S4-ES
c) SS-S1-S2-S4-S1-S3-S4-S1-S3-ES
d) SS-S1-S4-S2-S1-S3-ES
~
     Teste de Transicao de
            Estados
Resposta correta
Alternativa: a) SS-S1-S2-S4-S1-S3-ES

As alternativas b e d são inválidas, pois possuem transições que não
são possíveis de serem feitas: b S2-S3; d S4-S2.

As alternativas a e c são válidas, porém a questão pede o “teste que
cobre o número mínimo de transações válidas”. Logo a alternativa a
é a correta, por cobrir o número mínimo de transações válidas.
Teste de Caso de Uso
Ajuda a identificar casos de testes que
exercitam todo o sistema, transação por
transação, do início ao fim
Baseada em casos de uso
Um caso de uso é a descrição de um uso
particular do sistema feito por um ator
(usuário do sistema)
Teste de Caso de Uso
Casos de uso muitas vezes são tratados
como cenários, e úteis para construir testes
de aceite com a participação do usuário final
Eles podem ajudar a descobrir defeitos de
integração causados pela interação e
interferência de diferentes componentes, que
testes individuais de componentes podem
não ter detectado
Teste de Caso de Uso
Casos de uso são definidos de acordo com o
autor, não com o sistema, descrevendo o que
o ator ver, mais do que as entradas e
resultados esperados do sistema
Eles costumar usar uma linguagem e termos
a nível de negócio, ao invés de termos
técnicos, especialmente quando o ator é parte
do negócio
Teste de Caso de Uso
  Ator      Sistema

             Criar
             post


            Publicar
              post
Teste de Caso de Uso
Cenário – criar post (fluxo principal)
Pré-condição:                              A: ator
Usuário logado no sistema                  S: sistema

Cenário:
1. A: Seleciona opção de novo post;
2. S: Abre página de postagem;
3. A: Digita post;
4. A: Seleciona opção de salvar o post;
5. S: Salva o post;
6. S: Carrega a página com o post salvo.
Teste de Caso de Uso
Caso de teste – criar post
Pré-condição:
Usuário logado no sistema

Cenário:
1. Clicar no botão ‘novo post’;
2. Digitar texto;
3. Clicar no botão 'salvar como rascunho‘.

Resultado esperado:
Sistema salvar o post e apresentar a página
com o post salvo.
Teste de Caso de Uso
Questão simulado (CTFL-BSTQB)
Utilizar teste de caso de uso é útil para:
P) Modelar os testes de aceitação com os usuários ou clientes
Q) Garantir os principais fluxos do negócio serão testados
R) Achar os defeitos na interação dos componentes
S) Identificar os valores máximo e mínimo de cada campo de
entrada
T) Identificar a porcentagem de comandos exercitados por um
conjunto de testes
a) P, Q e R
b) Q, S e T
c) P, Q e S
d) R, S e T
Teste de Caso de Uso
Resposta correta
Alternativa: a) P, Q e R

O item S faz referência a técnica de análise do valor
limite. Já o T refere-se ao teste de comandos.
Os demais são características do teste de caso de
uso. Logo, a alternativa correta é a a.
 BSTQB. Base de Conhecimento para Certificação em Teste -
Foundation Level Syllabus . 2007br.
 D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of
Software Testing: ISTQB Certification. Cengage Learning Business
Press, 2006.
www.ic.unicamp.br/~eliane/Cursos/Transparencias/VVTestes/test
escxpreta1.pdf (Dra. Eliane Martins)

More Related Content

What's hot

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 ágilElias Nogueira
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de SoftwareElias Nogueira
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
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 TestesSamanta Cicilia
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Ariane Izac
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation StrategyMartin Ruddy
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizadoselliando dias
 
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 efetivaFrederico Augusto Do Carmo Moreira
 
Test automation framework
Test automation frameworkTest automation framework
Test automation frameworkQACampus
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareClaudia Melo
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilAriane Izac
 
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égiasKleitor Franklint Correa Araujo
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 

What's hot (20)

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
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de Software
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
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
 
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
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
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
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 
Test automation framework
Test automation frameworkTest automation framework
Test automation framework
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de Software
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
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
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 

Similar to Testes de software baseados em especificação

Aula18 Teste Software
Aula18 Teste SoftwareAula18 Teste Software
Aula18 Teste SoftwareMarco Silva
 
Teste De Software Aula
Teste De Software AulaTeste De Software Aula
Teste De Software AulaMarco Silva
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfRodolphoCesar2
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADARafael Costa
 
1 2 malha aberta e fechada
1 2   malha aberta e fechada1 2   malha aberta e fechada
1 2 malha aberta e fechadaRafael Costa
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Técnicas de modelagem de testes
Técnicas de modelagem de testesTécnicas de modelagem de testes
Técnicas de modelagem de testesLeonardo Soares
 
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 - MOD2Fernando Palma
 
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfestudosfaculdade05fa
 
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfestudosfaculdade05fa
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
Testes Exploratórios ALATS SP 2012
Testes Exploratórios ALATS SP 2012Testes Exploratórios ALATS SP 2012
Testes Exploratórios ALATS SP 2012Cristiano Caetano
 
4 estatística descritiva
4   estatística descritiva4   estatística descritiva
4 estatística descritivaFernando Lucas
 

Similar to Testes de software baseados em especificação (20)

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
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdf
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
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
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Técnicas de modelagem de testes
Técnicas de modelagem de testesTécnicas de modelagem de testes
Técnicas de modelagem de testes
 
Eats2012
Eats2012Eats2012
Eats2012
 
Visual g comandos
Visual g comandosVisual g comandos
Visual g comandos
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Será que testar é simples?
Será que testar é simples?Será que testar é simples?
Será que testar é simples?
 
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
 
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ROTEIRO DE AULA PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
 
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdfATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
ATIVIDADE PRÁTICA - FÍSICA GERAL E EXPERIMENTAL MECÂNICA.pdf
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Testes Exploratórios ALATS SP 2012
Testes Exploratórios ALATS SP 2012Testes Exploratórios ALATS SP 2012
Testes Exploratórios ALATS SP 2012
 
4 estatística descritiva
4   estatística descritiva4   estatística descritiva
4 estatística descritiva
 
EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 

More from Fabrício Campos

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesFabrí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árioFabrí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 ALATSFabrí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 SoftwareFabrício Campos
 

More from Fabrício Campos (7)

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
 
CTFL - BSTQB
CTFL - BSTQBCTFL - BSTQB
CTFL - BSTQB
 
Por que testar?
Por que testar?Por que testar?
Por que testar?
 

Testes de software baseados em especificação

  • 2. ~ Baseadas em Especificacao Partição de Equivalência Análise do Valor Limite Tabela de Decisão Teste de Transição de Estados Teste de Caso de Uso
  • 3. ~ ^ Particao de Equivalencia Aplicada em qualquer nível de teste É muitas vezes uma boa técnica para ser aplicada primeiro Muitos testadores aplicam ela sem saber (informalmente) O seu uso formal pode proporcionar melhores resultados
  • 4. ~ ^ Particao de Equivalencia A idéia é divivir/particionar as entradas em grupos que tenham um comportamento similar, podendo ser tratados da mesma forma Se tiver tempo, você pode tentar mais de um valor por partição, principalmente, se quiser confirmar uma entrada típica do usuário
  • 5. ~ ^ Particao de Equivalencia É necessário testar apenas uma condição de cada partição. Pois assume-se que todas as condições em uma partição será tratada da mesma forma pelo software Partições válidas e inválidas são consideradas
  • 6. ~ ^ Particao de Equivalencia Passo a passo Decompor o programa em funções Identificar as variáveis que determinam o comportamento de cada função Particionar os valores de cada variável em classes de equivalência (válidas e inválidas) Especificar os casos de teste: eliminar as classes impossíveis ou os casos desinteressantes selecionar casos de testes cobrindo as classes válidas das diferentes variáveis para cada classe inválida escolha um caso de teste que cubra 1 e somente 1 de cada vez
  • 7. ~ ^ Particao de Equivalencia Exemplo bolo: Vamos imaginar que esse delicioso ao lado, tem 6 sabores: chocolate, nozes, morango, maracujá, baunilha e limão. Quantos testes são necessários, usando a técnica de partição de equivalência?
  • 8. ~ ^ Particao de Equivalencia Temos 6 sabores diferentes, e a técnica de partição de equivalência, diz que precisamos dividir as entradas, fazendo com que cada divisão/partição , seja equivalente com um comportamento do sistema. Ou seja, precisamos dividir o bolo em pedaços de diferentes sabores. Totalizando 6 pedaços (partições) de bolo, que equivalem aos 6 sabores.
  • 9. ~ ^ Particao de Equivalencia Questão simulado (CTFL-BSTQB) Um programa valida um campo numérico da seguinte maneira: Valores inferiores ou iguais a 0 são rejeitados, valores entre 1 e 130 são aceitos, valores maiores ou iguais a 131 são rejeitados. Qual das alternativas contém os valores de entrada que cobre todas as partições de equivalência? a) -1,50,120 b) 0,1,131 c) -131,65,130 d) 10,130,200
  • 10. ~ ^ Particao de Equivalencia Resposta correta Alternativa: b) 0,1,131 Ela é a única que cobre as três partições: Partição inválida (abaixo do valor mínimo) <=0 Partição válida 1 <> 130 Partição inválida (acima do valor máximo) >=131
  • 11. Analise do Valor Limite Limites são áreas onde os testes estão mais propensos a indicar defeitos Os valores limites de uma partição são seu máximo e seu mínimo
  • 12. Analise do Valor Limite Voltando ao bolo... Agora vamos considerar que cada “camada” do bolo tem 10cm. Desta maneira, o nosso bolo tem 60cm, sendo composto de: 10cm de chocolate 10cm de morango 10cm de nozes 10cm de maracujá 10cm de baunilha 10cm de limão Portanto, agora é a hora de fazer um teste mais “guloso”...vamos lá
  • 13. Analise do Valor Limite No teste anterior... Comemos 6 pedaços de bolo para verificar se o bolo contém os seis sabores mesmo. Agora... Além de verificar se o bolo contém os seis sabores, vamos verificar cada sabor tem exatamente 10 cm de altura. O teste usando a técnica de análise do valor limite, irá resultar em 24 entradas diferentes, ou seja, iremos precisar comer 24 pedaços de bolo, nada ruim, neh...
  • 14. Analise do Valor Limite Entendo melhor Usando a análise de valor limite são 14 pedaços de bolo, necessários para o teste. O motivo para esse resultado é: Valor limite máximo inválido (chocolate) = 11cm Valor limite mínimo válido (nozes) Valor limite máximo válido= 10cm Valor limite mínimo válido= 1cm Valor limite mínimo inválido= 0cm Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1, 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12 pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes aos valores inferiores inválidos 0cm e 61cm. Totalizando 14 pedaços. BOM APETITE!
  • 15. Analise do Valor Limite Questão simulado (CTFL-BSTQB) Um campo de entrada (input field) referente a data de nascimento, aceita valores de 1860 até 2860. Utilizando a análise do 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
  • 16. Analise do Valor Limite Resposta correta Alternativa: d) 1859, 1860, 2860,2861 1859 = valor limite mínimo inválido 1860 = valor limite mínimo válido 2860 = valor limite máximo válido 2861 = valor limite máximo inválido
  • 17. ~ Tabela de Decisao Focada nas regras de negócio É uma boa maneira de lidar com combinações de valores de entrada As condições de entrada e ações são declaradas de uma forma que possam ser entendidas, como verdadeiras ou falsas Às vezes, é chamada de “causa e efeito”
  • 18. ~ Tabela de Decisao O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testes Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
  • 19. ~ Tabela de Decisao Condições de entrada Ações/ Resultados Regra
  • 20. ~ Tabela de Decisao Regra 1 Regra 2 Regra 3 Regra 4 Condição F V V F Valor>100 V V F F quant>100 Ações X dar brinde X dar desconto mensagem X de erro
  • 21. ~ Tabela de Decisao Questão simulado (CTFL-BSTQB) Qual das alternativas seria um exemplo de teste usando tabela de decisão para uma aplicação financeira, no teste de nível de sistema? a) Uma tabela contendo regras para combinações de entrada para dois campos da tela b) Uma tabela contendo regras de interface entre componentes c) Uma tabela contendo regras para aplicações de hipoteca d) Uma tabela contendo regras de xadrez
  • 22. ~ Tabela de Decisao Resposta correta Alternativa: c) Uma tabela contendo regras para aplicações de hipoteca Note que o nível do teste é o de sistema, no qual estamos interessados no funcionamento do sistema como um todo, não no funcionamento particular de cada componente, que é verificado no teste de componente. E nem estamos interessados na interface entre os componentes, que é verificada do teste de integração. Logo excluímos 2 alternativas: a, b A alternativa d nem precisamos comentar... Resta apenas a alternativa correta a c
  • 23. ~ Teste de Transicao de Estados É utilizado quando algum aspecto do sistema pode ser descrito usando uma máquina de estados Ou seja, o sistema pode ter um número (finito) de estados diferentes, e as transições de um estado para outro são determinadas por regras de quot;máquinaquot;
  • 24. ~ Teste de Transicao de Estados Muito utilizada em softwares industriais embarcados e automações técnicas em geral, e também adequada para modelar um objeto de negócio tendo estado específico ou para testar fluxos de telas de diálogos
  • 25. ~ Teste de Transicao de Estados Os testes podem ser construídos para cobrir uma sequência típica de estados, cobrir todos os estados, exercitar todas as transições, exercitar uma seqüência específica de transições ou testar transições inválidas
  • 26. ~ Teste de Transicao de Estados digita insere NOK NOK senha cartão NOK OK OK OK
  • 27. ~ Teste de Transicao de Estados insere senha senha cartão OK NOK E1)iniciar E2 E2)esperar E6 E3)1º tent. E4 E6 E5 E4)2ª tent. E6 E7 E5) 3ª tent. E6)acessar. E7)bloquear E1 (desbloqueado)
  • 28. ~ Teste de Transicao de Estados Questão simulado (CTFL-BSTQB) Dado o segundo diagrama, qual é o caso de teste que cobre o número mínimo de transações válidas para todos os estados? S2 SS S1 ES S3 a) SS-S1-S2-S4-S1-S3-ES S4 b) SS-S1-S2-S3-S4-ES c) SS-S1-S2-S4-S1-S3-S4-S1-S3-ES d) SS-S1-S4-S2-S1-S3-ES
  • 29. ~ Teste de Transicao de Estados Resposta correta Alternativa: a) SS-S1-S2-S4-S1-S3-ES As alternativas b e d são inválidas, pois possuem transições que não são possíveis de serem feitas: b S2-S3; d S4-S2. As alternativas a e c são válidas, porém a questão pede o “teste que cobre o número mínimo de transações válidas”. Logo a alternativa a é a correta, por cobrir o número mínimo de transações válidas.
  • 30. Teste de Caso de Uso Ajuda a identificar casos de testes que exercitam todo o sistema, transação por transação, do início ao fim Baseada em casos de uso Um caso de uso é a descrição de um uso particular do sistema feito por um ator (usuário do sistema)
  • 31. Teste de Caso de Uso Casos de uso muitas vezes são tratados como cenários, e úteis para construir testes de aceite com a participação do usuário final Eles podem ajudar a descobrir defeitos de integração causados pela interação e interferência de diferentes componentes, que testes individuais de componentes podem não ter detectado
  • 32. Teste de Caso de Uso Casos de uso são definidos de acordo com o autor, não com o sistema, descrevendo o que o ator ver, mais do que as entradas e resultados esperados do sistema Eles costumar usar uma linguagem e termos a nível de negócio, ao invés de termos técnicos, especialmente quando o ator é parte do negócio
  • 33. Teste de Caso de Uso Ator Sistema Criar post Publicar post
  • 34. Teste de Caso de Uso Cenário – criar post (fluxo principal) Pré-condição: A: ator Usuário logado no sistema S: sistema Cenário: 1. A: Seleciona opção de novo post; 2. S: Abre página de postagem; 3. A: Digita post; 4. A: Seleciona opção de salvar o post; 5. S: Salva o post; 6. S: Carrega a página com o post salvo.
  • 35. Teste de Caso de Uso Caso de teste – criar post Pré-condição: Usuário logado no sistema Cenário: 1. Clicar no botão ‘novo post’; 2. Digitar texto; 3. Clicar no botão 'salvar como rascunho‘. Resultado esperado: Sistema salvar o post e apresentar a página com o post salvo.
  • 36. Teste de Caso de Uso Questão simulado (CTFL-BSTQB) Utilizar teste de caso de uso é útil para: P) Modelar os testes de aceitação com os usuários ou clientes Q) Garantir os principais fluxos do negócio serão testados R) Achar os defeitos na interação dos componentes S) Identificar os valores máximo e mínimo de cada campo de entrada T) Identificar a porcentagem de comandos exercitados por um conjunto de testes a) P, Q e R b) Q, S e T c) P, Q e S d) R, S e T
  • 37. Teste de Caso de Uso Resposta correta Alternativa: a) P, Q e R O item S faz referência a técnica de análise do valor limite. Já o T refere-se ao teste de comandos. Os demais são características do teste de caso de uso. Logo, a alternativa correta é a a.
  • 38.
  • 39.  BSTQB. Base de Conhecimento para Certificação em Teste - Foundation Level Syllabus . 2007br.  D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006. www.ic.unicamp.br/~eliane/Cursos/Transparencias/VVTestes/test escxpreta1.pdf (Dra. Eliane Martins)