Michael Feathers fala que desenvolvedores podem assumir duas posturas distintas ao fazer modificações nos sistemas: “modificar e rezar” ou “cobrir e modificar”.
“Modificar e rezar” acontece quando um desenvolvedor altera o código de um sistema sem que existam testes adequados. Já “cobrir e modificar” acontece quando o desenvolvedor se certifica de que existam bons testes, em quantidade suficiente, para mitigar riscos de que as alterações comprometam comportamentos do sistema que os usuários valorizam.
Partindo do pressuposto que a escrita de testes não é novidade há tempos, insistir em desenvolver sistemas sem testes é atestado de descaso com a profissão só justificado para amadores remunerados.