Contexto da Integração Contínua
Características da Integração Contínua
- Os defeitos no código são detectados mais rapidamente;
- Implantação e os testes são realizados em um único processo repetitivo e automatizado, que deve ser feito pelo menos uma vez por dia.
- Para isso é necessário: Gestão da Configuração, Compilação e Build.
- Testes automatizados são realizados frequentemente, gerando feedback rápido para a equipe sobre a qualidade do código;
- Teste automatizado de regressão pode ser contínuo ao longo da iteração, abrangendo a maior funcionalidade possível, incluindo histórias de usuários desenvolvidos nas interações anteriores;
- Boa cobertura nos testes automatizados de regressão ajuda no desenvolvimento de grandes sistemas integrados;
- Teste de regressão automatizado, deixa os testadores estão livres para concentrar seus testes manuais em novas funcionalidades, mudanças implementadas, e teste de confirmação de correções de defeitos.
A Integração Contínua e o Uso de Ferramentas
A integração contínua utiliza-se de ferramentas de desenvolvimento para implementar a garantia da qualidade. Essas ferramentas podem realizar:
- Testes dinâmicos e estáticos;
- Medição do perfil de performance;
- Extrair e formatar documentação a partir do código-fonte;
- Facilitar os processos manuais de garantia da qualidade.
Atividades Automatizadas na I.C.
A Integração Contínua e a Garantia da Qualidade
A integração contínua:
- Melhora a qualidade do produto;
- Reduz o tempo de desenvolvimento;
- Altera a prática tradicional do controle da qualidade após completar todo o desenvolvimento.
Benefícios da Integração Contínua
Desafios da Integração Contínua
- Necessidade de aquisição e manutenção de ferramentas de integração contínua;
- O processo de integração contínua deve ser definido e estabelecido;
- A automação de teste exige recursos adicionais e pode ser complexa para ser estabelecida;
- Uma boa cobertura do teste é essencial para alcançar vantagens de teste automatizado;
- Confiar excessivamente nos testes da unidade e realizar pouco do teste de sistema e de aceitação;
- A integração contínua requer o uso de ferramentas para testes;
- Automatizar o processo de build;
- Controle de versão.