Papéis e Atividades > Atividades do Desenvolvedor > Integrador > Panejar Integração do Sistema
Atividade:
|
Propósito
|
|
Passos | |
Artefatos
de Entrada:
|
Artefatos de Saída: |
Papel: Integrador |
Subfluxo: |
A estratégia de integração adotada deve ser a da integração contínua. Nela, os componentes são integrados ao sistema logo que são concluídos e testados. Uma vez integrados com sucesso, são executados testes de regressão para garantir que a funcionalidade já existente não foi afetada pelo novo componente. Também deve-se incluir casos de teste para verificar a funcionalidade do novo componente e a sua integração com os componentes já integrados.
A grande vantagem desta estratégia é identificar os erros rapidamente, pois a integração é feita com um componente por vez e várias vezes ao dia. É extremamente aconselhado o uso de ferramentas para otimizar a geração de builds e execução automática dos casos de testes, sendo necessária a intervenção humana somente em caso de falha. Sem esta automação, a produtividade da equipe pode ser bastante comprometida.
Os desenvolvedores devem identificar, entre os casos de teste já existentes, quais devem ser executados sempre que um novo componente for integrado. Em geral, estes casos de teste dizem respeito às principais funcionalidades do sistema ou a funcionalidades que, se alteradas, impactam muitas outras. Devem ser incluidos novos casos de teste aos testes de regressão à medida que as funcionalidades já implementadas vão aumentando.
A execução destes testes deve ser automatizada pois, como serão executados freqüentemente e são em grande número, é inviável que seja uma atividade manual. Para isso sugere-se o uso de frameworks da família xUnit, como o JUnit, disponíveis em várias linguagens..
Uma vez identificados os testes de regressão, deve-se definir com que freqüência serão gerados os builds do sistema. Em geral, é gerado um build cada vez que um novo componente é finalizado. Entretanto, em alguns casos, o processo de build pode ser bastante demorado e sua geração constante pode representar um gargalo no desenvolvimento. Neste caso, é melhor esperar um certo número de componentes ser finalizado e integrar vários deles de uma vez. O número de componentes que pode ser integrado em conjunto sem trazer grandes problemas depende das características do projeto e da linguagem de programação utilizada. Aconselha-se, no mínimo, a produção de um build diário.
Assim como a execução de testes, é extremamente vantajoso automatizar a geração dos builds. Atualmente, existem váras ferramentas de código aberto que facilitam este processo, como o GNU make, Ant e Cruise Control.
Para avaliar o Plano de Integração, considere os seguintes pontos:
Rational Unified Process |