Por que eu devo ler este artigo:Qualidade de software e Integração Contínua (IC) são dois assuntos que fazem parte do desenvolvimento de grandes projetos de software. A capacidade de utilizar ambos é um dos diferenciais no desenvolvimento de uma excelente aplicação.

Além disso, como veremos ao longo do artigo, a Integração Contínua nunca será completa sem a garantia da qualidade de software. Ao longo desse artigo, iremos fazer uma breve introdução à Integração Contínua em .NET com Hudson, bem como demonstrar a utilização do Sonar como ferramenta de qualidade de software com esse servidor de IC.

A integração contínua é ferramenta essencial no desenvolvimento de grandes projetos de software. Entre as vantagens que esse recurso traz para as empresas está a capacidade de garantir que as muitas partes do software estejam integradas ao longo do projeto.

Esse tipo de atitude evita que haja atrasos ao final do desenvolvimento, o que era muito comum no desenvolvimento de aplicações há algum tempo. A ideia por trás da integração contínua é que as equipes de desenvolvimento realizem commits a um servidor central sempre que o código for alterado.

Então, automaticamente, o servidor irá realizar o build nesse código e, normalmente, aplicar testes sobre o mesmo.

A questão da qualidade de software é outro ponto essencial no desenvolvimento de software. Embora a qualidade propriamente dita seja muito relativa, uma vez que o que é bom para um pode não o ser para outro, existem algumas métricas que podem ser utilizadas para garantir a qualidade de software.

Essas métricas, basicamente, visam garantir que o software cumpre os requisitos inicialmente estipulados para o mesmo. Pensando nisso, a medição da qualidade de software é um ponto importante no desenvolvimento de software. Existem algumas ferramentas que auxiliam as equipes de desenvolvimento nesse caso, e o Sonar é uma delas.

Trata-se de uma ferramenta que irá avaliar diversos aspectos do código, como complexidade, número de comentários, arquitetura e design, cobertura de código (BOX 1), entre outros.

BOX 1. Cobertura de código

A cobertura de código é um termo utilizado no desenvolvimento de software que está diretamente ligado aos testes. Trata-se do nível de cobertura que os testes oferecem ao código.

Em outras palavras, a porcentagem de código-fonte que possui testes atribuídos. Uma cobertura de código de 100%, obviamente, deve ser o objetivo final. Entretanto, isso não é comum, devido ao fato de que um grande projeto terá milhares de métodos, sendo alguns deles extremamente simples.

Por isso, uma cobertura de código a partir de 90% já pode ser considerada excelente.

Ao longo desse artigo iremos apresentar uma das principais ferramentas de integração contínua em .NET: o Hudson. Iremos ensinar como implementar um simples projeto exemplo e verificar como realizar a conexão desse projeto com o Sonar para verificar a qualidade de código.

Apresentando a Integração Contínua

A integração contínua é uma técnica que visa fazer com que o software esteja finalizado no momento que o último pedaço de código é concluído. Entretanto, a implementação dessa técnica não é das mais simples, normalmente. Exige um conhecimento grande por parte de quem está implementando a mesma, além de uma boa vontade da equipe de desenvolvimento.

A IC pode ser considerada o grande divisor de águas no desenvolvimento de software atual, uma vez que ela irá alterar radicalmente o modo de pensar das equipes sobre o processo de desenvolvimento. Essas mudanças serão finalmente benéficas, embora possa haver alguma resistência por parte da equipe de desenvolvimento com relação a mudanças.

Até o momento, temos falado de integração contínua de forma bastante genérica. Mas, afinal, o que é a integração contínua? O principal fundamento da integração contínua é facilitar a manutenção do código.

Entretanto, há muito mais que pode ser feito com a IC. A IC basicamente deve construir (build), testar, analisar e implementar uma aplicação para garantir que o processo inteiro está funcionando seguindo as melhores práticas de desenvolvimento.

Esse processo deve ser executado a cada alteração no código (commit por um membro da equipe) e permite uma resposta imediata para os membros do time, possibilitando também um meio de saber o que os outros membros da equipe estão realizando e se eles estão realizando corretamente.

Esse tipo de procedimento permite também que a IC seja utilizada como uma forma de mensurar o tempo gasto pelo time de desenvolvimento em alterações no código, ajudando a definir custos de ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora