Medir? Pra quê?

Medindo a Qualidade do Software

A atividade mais difícil que testar é ter um quantidade consecutiva de retrabalho após entregar um software.

A saber, normalmente um cliente pede um escopo do projeto e, caso este projeto seja entregue, se espera que o mesmo esteja funcionando corretamente, caso não esteja, o desenvolvedor deve consertar o erro, dar manutenção ao código.

Como um dever, essa atividade de suporte deve ser dado, em vezes e, dependendo do contrato, sem pagamento, sendo assim, aí está o motivo para garantir que o software possua qualidade.

Validador do W3C

No momento estou passando o site por todas as verificações do W3C, no modo são definidas por seu validador.

SONAR

Com o back-end sendo feito, o código está sendo avaliado pelo SONAR de modo a fazer com que notemos as partes do código as quais são consideradas complexas.

A diminuição da complexidade e do código será abordada clicando no ícone que define code Smells, caso seja encontrado e a partir da visualização de onde está o problema, este mesmo código será refatorado, buscando padrões para tal refatoração. A duplicidade do código será resolvida de modo análogo.

Além do SONAR indicar uma nota para o o código que está sendo feito o que ajuda a manter o código a um bom nível.

Técnicas Utilizadas para Testes

No projeto em questão são utilizados testes funcionais sistemáticos e testes guiados a comportamento. Para os testes, já que a linguagem utilizada será Java, serão utilizados JUnit para a execução do TDD em testes funcionais e Cucumber para o BDD em testes guiados a comportamento.

Como o sistema é um desenvolvimento feito para web, vários dados já serão limitados para a inserção nos campos de formulário, para que diminua a quantidade de testes a ser desenvolvido para cada campo do sistema.

TDD

TDD é o Desenvolvimento Orientado por Testes (Test Driven Development). Assim, o software será desenvolvido baseado em testes que são escritos antes, durante e depoisde cada parte do código em produção. Isso é dado pois o TDD se baseia em pequenos ciclos de repetições, onde para cada funcionalidade do sistema um teste é criado antes.

BDD

BDD serve para criar testes e integrar regras de negócios com a linguagem de programação, focando no comportamento do software. Além disso, ainda melhora a comunicação entre as equipe de desenvolvimento e o cliente, pois possui uma linguagem de fácil entendimento para ambos e define bem as regras de negócio.

Taiga e Github

Esse, é através daqui que é gerada a melhor medida pra mim. Motivo?

Mais difícil que gerenciar um código é gerenciar uma equipe, a partir dele dá pra se saber quem ficou encarregado de cada parte do projeto e quem executou essa parte.

Caso seja necessária a manutenção do código vai se saber quem fez a última modificação e poder recorrer a esta pessoa da equipe que ela garanta a qualidade do código e que esta pessoa produza testes funcionais para seu código.

É indicado ainda que outra pessoa, diferente da que construiu, que verifique a validação do código, afinal, um programador sempre considera o que programou como seu bebê, é difícil que veja erros.

Para além disso, tanto o taiga quando o github, produzem um gráfico que mostra como a equipe se desenvolve.

Like what you read? Give Izabely Furtado a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.