Desenvolvimento de Plug-ins Orientado a Testes

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro.
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Padrão de Projeto Iterator
Programação em Java Prof. Maurício Braga
Modelagem de Software Orientado a Objetos
Iniciando na plataforma Eclipse
Criação de Páginas Web Criação de Páginas Web – KompoZer
Tópicos Motivação para teste Por que algumas empresas não testam
Desenvolvimento ágil: eXtreme Programming vs SCRUM Tiago Rodrigues de Mello CCO-230 – ENGENHARIA DE SOFTWARE / 2010.
FACULDADE DOS GUARARAPES
FACULDADE DOS GUARARAPES
Padrão de Projeto Memento
Componentes: A Abordagem Catalysis
Desenvolvimento Rápido de Aplicação(RAD)
Processo Desenvolvimento de Software Tradicional
Adaptando um Processo de Desenvolvimento de Software para Análise de Cobertura de Código Prof. Alexandre Marcos Lins de Vasconcelos 06/out/2007.
Francesca Volcan Pio Maiara Heil Cancian Ricardo Bedin França
Composição e Geração de Aplicações usando Aspectos
Testes de Mutação baseado no artigo de Mário Correia,
Trabalho de Conclusão do Curso Sistemas de Informação
PROGRAMAÇÃO ORIENTADA A ASPECTOS EM JAVA Introdução a conceitos teóricos e práticos Adriano G. do Prado José Eduardo M. Lemos José Fernando da S. Cruz.
MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
Configuração de manutenção
Test-Driven Development
Linguagem Técnica II Testes Automatizados Aula 04 Prof
Introdução ao Teste Unitário com JUnit
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Visão Geral PRO.NET.
Fundamentos de Engenharia de SW
DESENVOLVIMENTO ÁGIL DE SISTEMAS ALINHADO À GOVERNANÇA DE TI
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Vector To Raster Factory & Strategy Eric Silva Abreu São José dos Campos - 15 de dezembro de 2006.
O Fluxo de Implementação
Metodologia de Desenvolvimento de Software – RUP 4. Implementação
Community Launch VS 2010 Rio de Janeiro Patrocínio: Praticando Test Driven Development no VS 2010 Christian Cunha Christian Cunha.
Test Driven Development Nazareno Andrade Baseado no material do prof. Hyggo Almeida.
Engenharia de Software
Test Driven Development por Johann Gomes e Thaís Moura.
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Introdução a Desenvolvimento de Sistemas
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade.
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA DE FÓRMULAS Autores: Rafael Hornung Simone.
Introdução a Desenvolvimento de Sistemas
Professor: Márcio Amador
1 Test Driven Development John Jonathan da Silva /
(Open Unified Process)
3/4/2015 Prof. Msc George Cabral Bacharelado em Sistema de Informação Ambientes de Desenvolvimento de Software.
TVDesigner Uma Ferramenta para Criação de Aplicações MHP Interativas para TV Digital Orientador: Prof. Ph.D. Carlos André Guimarães Ferraz Aluno: Djaci.
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo.
Estendendo o Eclipse Bruno Costa Bourbon Jarbas Jácome de Oliveira Júnior {bcb,
Processos de Software.
Fabrício Dias
1 Mesa de Compras Apresentação Fábrica 16/06/2003.
Copyright © 2006 Qualiti. Todos os direitos reservados. Uma Visão Crítica.
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
Engenharia de Software
1 Junit Motivação para o uso André Luís Moreira
Equipe: Kéren Glaucya Marco Aurélio. INTRODUÇÃO  JCreator é um IDE, ou seja, é um Ambiente de Desenvolvimento Integrado, criado pela empresa Xinox Software.
Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza 06/12/2008 Programa de Mestrado em Ciência.
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 33 (1) Análise de Desempenho em Programas Paralelos Tópicos: Introdução Aquisição de Dados.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
Transcrição da apresentação:

Desenvolvimento de Plug-ins Orientado a Testes Márcio Guedes, Edilson Mendes, Vamberto Lemos 01/out/2007

Introdução ao TDD TDD – Test Driven Development Defina os testes antes de implementar o software Comum para usuários de eXtreme Programming

Definição das iterações Adicionar um teste de forma rápida Executar os testes (mesmo que os testes falhem) Criar stubs para que os testes compilem Implementar a funcionalidade Executar os testes novamente Refatorar o código para remover duplicação de código Este processo se repete até que todos os testes sejam executados com sucesso

Vantagens e desvantagens Código simples Redução do tempo de detecção de defeitos Testes unitários correspondem diretamente ao código Obriga o desenvolvedor a pensar na implementação final Desvantagens Mudança no paradigma de desenvolvimento Difícil de ser usada em sistemas com entradas e saídas complexas

Arquitetura do Eclipse • Platform Runtime é o núcleo do Eclipse e sua função é iniciar o ambiente e carregar todos os outros plug-in e componentes. • Workspace é o componente que representa a área de trabalho no sistema de arquivos e que contem todos os projetos do usuário. • Workbench é a interface gráfica do Eclipse e contém todos os menus, barra de ferramentas, visualizadores e editores. • Team é o componente responsável por integrar o Eclipse com uma ferramenta de controle de versão. • Help é responsável por apresentar a documentação do Eclipse e de todos os plug-ins. Figura 1. Arquitetura de um plug-in do Eclipse.

PDE JUnit Evolução do Plug-in para JUnit Fornece a configuração JUnit Plug-in Test Uma nova instância do Eclipse é criada, carregando os projetos de plug-ins e de testes dos plug-ins a partir do wokspace. Em seguida, o JUnit Test Runner obtém o controle, executa os testes e quando a execução dos testes termina o Eclipse é fechado. Figura 2. O PDE JUnit executa os testes uma nova instância do Eclipse criada em tempo de execução.

Exemplo Baseado em um plug-in que adiciona uma View ao Eclipse Um view é um componente visual do Eclipse que provê informações sobre os recursos que o usuário está trabalhando no workbench, além disso, ele pode ou não estar relacionado a um editor

Figura 3. Implementação inicial do código de teste Exemplo – Passo 1 Criação do Plug-in de Teste Figura 3. Implementação inicial do código de teste

Exemplo – Passo 2 Implementação inicial do código da View para compilação do código de teste Figura 4. Implementação inicial do código da View para compilação do código de teste

Figura 5. Implementação do código da View para passar no teste Exemplo – Passo 3 Implementação do código da View para passar no teste Figura 5. Implementação do código da View para passar no teste

Figura 6. Resultado do teste Exemplo – Execução O Tester Plug-in deve ser executado usando a configuração JUnit Plug-in Test Figura 6. Resultado do teste

Referências McGregor, John D. and Sykes, David A. A pratical guide to testing object-oriented software. [S. l.]: Addison-Wesley, 2001. Beck, Kent. Test-Driven Development by example. [S. l.]: Addison-Wesley, 2002. Clayberg, E. and Rubel, D. Eclipse: Building Commercial-Quality Plug-ins. Addison-Wesley Professional, 2 edition, 2006. Gamma, E. and Back, K. Contributing to Eclipse: Principles, Patterns, and Plug-Ins. Addison-Wesley Professional, 2004. McAffer, J. and Lemieux, J. M. Eclipse Rich Client Platform: Designing, Coding, and Packaging Java Applications. Addison-Wesley Professional, 2006. Guerra, Eduardo M. Um Estudo sobre Refatoração de Código de Teste. São Paulo: ITA, 2005, 191 p. Dissertação (Mestrado) – Divisão de Pós-Graduação do Instituto Tecnológico da Aeronáutica, Instituto Tecnológico da Aeronáutica, São José dos Campos, São Paulo, 2005. Tassey, Gregory. The Economic Impacts of Inadequate Infrastructure for Software Testing. [S. l.]: NIST, Planning Report, 2002. Dustin, Elfried. Effective software testing: 50 specific ways to improve your testing. [S. l.]: Addison-Wesley, 2003. http://en.wikipedia.org/wiki/Test_driven_development, acessado em setembro de 2007.

marcio.guedes@cesar.org.br edilson.mendes@cesar.org.br vamberto.lemos@cesar.org.br