Executando verificação de segurança...
4

🧠 A mentalidade de um QA

O trabalho de um QA consiste em procurar os pontos fracos de um software, seja lá qual for, e reportá-los para serem corrigidos garantindo assim a melhor qualidade possível.

Para realizar esse trabalho com eficiência, deve-se ter uma mentalidade de teste. Em outras palavras, ser o mais destrutivo possível da maneira mais criativa possível.

E por qual motivo um QA e não um Dev?

A psicologia tem um papel muito importante nesse ponto: é provado que os desenvolvedores são muito ruins para testar seu próprio código e existem boas razões para isso:

  • É difícil encontrar erros em algo feito por você mesmo;
  • É desafiador pensar em algo que não deveria acontecer quando você está 100% focado no que o sistema deveria fazer;
  • Em geral, um desenvolvedor tendem a ter uma mente orientada à soluções (como fazer?) em vez de uma mente orientada à problemas (como quebrar?);
  • Como os desenvolvedores sabem o “caminho feliz” do sistema e como ele funciona em detalhes, é possível que não vejam cenários alternativos que poderiam causar comportamentos inesperados.

Mentalidade?

Um analista de qualidade não é um ser humano que nasceu dotado de um dom para testar software. Mas ser um bom QA também não consiste de aprender meia dúzia de passos memorizáveis e sair usando em todas as ocasiões.

O teste é um campo profundo e desafiador que requer prática e experiência para se sair bem. É também uma atividade na qual algumas pessoas parecem ser melhores do que outras - algumas pessoas parecem ter uma “mentalidade de testador”… elas “pensam como um testador”.

Dito isto, existem alguns pontos que podem ser treinados para exercitar essa mentalidade de testador:

Comunicação construtiva

Após a descoberta do bug, ele deve ser comunicado à equipe para sua correção. A forma em que se comunica um bug é muito importante, pois os desenvolvedores são emocionalmente ligados com o código. Antes de chegar ao QA, o dev também testou e se preocupou com a qualidade final do produto.

Então para uma comunicação saudável, é bom se atentar a esses pontos:

  1. Discutir e atacar o problema, não a pessoa;
  2. Ser específico, não generalista;
  3. Trabalhar com fatos, não com julgamentos;
  4. Comunicar a partir de um objetivo em comum.

Pensamento invertido

Ao invés de achar que o software funciona e ir procurar bugs, ir acreditando que ele não funciona e que o mesmo deve se provar funcional. Com isso, a mente passa a enxergar com muito mais facilidade bugs que passariam despercebidos.

Igual quando você decide comprar um carro e, de repente, é o carro que mais se vê nas ruas.

Empatia

É o ato de se por no lugar dos usuários, não apenas no sentido de “o que eles fizerem, eu farei”, mas sim de imaginar o que eles sentem, pensam, prever o que eles fariam, onde ficariam confusos e por que podem se sentir frustrados.

Suposições desafiadoras

"Desafiar suposições" é uma habilidade fundamental para testadores eficazes, mas isso não significa desafiar todas as suposições e começar do zero. Identificar e alavancar suposições é útil para reduzir o escopo de testes possíveis e encontrar problemas.

A habilidade crítica é avaliar com precisão as suposições para determinar se elas estão guiando corretamente o comportamento ou desviando-o. A mentalidade do testador avalia constantemente as suposições para determinar sua validade e valor, mas é importante reconhecer que a gente não acerta todas.

Conclusão

Além dos tópicos mencionados acima, podemos destacar que um bom tester é por natureza um explorador, criativo e com um pensamento crítico afiado; capaz de até mesmo reconhecer a natureza humana pro trás do processo de construção de software e antecipar bugs decorrentes de erros e vieses comportamentais

Referências

Sobre mim

Você pode me encontrar em meu github, linkedin ou instagram.

Carregando publicação patrocinada...
1

Show!
Eu já pensei muito sobre QA, assim que entendi que "curar" Chatbots é testar e propor melhorias.
Eu trabalho como Analista de Chatbots e na Curadoria fica impossível de não achar "erros", e melhorar o fluxo pro usuário é exatamente o que eu faço todos os dias.
Nunca gostei da palavra "quebrar bots" (como se é dito nos grupos), porque no meu consentimento, não é só sobre quebrar e sim, além de encontrar erros é propor melhorias também.
Concordo sobre a "Empatia", se colocar no lugar do usuário...
Até porquê todos somos "usuários" também, e todos os dias.
A frustração de precisar resolver algo pela internet e não conseguir é inaceitável. A pessoa tem a opção, foi investido tempo e dinheiro nos softwares, e não funcionar?
Isso deveria ser inaceitável para o "Dono" do negócio.
No início eu enxergava a habilidade de "encontrar furos" (como eu dizia), como algo ruim, porque é quase que encontrar defeito em tudo.
Nunca imaginei que alguém pudesse se destacar profissionalmente por conta disso.
Hoje eu sigo a trilha de especialização em QA, eu achei sensacional os tópicos.
Eu entendi que trabalhar usando nossas habilidades, além de prazeroso, a gente procura sempre a entrega do melhor.

1

Tem uma piada que ilustra bem como um bom teste deve ser feito:


Um analista de QA entrou no bar.

Pediu uma cerveja. Depois duas, depois 100, depois 10032498279873927932.

Pediu zero cervejas, pediu 3,25 cervejas, pediu –1 cerveja.

Ficou sentado na mesa sem pedir nada por duas horas.

Pediu um misto quente.

Pediu um "gx$@#@/.,]".

Pediu dois jacarés e uma caminhonete.

Saiu do bar e voltou com um guarda-chuva, pediu pro garçom abri-lo e jogou a cadeira na parede.

Etc...