maio 2016 - integração e validação contínua

30
Ajudamos empresas a criar produtos digitais de sucesso

Upload: grupo-de-testes-carioca

Post on 16-Feb-2017

54 views

Category:

Software


2 download

TRANSCRIPT

Ajudamos empresas a criar produtos digitais de sucesso

Integração e Validação Contínuas

Grupo de Testers Carioca - 10/5

Quem sou eu?

Rafael Alves:

- Engenharia da Computação pelo IME- Cansado da teoria, quer ver a prática- QA da Concrete Solutions.

Introdução

Problema:“Só falta integrar”

Introdução

“Você quebrou o build!”

Integração Contínua

Integração Contínua - o que é?

“Prática de desenvolvimento de software na qual os membros de um

time integram seu trabalho frequentemente. Cada pessoa

integra pelo menos diariamente, podendo haver múltiplas integrações em um dia” -

Martin Fowler

Integração Contínua:Visão Geral

Considerações

- Build a cada mudança no versionamento- Peça chave de qualidade- Automação de processos

- Esforço maior no começo- Menor esforço com o tempo- Menos dor de cabeça com integração no futuro

Por que fazer?

- Reduzir riscos- Defeitos encontrados mais cedo- Saúde do software mensurado- Evita o “funcionava na minha máquina"

- Reduzir processos manuais repetitivos- Diminui desgaste- Permite foco em atividades de maior valor

Por que fazer?

- Gerar deploy a qualquer hora/lugar- Build completo e deploy a qualquer momento- Mais benefício para o cliente

- Aumenta a visibilidade do projeto pelo time- Informações gerenciais (métricas)- Tomadas de decisões efetivas

- Aumento da confiança do time- Compilações, testes e integrações a cada mudança.

O que precisa?

- Conexão com um repositório de controle de versão;

- Script de build;- Mecanismo de feedback;- Processo para integrar as mudanças no

código fonte (CI server)

Fonte: Continuous Integration

Integração Contínua: esquema

Como o CI pode ajudar?A resposta é...

E a especificação por exemplo?

Validação Contínua +

Especificação por Exemplo

Validação contínua: O que é?

“Certificação de que o sistema atende às necessidades e expectativas do cliente,

continuamente”

Especificação por exemplo: o que é?

"Abordagem colaborativa de definição de requisistos e testes funcionais por meio de exemplos realistas ao invés de declarações

abstratas."

Ferramentas

“Soluções Concretas”

Servidor de CI: Jenkins

Servidor de CI: Jenkins

- Antigo Hudson- Fácil de instalar

- java -jar jenkins.war- Fácil de configurar

– Web GUI amigável- Sistema de plugins flexível- Plugin fácil de extender- Builds distribuídos

Servidor de CI: outros

Feedback: CC Menu

Ferramentas: CC Menu

Sugestão de Leitura

- Continous Integration (Paul Duvall)

Feedback: outros

CCTray (Windows) BuildNotify

Sugestão de Leitura

- Specification by Example (Gojko Adzic)

Fim!

Agradecimentos

- Grupo de Testes Carioca- Wagner Guimarães (UX da Concrete)- Time de QA da Concrete- Carol Almeida (Comunicação da

Concrete)

www.concretesolutions.com.brblog.concretesolutions.com.br

Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (21) 2240-2030

São Paulo - Rua Sansão Alves dos Santos, 433 4º andar - Brooklin - (11) 4119-0449