SlideShare uma empresa Scribd logo
1 de 12
Testes baseados em modelos
Andreza Pollyana e Ana Karina
● aumento da complexidade dos sistemas.
● dificuldade da equipe de testes entender o sistema.
● Modelos ajudam a especificar e melhor entender as características e funcionamento do sistema.
● são econômicos.
Porque usar modelos?
Definição e características
● “Testes baseados em modelos é uma técnica de testes em que um modelo do sistema sendo
testado, ou de parte dele, é construído e a partir dele é derivado um conjunto de casos de
testes.”
● São considerados testes de caixa preta
● Em vez de escrevermos os testes manualmente baseados no documento de requisitos, criamos
um modelo do comportamento esperado do sistema que captura os requisitos a serem testados,
então ferramentas são utilizadas para gerar, automaticamente, testes a partir desse modelo
Vantagens
● A geração de testes começa mais cedo no ciclo do desenvolvimento
● Evita ambiguidade que pode estar presente na documentação dos requisitos
● Reduz o tempo dos testes
● Possibilita a construção de várias suites de testes a partir do mesmo modelo mudando apenas o
critério de testes.
● Reduz custos
● Não é necessário conhecimento em programação
O Processo
5 Etapas :
1.Modelagem do sistema
2.Geração de testes abstratos
3.Concretização dos testes
4.Execução dos testes
5.Análise de resultados
5.1 Modelagem do sistema
● Criação do modelo, que será chamado de modelo abstrato pois deve ser menor e mais simples
que o próprio sistema
● Omitir detalhes do sistema
● Conter as saídas esperadas
● Usar ferramentas para verificar a sua consistência
Tipos de modelos
UML - diagrama de atividades
Máquina de estados para máquina de vender
refrigerantes
5.2 Geração de testes abstratos
● Derivados do modelo
● escolher o critério de seleção de testes que determina que testes deverão ser gerados a partir
do modelo.
● Geração de um conjunto de testes abstratos que não são diretamente executáveis devido a
simplicidade do modelo
● A maioria das ferramentas também gera uma matriz de rastreamento de requisitos e outros
relatórios de cobertura.
o A matriz de rastreamento rastreia a ligação entre os requisitos funcionais e os testes
gerados
o Os relatórios de cobertura indicam o quanto do modelo os testes gerados estão, de fato,
testando e podem ser utilizados.
5.3 Concretização dos testes
● Transformar os testes abstratos em testes executáveis,
● Feito por uma ferramenta de transformação que utiliza vários templates e mapeamentos que
traduzem cada caso de testes abstratos em um script de testes executáveis ou escrevendo-se
um código adaptador que realiza esta função.
● O objetivo desta fase é construir uma ligação entre os testes abstratos criados na fase anterior e
o sistema sendo testado.
5.4 Execução dos testes
Os testes podem ser realizados, basicamente de duas maneiras:
● Online
○ As ferramentas de testes se conectam diretamente ao sistema e
○ Testes são feitos dinamicamente, isto é, os testes são executados a medida em que são produzidos
○ A ferramenta de testes gerencia a execução e a gravação dos resultados
● Offline
○ As ferramentas geram casos de testes que podem ser lidos pelo computador e executados automaticamente depois,
o que permite que eles sejam realizados por uma outra plataforma de testes.
5.5 Análise de resultados
● Analisar e realizar as correções se necessárias.
● Para cada falha relatada deve-se determinar a sua causa, que pode se encontrar no sistema,
nos casos de testes aplicados, no modelo ou no adaptado
Exemplo de ferramenta - MaTeLo
● Realiza testes offlines e só funciona no windows
● Adicionar bibliotecas de entrada (resultados das transações) e definir distribuições para essas entradas.
● Adicionar bibliotecas de saída (verificação)
● Simular ações de usuários (transições de estados)
● Verificar se o resultado obtido é igual ao esperado. (pode-se usar funções para sistemas mais complexos)
● Gerenciar requisitos (criando ou exportando) e
liga-los aos casos de testes gerados.
● Criar perfies de Testes
● Checar modelos
● Verificar o caminho de um caso de teste
● Escolher que tipo de algortimo será usado para
a geração de testes
● Gerar os casos de testes

Mais conteúdo relacionado

Mais procurados

Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAndré Constantino da Silva
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualizaçãocamila_seixas
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosBarbara Lima
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelManoel Pimentel Medeiros
 
Testes de Desempenho
Testes de DesempenhoTestes de Desempenho
Testes de DesempenhoSandy Maciel
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfIvanFontainha
 

Mais procurados (20)

Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Fundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes de Desempenho
Testes de DesempenhoTestes de Desempenho
Testes de Desempenho
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 

Destaque

Auto Desenvolvimento Em Empreendedorismo
Auto Desenvolvimento Em EmpreendedorismoAuto Desenvolvimento Em Empreendedorismo
Auto Desenvolvimento Em EmpreendedorismoYour Life do Brasil
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por ModelosNatã Melo
 
O quanto as nossas emoções influenciam o nosso corpo
O quanto as nossas emoções influenciam o nosso corpo O quanto as nossas emoções influenciam o nosso corpo
O quanto as nossas emoções influenciam o nosso corpo Anissis Ramos
 
Hipnose dicas, métodos e técnicas
Hipnose   dicas, métodos e técnicas Hipnose   dicas, métodos e técnicas
Hipnose dicas, métodos e técnicas Esdras Cardoso
 
Como despertar Atração
Como despertar AtraçãoComo despertar Atração
Como despertar AtraçãoAlexander Voger
 
Teste emocional, sentimental e psicológico
Teste emocional, sentimental e psicológicoTeste emocional, sentimental e psicológico
Teste emocional, sentimental e psicológicoDiiannaa
 
Gatilhos Mentais: o que são e como aplicar
Gatilhos Mentais: o que são e como aplicarGatilhos Mentais: o que são e como aplicar
Gatilhos Mentais: o que são e como aplicarMateada
 
Manual hipnose completo fabio puentes
Manual hipnose completo fabio puentes Manual hipnose completo fabio puentes
Manual hipnose completo fabio puentes Esdras Cardoso
 
A relação emoção corpo
A relação emoção corpoA relação emoção corpo
A relação emoção corpoDalila Melo
 
Como grandes negociadores usam a linguagem corporal nas negociações
Como grandes negociadores usam a linguagem corporal nas negociaçõesComo grandes negociadores usam a linguagem corporal nas negociações
Como grandes negociadores usam a linguagem corporal nas negociaçõesAgendor
 

Destaque (15)

Auto Desenvolvimento Em Empreendedorismo
Auto Desenvolvimento Em EmpreendedorismoAuto Desenvolvimento Em Empreendedorismo
Auto Desenvolvimento Em Empreendedorismo
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por Modelos
 
Auto Hipnose Aula02
Auto Hipnose Aula02Auto Hipnose Aula02
Auto Hipnose Aula02
 
O quanto as nossas emoções influenciam o nosso corpo
O quanto as nossas emoções influenciam o nosso corpo O quanto as nossas emoções influenciam o nosso corpo
O quanto as nossas emoções influenciam o nosso corpo
 
Hipnose dicas, métodos e técnicas
Hipnose   dicas, métodos e técnicas Hipnose   dicas, métodos e técnicas
Hipnose dicas, métodos e técnicas
 
Teste a sua mente
Teste a sua menteTeste a sua mente
Teste a sua mente
 
Como despertar Atração
Como despertar AtraçãoComo despertar Atração
Como despertar Atração
 
Teste emocional, sentimental e psicológico
Teste emocional, sentimental e psicológicoTeste emocional, sentimental e psicológico
Teste emocional, sentimental e psicológico
 
Gatilhos Mentais: o que são e como aplicar
Gatilhos Mentais: o que são e como aplicarGatilhos Mentais: o que são e como aplicar
Gatilhos Mentais: o que são e como aplicar
 
25 maneiras de influenciar pessoas
25 maneiras de influenciar pessoas25 maneiras de influenciar pessoas
25 maneiras de influenciar pessoas
 
Teste da mente
Teste da menteTeste da mente
Teste da mente
 
10 Estratégias de Manipulação
10 Estratégias de Manipulação10 Estratégias de Manipulação
10 Estratégias de Manipulação
 
Manual hipnose completo fabio puentes
Manual hipnose completo fabio puentes Manual hipnose completo fabio puentes
Manual hipnose completo fabio puentes
 
A relação emoção corpo
A relação emoção corpoA relação emoção corpo
A relação emoção corpo
 
Como grandes negociadores usam a linguagem corporal nas negociações
Como grandes negociadores usam a linguagem corporal nas negociaçõesComo grandes negociadores usam a linguagem corporal nas negociações
Como grandes negociadores usam a linguagem corporal nas negociações
 

Semelhante a Testes baseados em modelos: vantagens e processo

GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IVJoão Lourenço
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2douglasdc7m
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unitLucas Marques
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDDDiana Ungaro Arnos
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
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 testesAndré Luiz Forchesatto
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
ybr789try
ybr789tryybr789try
ybr789tryteste
 
Testes de software
Testes de softwareTestes de software
Testes de softwareteste
 
Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec ComIgor Rozani
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe munizMatheus de Lara Calache
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 

Semelhante a Testes baseados em modelos: vantagens e processo (20)

GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Ciclo de vida de testes implementado v2
Ciclo de vida de testes implementado   v2Ciclo de vida de testes implementado   v2
Ciclo de vida de testes implementado v2
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unit
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
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
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
Testes de Software.ppt
Testes de Software.pptTestes de Software.ppt
Testes de Software.ppt
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
ybr789try
ybr789tryybr789try
ybr789try
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec Com
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 

Testes baseados em modelos: vantagens e processo

  • 1. Testes baseados em modelos Andreza Pollyana e Ana Karina
  • 2. ● aumento da complexidade dos sistemas. ● dificuldade da equipe de testes entender o sistema. ● Modelos ajudam a especificar e melhor entender as características e funcionamento do sistema. ● são econômicos. Porque usar modelos?
  • 3. Definição e características ● “Testes baseados em modelos é uma técnica de testes em que um modelo do sistema sendo testado, ou de parte dele, é construído e a partir dele é derivado um conjunto de casos de testes.” ● São considerados testes de caixa preta ● Em vez de escrevermos os testes manualmente baseados no documento de requisitos, criamos um modelo do comportamento esperado do sistema que captura os requisitos a serem testados, então ferramentas são utilizadas para gerar, automaticamente, testes a partir desse modelo
  • 4. Vantagens ● A geração de testes começa mais cedo no ciclo do desenvolvimento ● Evita ambiguidade que pode estar presente na documentação dos requisitos ● Reduz o tempo dos testes ● Possibilita a construção de várias suites de testes a partir do mesmo modelo mudando apenas o critério de testes. ● Reduz custos ● Não é necessário conhecimento em programação
  • 5. O Processo 5 Etapas : 1.Modelagem do sistema 2.Geração de testes abstratos 3.Concretização dos testes 4.Execução dos testes 5.Análise de resultados
  • 6. 5.1 Modelagem do sistema ● Criação do modelo, que será chamado de modelo abstrato pois deve ser menor e mais simples que o próprio sistema ● Omitir detalhes do sistema ● Conter as saídas esperadas ● Usar ferramentas para verificar a sua consistência
  • 7. Tipos de modelos UML - diagrama de atividades Máquina de estados para máquina de vender refrigerantes
  • 8. 5.2 Geração de testes abstratos ● Derivados do modelo ● escolher o critério de seleção de testes que determina que testes deverão ser gerados a partir do modelo. ● Geração de um conjunto de testes abstratos que não são diretamente executáveis devido a simplicidade do modelo ● A maioria das ferramentas também gera uma matriz de rastreamento de requisitos e outros relatórios de cobertura. o A matriz de rastreamento rastreia a ligação entre os requisitos funcionais e os testes gerados o Os relatórios de cobertura indicam o quanto do modelo os testes gerados estão, de fato, testando e podem ser utilizados.
  • 9. 5.3 Concretização dos testes ● Transformar os testes abstratos em testes executáveis, ● Feito por uma ferramenta de transformação que utiliza vários templates e mapeamentos que traduzem cada caso de testes abstratos em um script de testes executáveis ou escrevendo-se um código adaptador que realiza esta função. ● O objetivo desta fase é construir uma ligação entre os testes abstratos criados na fase anterior e o sistema sendo testado.
  • 10. 5.4 Execução dos testes Os testes podem ser realizados, basicamente de duas maneiras: ● Online ○ As ferramentas de testes se conectam diretamente ao sistema e ○ Testes são feitos dinamicamente, isto é, os testes são executados a medida em que são produzidos ○ A ferramenta de testes gerencia a execução e a gravação dos resultados ● Offline ○ As ferramentas geram casos de testes que podem ser lidos pelo computador e executados automaticamente depois, o que permite que eles sejam realizados por uma outra plataforma de testes.
  • 11. 5.5 Análise de resultados ● Analisar e realizar as correções se necessárias. ● Para cada falha relatada deve-se determinar a sua causa, que pode se encontrar no sistema, nos casos de testes aplicados, no modelo ou no adaptado
  • 12. Exemplo de ferramenta - MaTeLo ● Realiza testes offlines e só funciona no windows ● Adicionar bibliotecas de entrada (resultados das transações) e definir distribuições para essas entradas. ● Adicionar bibliotecas de saída (verificação) ● Simular ações de usuários (transições de estados) ● Verificar se o resultado obtido é igual ao esperado. (pode-se usar funções para sistemas mais complexos) ● Gerenciar requisitos (criando ou exportando) e liga-los aos casos de testes gerados. ● Criar perfies de Testes ● Checar modelos ● Verificar o caminho de um caso de teste ● Escolher que tipo de algortimo será usado para a geração de testes ● Gerar os casos de testes