O maior fracasso do teste de unidade

Nós, programadores, somos obsessivos por natureza. Mas muitas vezes fico frustrado com a profundidade de nossa obsessão por coisas como cobertura de código. Os testes unitários e a cobertura de código são bons coisas. Mas a cobertura de código perfeitamente executada não significa que os usuários usarão seu programa. Ou que ele é mesmo vale a pena em primeiro lugar. Quando os usuários não conseguem descobrir como usar seu aplicativo, quando os usuários ignoram seu aplicativo em favor de algo mais fácil ou mais simples de usar, isso é a falha definitiva do teste de unidade. Isso é o problema que o senhor deveria estar tentando resolver.

Tenho vontade de correr até meus colegas programadores e sacudi-los fisicamente: pensem maior!

Um exemplo perfeito de pensar maior é o livro de Alan Cooper Interação 08 palestra, Uma insurgência de qualidade.

Vídeo da palestra sobre insurgência de Alan Cooper

uma transcrição de sua palestra disponívelou o senhor pode assistir a um vídeo de sua palestra com os slides no lugar.

Alan é um conhecido designer de interação e autor de vários livros clássicos da área, como Sobre o rostoe alguns outros que estão em meu lista de leituras recomendadas. Na sessão de perguntas e respostas após a palestra, ele disse o seguinte:

“Não somos muito importantes porque não cortamos código”. (Uma vaia e um assobio da plateia.) No mundo da alta tecnologia, se o senhor corta o código, controla as coisas. É o poder de destruir o tempero, é o poder de controlar o tempero. Não é um tipo de controle fino: são coisas do tipo força bruta. [Interaction designers are] em grande parte marginalizados. Estamos constantemente pedindo permissão a pessoas que não deveriam estar em posição de conceder permissão. Deveríamos estar trabalhando com o pessoal de negócios e mobilizando a tecnologia para encontrar soluções para os problemas de negócios.

Mas quando chega a hora de organizar a solução para os problemas, acabamos nos deparando com esse tipo de Stay-Puft Marshmallow Man do desenvolvimento de software.

O homem do marshmallow Stay-Puft, de Ghostbusters

Não precisamos mudar o design de interação; precisamos reorientar as organizações para que construam as coisas corretamente. Quando chegamos aos programadores e dizemos: “Veja as pessoas com quem conversei; veja as personas que criei” e apresentamos a eles a pesquisa, os programadores entendem isso, e é assim que vamos influenciar.

Fico triste em ouvir isso Cooper considera a maioria dos programadores barreiras de marshmallow de vinte andares para um bom design de interação. Por favor, não seja um desses programadores. Aprenda sobre a ciência do design de interação. Pegue uma cópia de Não me faça pensar como introdução, se o senhor ainda não o fez. Há um motivo pelo qual esse livro está no topo da minha lista de leituras recomendadas. Mantenha seus testes unitários e a cobertura de código em perspectiva: o final é se os usuários querem ou não usar seu aplicativo. Todos os outros testes que o senhor escreve são totalmente irrelevantes até que consiga fazer com que esse teste seja aprovado.