De que se trata o artigo

O desenvolvimento dirigido por testes define uma abordagem de desenvolvimento em que as atividades de desenvolvimento são guiadas pela definição de casos de teste. Neste contexto, este artigo apresenta como o desenvolvimento dirigido por testes pode ser utilizado ao lidarmos com bases de dados.

Em que situação o tema útil

Testes de unidade são uma abordagem de garantia de qualidade em nível de código fonte. No contexto de banco de dados, eles são úteis para garantirmos a qualidade das bases de dados que criamos assim como das restrições criadas e scrips de acesso utilizados.

Resumo DevMan

O uso de testes de unidade é uma boa opção para aprimorarmos a qualidade dos sistemas que desenvolvemos. Veremos neste artigo que também é possível utilizar esta abordagem em nível de banco de dados e como contornar algumas dificuldades que aparecem durante o seu uso.

Test Driven Development (TDD) é conhecido por ser um método eficaz para o desenvolvimento de projetos orientados a objetos. No desenvolvimento de banco de dados, no entanto, as práticas de TDD não são tão conhecidas e equipes de desenvolvimento evitam utilizar os princípios do TDD no uso da linguagem SQL. Isto pode ser considerado um problema por que pode conduzir a um código mal testado.

Não ter os casos de teste apropriados torna difícil melhorar seu projeto de banco de dados. Aliado a isto, a não implementação de práticas de TDD no banco de dados ao longo do tempo tende a levar a uma arquitetura em decomposição e pode dificultar a evolução da aplicação em geral. Neste contexto, este artigo discute formas para permitir aos desenvolvedores de software usar TDD na construção de suas bases de dados.

Testes dirigidos por modelo baseiam-se nos seguintes princípios:

1. desenvolva apenas o que você precisa;

2. construa software de modo que seja testável;

3. construa software de modo que ele seja flexível;

4. construa um conjunto de testes de regressão que proporcione a confiança para melhorar o projeto através do uso de refatoração;

5. automatize as partes tediosas do teste;

6. execute testes com frequência para fornecer feedback constante.

O passo chave no desenvolvimento orientado a testes é escrever primeiro teste. Em seguida, escreva apenas o código suficiente para fazê-lo passar. Ao trabalhar desta forma, você terá dois resultados: em primeiro lugar, isso significa que não importa o que você escreve, você vai ter a cobertura do teste; em segundo, você vai ser forçado a escrever o seu código de uma maneira testável.

TDD tem siso usado em muitos ambientes de programação orientada a objetos. Mas ele pode ser aplicado com sucesso para o desenvolvimento de banco de dados?

Para responder a esta questão vamos considerar um cenário de projeto de ETL (Extract-Transform Load) cuja implementação foi quase inteiramente feita na linguagem T-SQL. No começo do projeto a aplicação ETL sofria de sérios problemas de qualidade e desempenho.

...
Quer ler esse conteúdo completo? Tenha acesso completo