PT | EN
Publicado dia 4 de junho de 2020

Clean Code para Testes Automatizados

| Tempo de leitura 4 minutos Tempo de leitura 4 minutos
Clean Code para Testes Automatizados

Durante esse período de trabalho remoto, em virtude da pandemia de coronavírus,  a segunda edição da Comunidade de Prática (CoP) de Qualidade de Software foi totalmente online (neste link você pode conferir detalhes da primeira edição). Desta vez, a CoP foi apresentada pelo Analista de Testes Matheus Cardozo, que compartilhou algumas práticas de Clean Code para testes automatizados.

Ao se trabalhar desenvolvimento de software e de testes automatizados, não basta apenas escrever o código para que a aplicação passe a funcionar. Normalmente, os softwares passam por atualizações, manutenções e refatoração que podem ser colocados em prática por outras pessoas. Tendo isso em vista, o Clean Code facilita a leitura do código, por exemplo.

O que é Clean Code?

O Clean Code, ou código limpo em tradução livre, é um código escrito de maneira simples e direta, facilitando a sua compreensão e deixando claro o seu objetivo. Esse conceito de desenvolvimento facilita a manutenção, a inserção de novas aplicações e as atualizações no código. Criar um código limpo pode ser muito importante, por exemplo, para quem trabalha com softwares legados, pois ele pode evitar que, ao fazer alguma alteração no código,  outras funcionalidades se quebrem. Por esses motivos, Matheus apresentou boas práticas para testes automatizados utilizando o conceito de Clean Code e forneceu dicas para que um projeto simples e robusto possa ser desenvolvido.

Boas práticas de Clean Code para testes

  • Não utilize código bilingue: não escreva classes, métodos, funções ou variáveis em inglês e em português. Escolha um idioma para seu código, isso facilita a leitura e entendimento do código.
  • Monte uma arquitetura simples: é necessário pensar uma arquitetura consistente e criar uma estrutura similar entre os componentes, principalmente para quem atua em um ambiente escalado, onde o código é dividido entre vários squads ou times. Dessa forma você facilita a visualização do que está sendo alterado.
  • Utilize helpers: para não criar testes fixos ou viciados é importante utilizar data providers. Na classe helpers você pode instanciar dados que serão utilizados nos testes – esses valores podem ser datas em formatos específicos, números para validar limites ou outras informações relevantes para os testes.
  • Aproveite o máximo da linguagem: ao executar os testes automatizados, utilize os recursos de logs, por exemplo. Eles podem auxiliar mensagens e facilitar o encontro de erros durante os testes.
  • Não repita o código: se você utilizar o mesmo código várias vezes, é possível transformá-lo em um método.
  • Nomenclaturas de classes e métodos: use verbos para nomes de métodos e substantivos para classes e variáveis, por exemplo. Isso é importante, pois auxilia no entendimento do domínio da classe e no que o método ou a função faz.

Regras para variáveis

Matheus também comentou que é importante utilizar nome revelador e pronunciável da intenção ou informação. Por exemplo: uma variável deve guardar a informação de quantos dias se passaram desde o pagamento do boleto, conforme a imagem abaixo:

clean code 1

Outra dica é utilizar nomes de domínio da solução e ser consistente. Por exemplo: você tem variáveis que guardam informações de uma fila de pagamentos em dois locais diferentes e em diferentes contextos, conforme a imagem abaixo:

clean code 2

Regras para métodos

Os métodos devem fazer apenas uma coisa e quanto menor o seu nome, melhor.  Caso um cálculo seja alterado para um dos métodos, pode comprometer o cálculo de outro. Por exemplo: você precisa calcular juros e multa de um boleto, conforme a imagem abaixo:

clean code 3

Outra dica do QA é não comentar o código se ele não está em boas condições. É melhor que ele seja reescrito, fornecendo a informação de maneira clara e objetiva. Se o código está legível, comentários não são necessários. Já para tratar erros é possível utilizar exceções e blocos try-catch. Esses blocos capturam as exceções e permitem o tratamento do erro.

Essas são apenas algumas dicas que podem ser úteis ao realizar testes automatizados e que foram apresentadas durante a Comunidade de Prática de Qualidade sobre Clean Code.

Foto do autor

Cecilia Ribeiro

Analista de Marketing da SoftDesign, é formada em Jornalismo (UFRGS). Com experiência em criação de conteúdo digital, atua nas áreas de Marketing Digital e Estratégico.

Quer saber mais sobre
Design, Estratégia e Tecnologia?