Você foi contratado para liderar uma equipe de DevOps. Um dos objetivos da sua liderança é aumentar a velocidade das entregas e a qualidade de novos recursos das aplicações utilizando o desenvolvimento orientado a testes. Assinale a opção que apresenta a ordem que descreve o ciclo de desenvolvimento orientado a testes.
- A)Refatorar - > Escrever um código funcional
Errada, porque refatoração só faz sentido depois que existe um código funcional e testado.
- B)Escrever um caso de teste -> Refatorar
Errada, porque faltam a implementação do código funcional e a ordem correta do ciclo.
- C)Refatorar - > Escrever um código funcional - > Escrever um caso de teste
Errada, porque começa pela refatoração, o que não existe no ciclo de TDD.
- D)Escrever um caso de teste -> Escrever um código funcional -> Refatorar
Certa, porque o ciclo de TDD é escrever um caso de teste, depois o código funcional e, por fim, refatorar.
- E)Escrever um código funcional -> Escrever um caso de teste -> Refatorar
Errada, porque coloca a implementação antes do teste, invertendo a lógica do TDD.
Gabarito: D
O desenvolvimento orientado a testes, mais conhecido como TDD, segue um ciclo bem simples e muito cobrado em prova: primeiro você escreve um teste, depois escreve o código mínimo para fazer esse teste passar e, por fim, refatora para melhorar a solução sem quebrar o que já funciona. A lógica é quase um passo a passo de cozinha: antes de preparar tudo, você prova a receita em pequena escala para saber se está no caminho certo. Esse método ajuda a aumentar a qualidade porque obriga você a pensar no comportamento esperado antes de implementar. Assim, os testes funcionam como uma espécie de guia e também como rede de segurança. Em equipes DevOps, isso combina muito com entrega contínua, porque reduz surpresas desagradáveis na hora de colocar código em produção. Na questão, o gabarito é a letra D porque ela traz exatamente a sequência do TDD: escrever um caso de teste, depois escrever o código funcional para satisfazer esse teste e, em seguida, refatorar. O ponto central é que o teste vem antes da implementação, e a refatoração vem por último nessa iteração. Se você lembrar do ciclo clássico do TDD, pense em vermelho, verde e refatoração: o teste falha primeiro, depois passa, e então você melhora o código. É uma das ideias mais associadas a Kent Beck, nome sempre lembrado quando o assunto é TDD.