Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza 06/12/2008 Programa de Mestrado em Ciência.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Plug-ins Orientado a Testes
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Garantia da Qualidade Mário Eduardo.
Leo Silva Leonardo Murta
Web Application Interface Grupo ECFJ Edson e Jorge.
Processos de Software Introdução
Engenharia de Software
Tópicos Motivação para teste Por que algumas empresas não testam
Gerenciamento de Configuração
SISTEMA DE MONITORAÇÃO VEICULAR VIA GPRS
Engenharia Reversa É o processo de derivar as especificações lógicas dos componentes do sistema a partir de sua descrição física com auxílio de ferramentas.
Filipe Ferraz Salgado Orientador: Francisco Reverbel Tipo de Trabalho: Estágio Supervisionado Após a criação do pacote com a versão 3.1 do jBPM, surgiu.
Ci&T SPIN – Campinas Equipe de testes em projetos com CI e TDD.
Ferramenta para teste de software
Visão Geral do MANTIS Marco Cristo.
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
Metodologia Versão 2 FSRS.
Engenharia de Software
Test-Driven Development
Introdução ao Teste Unitário com JUnit
Cap 2 – Processo de Software
Grupo PHP MADS - FEUP 2009/ /01/ Agenda Contexto Tecnologias Ferramentas Arquitectura lógica Arquitectura física Processo de desenvolvimento.
Laboratórios de Informática IV Ferramentas CASE
O Fluxo de Implementação
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira
Test Driven Development Nazareno Andrade Baseado no material do prof. Hyggo Almeida.
Ferramentas para Automatização de testes
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Um Framework Para Testes
MVP Virtual Conference 2013
Henrique Gabriel Gularte Pereira
Análise e Projeto de Software CSTDS Profº. Henrique Vila Nova 1.
Aspect Oriented Programming (AOP)
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
3/4/2015 Prof. Msc George Cabral Bacharelado em Sistema de Informação Ambientes de Desenvolvimento de Software.
Paulo Oliveira – phslfo Victor Acioli - vaca 11/05/2010.
S ISTEMA DE C ONTROLE DE V ERSÃO : B AZAAR Carolina Ramalho Priscilla Gonçalves.
Gestão de defeitos.
Sistema de Gerenciamento de Competências Alexandre Pitta Guedes Julien Renaut Yugo Watari Supervisor: Valdemar W. Setzer.
dotProject EAP – dP EAP Jose Nome Matrícula Filipe Barbosa de Almeida
Conceitos Básicos Introdução.
1 Mesa de Compras Apresentação Fábrica 16/06/2003.
RequisitePro Ismênia Galvão Lourenço da Silva ANÁLISE E ESPECIFICAÇÃO DE REQUISITOS CENTRO DE INFORMÁTICA UNIVERSIDADE FEDERAL DE PERNAMBUCO.
Ferramenta de Integração contínua Aluno: Gabriel Costa Disciplina: Tópicos Avançados Turma: ADS 2013.
DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes.
Engenharia de Software
FERRAMENTAS DE GERÊNCIA DE PROJETOS
Engenharia de Software
Programa de transformação SOA e BPM no Banco de Poupança e Crédito
Grid Versioning Service (GVS) left | Version Date:
Automação de Testes: Ferramentas e Aplicação com Integração Contínua, Tipos e Exemplos Rogério dos Reis Brito
Universidade Federal de Pernambuco Integração Contínua Rafael Vanderlei de Souza 13/10/2008 Programa de Mestrado em Ciência da Computação.
DBSync4J Uma Ferramenta para Apoio na Sincronização entre Bases de Dados de Desenvolvimento e Produção Autores: Ana Carolina Ferreira Lins Rafael Fernandes.
Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais
Ferramentas e Tecnologias para o Trabalho Distribuído e Colaborativo
Gerência de Configuração Processo, Mantis, Plano e Auditoria.
SOFTWARE DE ESTATÍSTICAS PARA BASQUETE EM CADEIRA RODAS ESTUDO DE CASO ADFP - FÊNIX Acadêmicos: Elisangela Fernandes Duarte Sandro Colaço de Lima Orientador:
J U nit Um Framework Para Testes. Motivação  Todos os programadores sabem que devem testar seu código  Quanto mais curto o prazo menos testes são realizados.
1 YPM – Easy Project Management. 2 Complemento Francisco Eriko Barreto Brito Project Management Professional (PMP®) MBA em TI PMP Number: PMI.
1PSL – UFLA - EspecializaçãoJunier Amorim – Eng. Computação Sistema Gerenciador de Componentes para Reuso - SGCR -
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
SQL Server Data Quality Services Túlio de Souza (tss2)
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,
Web Application Rafael Muniz e Marcus Vinícius Plugins MAVEN 04/04/2009 Revisão 12/04/2009.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador I Seminário Final Julio Borba SERVIÇO NACIONAL DE APRENDIZAGEM.
Transcrição da apresentação:

Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza 06/12/2008 Programa de Mestrado em Ciência da Computação IN1149 – Qualidade, Processos e Gestão

Universidade Federal de Pernambuco Agenda Introdução Ambiente de CI Prática Conclusões Referências 2

Universidade Federal de Pernambuco Introdução 3

Universidade Federal de Pernambuco Definição “Integração contínua é uma prática de desenvolvimento de software onde os membros de uma equipe integram seu trabalho freqüentemente (pelo menos uma vez por dia). Cada integração passa por um processo de build automatizado (incluindo testes) para detectar erros de integração o mais cedo possível.” Martin Fowler. 4

Universidade Federal de Pernambuco Objetivos Aumentar a qualidade do software ◦ Testes automatizados ◦ Inspeção automatizada Reduzir riscos do projeto ◦ Ter sempre um executável ◦ Descobrir e corrigir erros rapidamente ◦ Automatizar processos repetitivos e sujeitos a erros ◦ Ter visibilidade do projeto facilmente Tornar a integração um “nonevent” ◦ Dedicar o tempo para tarefas mais importantes 5

Universidade Federal de Pernambuco Objetivos Se integrar fosse tão simples assim... 6

Universidade Federal de Pernambuco Visão Geral 7 A mágica por trás do botão Integrate...

Universidade Federal de Pernambuco Visão Geral 8 Processo típico de CI...

Universidade Federal de Pernambuco Ferramentas Servidores de CI: ◦ Cruise Control, Apache Continuum, LuntBuild, Hudson, Bamboo, Pulse, Gauntlet Build: ◦ Maven, Ant, NAnt, Rake Controle de Versão ◦ Subversion, CVS, ClearCase, VSS, StarTeam Banco de dados ◦ Oracle, SQL Server, PostgreSQL, MySQL, HSQLDB Teste ◦ JUnit, NUnit, DbUnit, HtmlUnit, Selenium, TestNG Inspeção ◦ Checkstyle, FindBugs, PMD, Cobertura, EMMA, FxCop Feedback ◦ Ambient Device, Jabber, Gtalk, , SMS 9

Universidade Federal de Pernambuco Ambiente de CI 10

Universidade Federal de Pernambuco Subversion Sistema de controle de versão projetado para resolver problemas existentes no CVS, como: ◦ Falta de versionamento de diretórios; ◦ Commits atômicos; ◦ Entre outros. Neste ambiente, o SVN será o repositório de código que será observado pelo servidor de Integração Contínua. ◦ Sempre que houver uma mudança neste repositório, o servidor de CI irá gerar um novo build. 11

Universidade Federal de Pernambuco JUnit Framework para escrever testes unitários repetitíveis. Instância em Java da arquitetura xUnit para frameworks de testes unitários. Neste ambiente, usaremos JUnit para escrever, executar e reportar os resultados de testes unitários. 12

Universidade Federal de Pernambuco Cobertura Ferramenta que executa uma análise estática do código Java em busca de trechos de código que não estão sendo testados. Neste ambiente, o Cobertura será utilizado para reportar os percentuais de código testado, buscando melhorar a qualidade dos testes escritos. 13

Universidade Federal de Pernambuco FindBugs Ferramenta que executa uma análise estática do código Java em busca de potenciais problemas críticos, como: ◦ Ocorrência garantida de NullPointerException; ◦ Possível divisão por zero; ◦ Possível loop infinito. Neste ambiente, o FindBugs será utilizado para reportar possíveis erros que podem não ter sido detectados durante a execução de testes unitários. 14

Universidade Federal de Pernambuco PMD Ferramenta que executa uma análise estática do código Java em busca de problemas menores, como: ◦ Variáveis locais, atributos e métodos não utilizados; ◦ Expressões muito complicadas, como ifs e loops aninhados; ◦ Duplicação de código. Neste ambiente, o PMD será utilizado para reportar ocorrências como as anteriores, visando o aumento da qualidade do código. 15

Universidade Federal de Pernambuco Maven Ferramenta de compreensão e gerenciamento de projetos. Gerencia dependências, geração de build e criação de relatórios e de documentação sobre o projeto. Neste ambiente, toda a configuração para a geração do build está centralizada no Maven. 16

Universidade Federal de Pernambuco Hudson Servidor de Integração Contínua que vêm sendo mais utilizado recentemente. 17 Fonte:

Universidade Federal de Pernambuco Hudson Monitora a execução de tarefas repetíveis, como geração de build. Permite agendar para gerar builds periodicamente ou apenas quando houver mudanças no repositório. Permite fornecer feedback através de RSS, ou Instant Messaging Possui gráficos que facilitam a visualização do status do projeto. 18

Universidade Federal de Pernambuco Prática... 19

Universidade Federal de Pernambuco Prática 20

Universidade Federal de Pernambuco Prática 21

Universidade Federal de Pernambuco Prática 22

Universidade Federal de Pernambuco Prática 23

Universidade Federal de Pernambuco Prática 24

Universidade Federal de Pernambuco Prática 25

Universidade Federal de Pernambuco Prática 26

Universidade Federal de Pernambuco Prática 27

Universidade Federal de Pernambuco Prática 28

Universidade Federal de Pernambuco Prática 29

Universidade Federal de Pernambuco Prática 30

Universidade Federal de Pernambuco Prática 31

Universidade Federal de Pernambuco Prática 32

Universidade Federal de Pernambuco Prática 33

Universidade Federal de Pernambuco Prática 34

Universidade Federal de Pernambuco Conclusões 35

Universidade Federal de Pernambuco Conclusões Com um ambiente de Integração Contínua, podemos deixar de nos preocuparmos com a geração manual de build. Reduzimos os recursos que antes estavam alocados para realizar tarefas manuais e repetitivas. Reduzimos os riscos associados à execução de tarefas repetitivas e sujeitas as erros. 36

Universidade Federal de Pernambuco Conclusões Aumentamos a qualidade do produto, utilizando ferramentas que automatizaram a execução de testes e a inspeção de código. Reduzimos o tempo decorrido entre a detecção e a correção de falhas, com o rápido feedback gerado após a ocorrência de uma falha. 37

Universidade Federal de Pernambuco Referências 38

Universidade Federal de Pernambuco Referências Fowler, Martin. Continuous Integration. ◦ Disponível em ◦ Último acesso em 30 de novembro de Duvall, Paul. Continuous Integration – Improving Software Quality and Reducing Risk. Addison-Wesley, Integração Contínua. Rafael Vanderlei – Apresentação de Seminário da disciplina de Qualidade do Mestrado no Cin/UFPE, Hudson Home ◦ Disponível em ◦ Último acesso em 30 de novembro de

Universidade Federal de Pernambuco Referências Subversion Home ◦ Disponível em subversion.tigris.org. subversion.tigris.org ◦ Último acesso em 30 de novembro de Maven Home ◦ Disponível em ◦ Último acesso em 30 de novembro de Findbugs Home ◦ Disponível em ◦ Último acesso em 30 de novembro de PMD Home ◦ Disponível em ◦ Último acesso em 30 de novembro de

Universidade Federal de Pernambuco Referências JUnit Home ◦ Disponível em ◦ Último acesso em 30 de novembro de Cobertura Home ◦ Disponível em ◦ Último acesso em 30 de novembro de Jabber Home ◦ Disponível em ◦ Último acesso em 30 de novembro de

Universidade Federal de Pernambuco Ambiente para Integração Contínua Obrigado! Rafael Vanderlei de Souza Programa de Mestrado em Ciência da Computação IN1149 – Qualidade, Processos e Gestão