Teste Dirigido por Modelos                          Davi Serrano                        Delano Oliveira                   ...
Agenda       Motivação       MBT       MDD/MDA       MDT       Integração de MDT com MDD       Ferramentas       Co...
Motivação       O processo de desenvolvimento de software tem passado        por intensas transformações nos últimos anos...
Motivação       Uma das abordagens utilizadas atualmente voltada para o        desenvolvimento de software com alto padrã...
Motivação       Um sistema não pode ser considerado confiável sem que        seja realizado um processo de V&V adequado ...
MBT       Model-based Testing       Técnica que tem como objetivo a geração de casos testes        automático a partir d...
MBT       Máquina de Estados finito           “Software is always in a specific state and the current state of the      ...
MBT       UML – Unified Modeling Language           “UML is to models what C or Pascal are to programs”           Lingu...
MBT       Existem outros tipos de modelos que tem como objetivo        descrever o comportamento do software       Start...
MBT    Quais as tarefas fundamentais de MBT?        Entender o Sistema            13 Guidelines: Determinar os componen...
MBT    Gerar Testes        Modelos: “properties that make test generation effortless and         automatable”        Os...
MBT    Executar Testes        Scripts de testes simulam entradas realizadas pelos usuários        Gerador produz script...
MBT    Coletar Resultados        Atividade mais difícil do processo        Os testadores observam se o sistema gerou a ...
MDD    MDD – Model Driven Development    MDA – Model Driven Architecture    Proposta pela OMG        Propor uma mudanç...
MDD    PIM – Platform Independent Model    PSM – Platform Specific Model                                                ...
MDT    Model Driven Test        É uma abordagem de MBT que faz uso de técnicas de MDD         para a geração automática ...
MDT    Geração automática de artefatos de teste a partir dos     modelos de desenvolvimento         MDA                MD...
MDT    Como funciona?Arquitetura implementadapela ferramenta MoBIT!    18          Teste Dirigido por Modelos - Davi, Del...
MDT    O que é preciso?        Modelos bem definidos e especificados        UML é uma ótima linguagem para este propósi...
Integração de MDT com MDD    Deve ser executada com cuidado    Alinhamento de características principais    Benefícios:...
Integração de MDT com MDD – UML 2.0    MDD        Meta-Modelos            UML, OCL            Java (dependendo da plat...
Integração de MDT com MDD – UML 2.0    MDD        Plataforma            PSM (Java)        Geração de código          ...
Integração de MDT com MDD – UML 2.0    MDT        Testes Puramente Funcionais        CIM e PIM resultam CITM e PITM    ...
Integração de MDT com MDD – UML 2.0    Arquitetura da Integração                       Arquitetura implementada          ...
Ferramentas    SPACES        SPecification bAsed Component tESter        Desenvolvida por pesquisadores do GMF (Grupo d...
Ferramentas    O usuário deve utilizar uma das ferramentas de modelagem     UML e que exportem para o formato de arquivo ...
Ferramentas    MoBIT        Model-driven Built-In contract Testers        Também desenvolvida pelo GMF.        Seguind...
Ferramentas    BIT- Built-In contract Testing        Para se fazer uso de componentes, basta conhecer suas         inter...
Ferramentas    Problema:        Adaptar os modelos de componentes KobrA para a atividade         de testes        Autom...
Ferramentas    Processo        Casos de teste representados por diagramas de sequência        Possui um algoritmo inter...
Ferramentas    Resultado:    31            Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
Conclusão    Vantagens        Menor custo de desenvolvimento e testes        Menos tempo empenhado no processo de desen...
Conclusão    Desvantagens        MDT requer uma certa habilidade dos testadores, pois         precisam ter conhecimentos...
Dúvidas34        Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
Referências    Model-based Software Testing (Ibrahim K. El-Far and James     A. Whittaker, Florida Institute of Technolog...
Teste Dirigido por Modelos                          Davi Serrano                        Delano Oliveira                   ...
Próximos SlideShares
Carregando em…5
×

Teste Dirigido por Modelos

834 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
834
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Teste Dirigido por Modelos

  1. 1. Teste Dirigido por Modelos Davi Serrano Delano Oliveira José Rafael Natã Venâncio{davi.teife, delanohelio, rafaefarias, nata.venancio.melo}@gmail.com
  2. 2. Agenda Motivação MBT MDD/MDA MDT Integração de MDT com MDD Ferramentas Conclusão Dúvidas Referências 2 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  3. 3. Motivação O processo de desenvolvimento de software tem passado por intensas transformações nos últimos anos Novas abordagens de desenvolvimento têm surgido Dentre os problemas mais comuns aos projetos de software podemos destacar:  Alto custo para evolução e manutenção  Inconsistência entre documentação e sistema final  Baixa portabilidade e confiabilidade 3 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  4. 4. Motivação Uma das abordagens utilizadas atualmente voltada para o desenvolvimento de software com alto padrão de qualidade é o Desenvolvimento Dirigido por Modelos (MDD). Mudança de foco: Modelos 4 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  5. 5. Motivação Um sistema não pode ser considerado confiável sem que seja realizado um processo de V&V adequado Mesmo sistemas desenvolvidos seguindo a abordagem MDD precisam ser validados MBT e MDT 5 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  6. 6. MBT Model-based Testing Técnica que tem como objetivo a geração de casos testes automático a partir de modelos Modelos  Descrevem aspectos do comportamento do software  Sequência de entradas, ações, condições e saída lógicas  Fluxo de dados e fluxo de controle 6 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  7. 7. MBT Máquina de Estados finito  “Software is always in a specific state and the current state of the application govern what set of inputs testers can select from” 7 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  8. 8. MBT UML – Unified Modeling Language  “UML is to models what C or Pascal are to programs”  Linguagem estruturada  Exemplo: Diagrama de Sequência 8 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  9. 9. MBT Existem outros tipos de modelos que tem como objetivo descrever o comportamento do software Startecharts, Markov Chains, Grammars, etc Como saber que tipo de modelo representa melhor a descrição de um determinado software??? 9 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  10. 10. MBT Quais as tarefas fundamentais de MBT?  Entender o Sistema  13 Guidelines: Determinar os componentes necessários para os testes, Reunir documentações relevantes e úteis, Estudar o domínio de cada entrada, ..., criar o modelo;  Escolher o Tipo de Modelo  Construir o Modelo  Listar entradas, “input applicability constraints” e “input behavior constraints’; 10 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  11. 11. MBT  Gerar Testes  Modelos: “properties that make test generation effortless and automatable”  Os caminhos gerados são por definição testes11 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  12. 12. MBT Executar Testes  Scripts de testes simulam entradas realizadas pelos usuários  Gerador produz scripts de testes simulando cada transição como procedure call 12 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  13. 13. MBT Coletar Resultados  Atividade mais difícil do processo  Os testadores observam se o sistema gerou a saída correta para uma dada sequência de entradas 13 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  14. 14. MDD MDD – Model Driven Development MDA – Model Driven Architecture Proposta pela OMG  Propor uma mudança de paradigma Focar o desenvolvimento do software em modelos  Modelos não são apenas documentos para auxiliar o desenvolvimento de software, eles são o próprio software 14 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  15. 15. MDD PIM – Platform Independent Model PSM – Platform Specific Model PIM Ferramentas de transformação  Definição de transformação Regra de transformação  PSM Transformações são escritas em:  ATL, MOFScript, MOF2Text, … Code 15 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  16. 16. MDT Model Driven Test  É uma abordagem de MBT que faz uso de técnicas de MDD para a geração automática de artefatos de teste de acordo com regras de transformação pré-definidas, possivelmente a partir de modelos de desenvolvimento.  Realização de MBT com estratégias de MDA 16 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  17. 17. MDT Geração automática de artefatos de teste a partir dos modelos de desenvolvimento MDA MDT CITM – Computational Independent CIM CITM Testing Model PITM – Plataform Independent PIM PITM Testing Model PSM PSTM PSTM – Plataform Specific Testing Model 17 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  18. 18. MDT Como funciona?Arquitetura implementadapela ferramenta MoBIT! 18 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  19. 19. MDT O que é preciso?  Modelos bem definidos e especificados  UML é uma ótima linguagem para este propósito  Ferramentas de transformações de modelo para modelo e de modelo para texto  Processo Iterativo  Testadores com conhecimento sobre as tecnologias que envolve todo o processo:  Ferramentas, scripts, linguagens, etc  Além de conhecimentos matemáticos 19 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  20. 20. Integração de MDT com MDD Deve ser executada com cuidado Alinhamento de características principais Benefícios:  Menor custo de desenvolvimento e manutenção  Menor custo tempo  Testes estarão prontos antes 20 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  21. 21. Integração de MDT com MDD – UML 2.0 MDD  Meta-Modelos  UML, OCL  Java (dependendo da plataforma)  Modelos  Padrão MDA  CIM  Funcionais e Estruturais  PIM  Estruturais, Funcionais e Comportamentais 21 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  22. 22. Integração de MDT com MDD – UML 2.0 MDD  Plataforma  PSM (Java)  Geração de código  Ferramenta que implementa exigências da OMG  Técnicas de Transformação  QVT – OMG  ATL – Popular 22 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  23. 23. Integração de MDT com MDD – UML 2.0 MDT  Testes Puramente Funcionais  CIM e PIM resultam CITM e PITM  U2TP  Casos de teste gerados automaticamente  Derivados a partir do diagramas de classe e máquina de estados  Algoritmo: Chinese postman (Simples e boa cobertura) 23 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  24. 24. Integração de MDT com MDD – UML 2.0 Arquitetura da Integração Arquitetura implementada pela ferramenta MoBIT! 24 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  25. 25. Ferramentas SPACES  SPecification bAsed Component tESter  Desenvolvida por pesquisadores do GMF (Grupo de Métodos Formais - UFCG)  É uma ferramenta de teste funcional para componentes que faz uso de especificações UML e restrições OCL para derivar casos de teste de forma automática. 25 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  26. 26. Ferramentas  O usuário deve utilizar uma das ferramentas de modelagem UML e que exportem para o formato de arquivo XMI.  Após a construção de alguns diagramas UML, a ferramenta SPACES faz a leitura desses diagramas e constrói, automaticamente, classes de teste para o componente especificado.  O teste é executado no frameworkComponentTester26 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  27. 27. Ferramentas MoBIT  Model-driven Built-In contract Testers  Também desenvolvida pelo GMF.  Seguindo a abordagem MDA/MDT e a metodologia de construção de testes BIT para automatizar o processo da criação dos artefatos de teste nos modelos de componentes KobrA. 27 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  28. 28. Ferramentas BIT- Built-In contract Testing  Para se fazer uso de componentes, basta conhecer suas interfaces de comunicação  Metodologia para testar se os contratos de cada componente estão sendo seguidos KobrA - Komponentenbasierte Anwendungsentwicklung  Metodologia de desenvolvimento de software baseado em componentes  Objetivo principal aprimorar a engenharia de linha de produtos  Adota o padrão UML 28 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  29. 29. Ferramentas Problema:  Adaptar os modelos de componentes KobrA para a atividade de testes  Automaticamente  Seguindo BIT Solução:  Perfil BIT 29 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  30. 30. Ferramentas Processo  Casos de teste representados por diagramas de sequência  Possui um algoritmo interno implementado  Chinese Postman adaptado Resultado  Modelo dos artefatos de teste para a plataforma Java 30 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  31. 31. Ferramentas Resultado: 31 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  32. 32. Conclusão Vantagens  Menor custo de desenvolvimento e testes  Menos tempo empenhado no processo de desenvolvimento e testes  Reduz possibilidade de falhas humanas  Conformidade entre especificação e testes  Maior qualidade de produtos 32 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  33. 33. Conclusão Desvantagens  MDT requer uma certa habilidade dos testadores, pois precisam ter conhecimentos sobre as tecnologias que envolve o processo de MDT  Requer muito esforço inicial, para decidir qual modelo utilizar, e em seguida construir o modelo, etc. 33 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  34. 34. Dúvidas34 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  35. 35. Referências Model-based Software Testing (Ibrahim K. El-Far and James A. Whittaker, Florida Institute of Technology) Uma Abordagem Integrada para Desenvolvimento e Teste Dirigido por Modelos (Everton L. G. Alves, Patrícia D. L. Machado, Franklin Ramalho) Automatic Generation of Platform Independent Built-in Contract Testers (Helton S. Lima1, Franklin Ramalho1, Patrícia D. L. Machado I, Everton L. Galdino) 35 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  36. 36. Teste Dirigido por Modelos Davi Serrano Delano Oliveira José Rafael Natã Venâncio{davi.teife, delanohelio, rafaefarias, nata.venancio.melo}@gmail.com

×