Your SlideShare is downloading. ×
Teste Dirigido por Modelos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Teste Dirigido por Modelos

516

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
516
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Teste Dirigido por Modelos Davi Serrano Delano Oliveira José Rafael Natã Venâncio{davi.teife, delanohelio, rafaefarias, nata.venancio.melo}@gmail.com
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. MDT Como funciona?Arquitetura implementadapela ferramenta MoBIT! 18 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Ferramentas Resultado: 31 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  • 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. 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. Dúvidas34 Teste Dirigido por Modelos - Davi, Delano, Rafael e Natã
  • 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. Teste Dirigido por Modelos Davi Serrano Delano Oliveira José Rafael Natã Venâncio{davi.teife, delanohelio, rafaefarias, nata.venancio.melo}@gmail.com

×