Motivação e Testes

January 2nd, 2008 § 0 comments

Que testes são uma parte essencial do processo de desenvolvimento de software é algo com o qual a maioria dos desenvolvedores concordaria–mesmo que não pratiquem qualquer técnica formal além de seguir um script qualquer do que deve ser testado e em que condições.

Ironicamente, a dupla ascensão de aplicações Web como a forma preferida de interface e de metodologias ágeis como uma alternativa mais eficiente à sistemática de criação de código forneceu uma oportunidade única para a experimentação na área de testes. Aplicações Web se prestam naturamente a testes pela facilidade de automatização implícitas na execução dos protocolos que compõem a Web. Da mesma forma, metodologias ágeis trazem consigo uma necessidade de experimentação que gerou centenas de ferramentas dinâmicas em tempos recentes que quebraram muitas barreiras no processo de testes.

O resultado é que hoje, na comunidade mais ativa de desenvolvimento, testes estão se tornando basicamente uma premissa de desenvolvimento. Os benefícios são claros: facilitação de mudanças, robustez, suporta a integração e mesmo documentação dependendo das características das ferramentas usadas.

O que geralmente passa desapercebido quando se fala de testes, entretanto, é que eles também possuem um último benefício que talvez seja o mais importante: a motivação que os mesmos podem trazer ao desenvolvedor no dia-a-dia da escrita do código.

Projetos novos–principalmente os de grande porte–possuem inícios complicados, o resultado dos quais influencia completamente a vida útil dos projetos em questão. Nesse sentido, testes podem motivar os desenvolvedores em dois sentidos: primeiro e mais óbvio, mostrando que a qualidade e robustez da aplicação estão sendo garantidos a cada passo pela formatação dos requerimentos em código secundário; e segundo, pelo puro prazer que um conjunto de testes que está passando sem falhas pode proporcionar.

Da mesma forma, projetos legados, principalmente os que não possuíam testes anteriormente, podem ter seu desenvolvimento motivado pela criação incremental de testes que garantem um entendimento melhor do código e uma dominância progressiva do problema sendo tratado.

Subestimar o efeito que esse tipo de motivação pode ter no desenvolvimento é substimar o fator humano nos mesmos. E testes possuem justamente as características necessárias para proporcionar motivação máxima com benefícios tangíveis em termos de desenvolvimento. Embora isso não seja tão considerado na escolha de uma metodologia apropriada, é óbvio que um framework dinâmico e reaproveitável é essencial.

Sendo assim, da próxima vez em que alguém reclamar que testes são mais complicados e que tornam o desenvolvimento mais longo, talvez não seja necessário apontar fatores técnicos. Aponte o fator humano e o ganho de produtividade resultante e isso pode se tornar um grande ponto de venda para o que você quer implementar em termos de testes.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Motivação e Testes at Superfície Reflexiva.

meta