#ChuckMyers possui características incrivelmente superiores a um testador comum, e hoje, demonstrará um de seus dotes, como o intuito de mostrar a você, testador comum, práticas que podem te ajudar a melhorar seus testes.

B29B7307-1963-4705-B61A-AC9659A60E16.png

Diferente de #ChuckMyers, nós somos testadores comuns, e como tal não basta apenas dizer “Pede pra sair!" para que os bugs, magicamente, comecem a evacuar o software. Desta forma, mãos a obra, precisamos entender alguns dos fatores que nos ajudam a encontrar os bugs, são três:

  • Conhecer como o sistema deve se comportar
  • Saber quais são os problemas que geralmente ocorrem
  • Ser capaz de explicar como e quando o bug ocorre

Vamos falar um pouco sobre estes fatores nas próximas linhas.

1) Conhecer como o sistema deve se comportar

O conhecimento sobre como o sistema deve se comportar geralmente vem a partir de dois modos 1) o conhecimento contido na cabeça de algumas pessoas e 2) através de documentos que descrevem o funcionamento do software.

Como testador, é muito importante que você saiba qual é o resultado esperado para o que estamos testando. Vejamos um exemplo:

  • Hey! Acesse a tela de login, digite “chuckmyersbr” no campo “usuário” e “rbsreymkcuhc” no campo “senha"
  • Yeah, meu teste passou! Consegui ver o perfil do ChuckMyers!

A questão é: passou mesmo?

Não sabemos!

Esse usuário “chuckmyers” poderia estar inativo/expirado/removido e neste caso, ao invés de entrar, deveria ter aparecido qualquer coisa, menos a tela do perfil do Chuck Myers.

Por isso, a dica é, saiba quais são os dados de entrada, mas saiba também como o sistema deve se comportar depois que você digitar estes dados!

Se você não possui documentação do software, pergunte aos que conhecem, faça mapas mentais, anotações, explore a aplicação, pesquise sobre software semelhantes, etc. Isso com certeza ajudará a abrir sua visão sobre o que testar e como testar.

2) Saber quais são os problemas que geralmente ocorrem

Conhecer problemas que geralmente ocorrem no sistema pode te ajudar a encontrar novos bugs, por isso, mantenha-se atento aos bugs que já apareceram no sistema, e procure se informar junto com os demais integrantes da sua equipe.

A experiência com bugs encontrados anteriormente te ajuda a ter mais idéias de “o que testar” futuramente, além de ajudar a equipe a prevenir que estes bugs voltem a ocorrer.

3) Ser capaz de explicar como e quando o bug ocorre

Duas formas de testar são bastante conhecidas 1) escrever testes antecipadamente e 2) pensar em como irei testar durante a execução do teste.

Quando testo utilizando a forma 1 e encontro um bug, devo voltar a aplicação ao estado inicial e então descrever aos meus amigos desenvolvedores os passos que devo executar para que o bug apareça novamente.

Quando testo utilizando a forma 2 e encontro um bug, preciso relembrar como foi que executei o teste, pois precisarei explicar exatamente como o problema aparece. E ai temos um possível problema, se eu não me recordar quais passos que foram executados, posso não mais conseguir reproduzir o problema.

Para sanar este problema, você pode usar uma técnica proposta por Jon Bach, um dos irmãos Bach (Satisfice), que é a de anotar os passos que você executou enquanto executa o teste. Esta prática é descrita no artigo “Session-Based Testing Managment” (http://www.satisfice.com/articles/sbtm.pdf).

Desta forma, mesmo que você pense em como irá testar durante a execução do teste, você conseguirá saber quais passos você executou quando encontrar um bug, e poderá descrever como exatamente ele ocorre. Além disso, poderá saber reproduzir este teste depois que o bug for corrigido, confirmando assim que ele já não existe mais.

Concluindo

Conhecer o software, conhecer seus bugs e saber explicar como os defeitos ocorrem são características que nos ajudam a testar e a solucionar os problemas. Um dia, quem sabe, não cheguemos a dizer “Bug, pede pra sair!” e vermos ele saindo do sistema.