Princípios W.O.R.D. em Teste

Maniero
4 min readAug 23, 2021

Testes tem sido o foco quando o tema é qualidade de software. É impossível fazer Continuous Delivery sem testes. Se você já leu o livro ACCELERATE, você deve saber que CD é a chave das organizações de alta performance.

Há vários artigos sobre como escrever testes, TDD a o que é uma pirâmide de testes. Pretendo ter uma conversa um pouco mais abstrata e falar sobre o que você precisa considerar antes de tomar qualquer decisão sobre testes. Após ajudar alguns times desenharem sua estratégia de testes, eu descobri quatro princípios que ajudam times a se manter em dia com sua estratégia e escrever melhores testes. Eles são muito fáceis de recordar pelo acrônimo W.O.R.D.

Os quatro princípios: W.O.R.D.

  • It Works (Funciona)
  • It Orients the code design (Orienta o design do código)
  • It is easy to Refactor (É fácil de Refatorar)
  • It is a Debugging tool (É uma ferramenta de Debugging)

Funciona

- It Works

Uma das maiores preocupações com a qualidade do software é entregar um código que funcione sem efeitos colaterais. Qualquer estratégia de teste deve fornecer a segurança de que uma alteração feita que passe em todos os testes possa ser enviada para produção sem medos. Para isso é necessário uma estratégia de teste que cobre o aplicativo em diferentes níveis. Também requer uma equipe que entenda que a qualidade do software é papel de todos.

Desenvolvedoras não devem escrever testes para atingir uma métrica de qualidade. Eles devem entender que isso evitará defeitos e ajudará seus pares a entender o que aquela parte específica do código faz.

Orienta o desenvolvimento e o design do código

- It ORIENTS the development and code design!

Uma boa estratégia de teste deve facilitar o processo de desenvolvimento, você deve ser capaz de testar individualmente pequenos pedaços de uma solução complexa.

Testes fornecem dicas às desenvolvedoras sobre o código. Quando eles são muito complexos de ler e onde não há maneira de simplificá-los, você deve encarar isso como um code smell da sua aplicação.

Obviamente, o TDD desempenha um papel importante neste princípio, uma vez que TDD “visa eliminar o medo no desenvolvimento de software” — Kent Beck.

É fácil de Refatorar

- It is easy to Refactor

Frequentemente converso com as pessoas sobre testes, elas geralmente reclamam sobre como às vezes os testes tornam suas vidas miseráveis durante o processo de refatoração. Os testes não devem quebrar durante uma refatoração. Isso é um smell que seus testes não estão focando no ponto crucial de qualquer aplicação: seu comportamento.

Às vezes, desenvolvedoras se concentram muito nos detalhes de implementação. Quanto maior for o foco nos de detalhes de implementação dos seus testes, maior sera a dor da refatoração. Pegue leve com os mocks e certifique-se de validar o comportamento do aplicativo em vez da chamada de método.

É uma ferramenta de Debugging

- It is a DEBUGGING tool

Não há aplicações à prova de balas, bugs irão acontecer e, quando eles acontecerem, sua estratégia de teste deve ser capaz de simulá-los. Se você não consegue simular um bug, isso significa que existem alguns cenários que sua estratégia de teste não pode cobrir, e isso afeta diretamente o princípio “It Works”.
Certifique-se de que sua estratégia de teste evolua junto com a complexidade de seu aplicativo.

Com esses quatro princípios, a regra é reiterar! Discuta com sua equipe sobre a estratégia de testes de vocês. Verifique quais deles foram deixados de lado e como vocês podem evoluí-la. Espero que esses quatro princípios ajudem vocês a tomar decisões melhores e conscientes.

--

--