Psicologia de um Tester (parte 2)
Embora existam vários autores que falam sobre a psicologia do Tester, um que eu li e que gostei muito da sua análise, perspectiva e abordagem foi o Glenford J. Myers, autor do livro “The Art Of Software Testing”, publicado pela primeira vez em 1979, pelo qual ficou mundialmente reconhecido e onde explora várias facetas dos testes de software, incluindo os aspectos psicológicos que influenciam a eficácia dos testers.
No livro, Myers discute e analisa a importância da mentalidade correta para um tester de software, destacando que devemos adoptar uma abordagem diferente da dos programadores, através do foco na identificação de erros ao invés de presumir que o software funciona corretamente (que é um erro muito comum!!).
Os principais pontos de Glenford Myers sobre a Psicologia de um Tester:
Desconfiar do Código
Myers enfatiza que os testers devem partir do princípio de que o código contém erros. Esta desconfiança saudável ajuda a mantermos uma atitude crítica e contínua investigação durante o processo de testar.
Pensamento Negativo
Ao contrário dos programadores, que normalmente têm uma visão optimista e construtiva do código, nós testers devemos adoptar um pensamento negativo, procurando activamente por falhas e problemas.
Mentalidade de Destruidor
Myers sugere que testers eficazes são aqueles que têm uma "mentalidade de destruidor", ou seja, uma abordagem que procura destruir o software para revelar seus pontos fracos. Não sei se for por conta deste ponto que se gerou a “guerra silenciosa” tão conhecida entre programadores e testers, em que nós passámos a ser mal vistos e considerados uns chatos e destruidores do ‘bom’ trabalho dos outros.
Independência
A importância de manter uma certa independência entre nós testers e os programadores é bastante destacada, porque esta atitude ajuda a garantir que podemos avaliar o software de maneira o mais objetiva e imparcial possível.
Cepticismo
Um cepticismo saudável é importante! Nós testers não devemos tomar nada por garantido e temos de questionar e colocar em causa todas as suposições sobre o funcionamento do software.
Talvez com alguns breves exemplos práticos seja mais fácil de te explicar algumas das ideias de Myers.
Exemplo 1) Teste de Casos Limite
Em vez de testarmos apenas os cenários de utilização normais, nós testers caso tenhamos a mentalidade correta iremos testar casos limite e situações extremas para encontrar falhas que não são imediatamente óbvias.
Exemplo 2) Verificação de Restrições e Validações
Assumindo que entradas incorretas podem não ser tratadas corretamente pelo software, devemos introduzir/registar dados inválidos para verificar como o sistema/software responde a esses casos.
Exemplo 3) Revisão Cruzada
Ao adoptarmos uma abordagem independente, podemos rever o trabalho dos programadores, a fim que garantir que com avaliações externas sejam identificados problemas que podiam ter sido ignorados internamente.