TEST-DRIVEN MAINTENANCE: AN APPROACH FOR THE MAINTENANCE OF LEGACY SYSTEMS / TEST-DRIVEN MAINTENANCE: UMA ABORDAGEM PARA MANUTENÇÃO DE SISTEMAS LEGADOS

AUTOR(ES)
FONTE

IBICT - Instituto Brasileiro de Informação em Ciência e Tecnologia

DATA DE PUBLICAÇÃO

08/04/2011

RESUMO

Test-Driven Development é uma técnica de desenvolvimento de software baseada em pequenos ciclos que alternam entre a escrita de testes e a implementação da solução para que os testes sejam aprovados. O desenvolvimento orientado a testes vem apresentando excelentes resultados em diversos aspectos da construção de novos sistemas de software. Maior manutenibilidade, melhoria de design, redução da densidade de defeitos, maior documentação e maior cobertura do código são vantagens que contribuem para a diminuição do custo de desenvolvimento e, conseqüentemente, para a maximização do retorno sobre o investimento obtido quando adotamos a técnica. Todos esses benefícios têm contribuído para que Test- Driven Development se torne uma prática cada vez mais crítica na aplicação de metodologias ágeis no processo de desenvolvimento. Quando avaliamos a técnica, sob a ótica dos muitos sistemas legados existentes, nos deparamos com uma clara incompatibilidade para sua adoção neste contexto. Test-Driven Development parte da premissa de que os testes devem ser construídos antes do código e, quando trabalhamos com legados, já possuímos milhares de linhas escritas e funcionando. Diante deste cenário, apresentamos a técnica, que chamamos de Test-Driven Maintenance, resultado da adaptação de Test-Driven Development para o contexto de legados, detalhamos o processo de adaptação necessário para que chegássemos à forma descrita e realizamos uma avaliação das características da técnica original que se estenderam à técnica adaptada. Buscando obter resultados que fossem, de fato, aplicáveis, produzimos uma avaliação empírica baseada nos resultados obtidos na introdução da técnica em um sistema legado, em constante uso e evolução, de uma empresa do Rio de Janeiro.

ASSUNTO(S)

manutencao updating

Documentos Relacionados