Wiki

Orientações técnicas/Recomendacoes Programacao Orientada Testes

Table of Contents [-]

    Recomendações para uma programação orientada a testes

    Utilização de TDD

    A primeira dica é que sejam utilizados os conceitos de TDD para iniciar a implementação pelas classes de testes e a partir delas desenvolver o "esqueleto" inicial das classes principais da aplicação. Entre outros benefícios dessa prática estão a melhor cobertura dos requisitos, melhor estruturação do código, além da garantia de manutenção futura pois as classes de teste farão um tracker para a execução correta da aplicação ( Vide Conceitos gerais em testes unitários).

    Refatoramento de código

    É interessante que o desenvolvedor sempre revise o código já implementado. A construção de classes de testes para código já existente permite que o desenvolvedor possa estruturar melhor esse código, aumentar sua cobertura de requisitos, remover redundâncias, condicionais desnecessários, entre outras melhorias. Mesmo utilizando o TDD o refatoramento é presente e essencial.

    Evitar lixo no código

    Essa dica serve para o desenvolvimento como um todo e não somente para implementação de classes de testes. Devemos evitar deixar métodos ou parte deles comentados que não serão mais utilizados. Para isso contamos com a ferramenta de controle de versão que nos indica o que foi modificado entre as versões do mesmo artefato. Uma tendência natural durante o desenvolvimento é que as alterações no código sejam realizadas e por causa do tempo curto do desenvolvedor, esse seja realize sua cobertura nos casos de testes, fazendo com que os testes quebrem e não possibilitem que a aplicação seja compilada. Para que o build passe normalmente comentam os testes sem garantir que o código que foi alterado está correto. Isso é uma prática ruim. O ideal seria para toda alteração do código principal, rodar o caso de teste específico, e sendo o caso atualizar esse caso de teste para a cobertura correta.

    Utilização da suíte de testes

    Normalmente os testes unitários são realizados no momento da implementação de determinada classe, mas nas alterações futuras nem sempre o teste é executado para garantir que as mudanças na classe não geraram efeitos colaterais indesejados. É importante que sempre os testes sejam executados após qualquer alteração. Preferencialmente seria interessante que a suíte de testes fosse executada de forma automática, por exemplo em um ambiente de integração contínua.

    Utilização do framework de testes mais adequado

    O demoiselle atualmente conta a utilização do JUnit, Easymock e do JMockit para a realização dos testes unitários. Esses frameworks podem ser utilizados separadamente ou em conjunto dependendo da necessidade. É importante que o desenvolvedor adquira um conhecimento mais aprofundado em cada framework para saber qual deles deverá utilizar em determinada situação de forma mais objetiva evitando um trabalho desnecessário utilizando outro menos indicado.

    0 Anexos
    1372 Visualizações
    Média (0 Votos)
    A média da avaliação é 0.0 estrelas de 5.
    Comentários
    Sem comentários ainda. Seja o primeiro.