Atualmente é bem comum pegarmos algo para jogar e acabar nos deparando com algum bug. Com a entrada da sétima geração de consoles, fortaleceu-se uma cultura de lançarem atualizações para os jogos. E então a preocupação em lançar um produto totalmente isento de bugs acabou sendo algo não tão levado a sério por muitas empresas (infelizmente). E claro, há também bugs que ocorrem em situações muito específicas e que acabam fugindo do range da equipe de testes.
Devido a isso, grandes empresas e desenvolvedoras independentes abriram espaço para reports de bugs, mas poucas pessoas sabem como reportá-los de forma eficiente. A consequência disso são bugs que são reportados mas que muitas vezes não conseguem ser reproduzidos pelos devs.

Com esse artigo, quero orientá-los como reportar um bug de forma eficiente.

 

Título

O título do bug deve descrever o que ocorre de errado. Deve ser o mais direto e breve possível, para que o desenvolvedor bata o olho e saiba o que ocorre.
Exemplos:

  • Jogo crasha ao equipar qualquer item
  • Descrição dos itens está sem localização em russo
  • Após selecionar o personagem, o jogo trava
  • Pokémon inexistente aparece ao nadar entre o terreno e água da ilha Cinnabar;

 

Descrição

Nessa parte, você deve descrever detalhadamente o que ocorre.
Exemplos:

  • Após equipar um item no personagem e selecionar o botão “Equip”, o jogo crasha.
  • Ao mudar o idioma do jogo para russo e abrir o menu de itens, as descrições permaneceram em inglês.
  • Na tela de seleção de personagem, após escolher qualquer personagem e clicar no botão “Ready!”, o jogo trava. Só volta ao normal após reiniciá-lo.
  • Após ver o tutorial de como capturar um Pokémon (na cidade de Viridian), é possível ver um Pokémon inexistente ao nadar entre o terreno e a água, na ilha “Cinnabar”.

Note que houve algumas palavras que eu coloquei entre aspas. Isso foi propostial, para informar ao desenvolvedor um nome específico de algo dentro do jogo. Nos exemplos acima, são referentes a nomes de botões e uma ilha.

Pré Requisitos e Passos de Reprodução

Aqui você descreve o passo a passo para reproduzir o bug. Assim como a descrição, é importante que seja o mais detalhado possível, para que o dev consiga reproduzi-lo.
Se o bug não ocorrer no começo do jogo, sugiro colocar pré-requisitos, para deixar o entendimento mais fácil.
No exemplo abaixo, irei colocar o passo a passo de como ver o Missingno, do jogo Pokémon Red/Blue:

Pré-Requisitos

  • Ter um Pokémon com o golpe “Fly” (HM02) e outro com “Surf” (HM03);
  • Ter a ilha “Cinnabar” disponível para voar;

Passos de Reprodução

1. Vá para a cidade "Viridian";
2. Converse com o velho que fica próximo a saída da cidade, entre o ginásio e uma árvore que pode-se usar o HM01 (Cut);
3. O velho irá perguntar se você está com pressa. Responda "No" e observe a explicação de como se captura um Pokémon;
4. Após a explicação, pressione o botão "Start" do console;
5. Selecione a opção "Pokémon";
6. Selecione o Pokémon que possui o HM02, use "Fly" e voe para a ilha "Cinnabar";
7. Vá para o lado direito na ilha, bem ao lado da água;
8. Pressione o botão "Start" do console. Escolha a opção "Pokémon", selecione o Pokémon que possui o HM03 e use "Surf"
9. Nade para cima e para baixo, na área que fica entre o terreno da ilha e a água;
10. Observe que a tela de encontro com Pokémon selvagem é exibida;
11. Observe que um Pokémon chamado Missingno é exibido;

É uma boa prática numerar os passos de reprodução para facilitar o entendimento.

Ao reproduzir esse bug, existe a possibilidade de aparecer outro Pokémon. Nesse caso, eu sugiro colocar uma observação, conforme o exemplo abaixo:

OBS: No passo 10, pode aparecer outro Pokémon. Caso isso ocorra, fuja da batalha e repita o passo 9 até que o Missingno apareça.

A maioria das pessoas que jogaram Pokémon Red/Blue, sabe que esse bug do Missingno era utilizado para multiplicar itens. Para reportar isso, os passos de reprodução seriam:

1. Vá para a cidade "Viridian";
2. Converse com o velho que fica próximo a saída da cidade, entre o ginásio e uma árvore que pode-se usar o HM01 (Cut);
3. Ele irá perguntar se você está com pressa. Responda "No" e observe a explicação do velho de como se captura um Pokémon;
4. Após a explicação, pressione o botão "Start" do console;
5. Selecione a opção "Pokémon";
6. Selecione o Pokémon que possui o HM02, use "Fly" e voe para a ilha "Cinnabar";
7. Pressione o botão "Start" do console;
8. Selecione a opção "Item";
9. Deixe o item que você quer multiplicar na sexta posição lista;
11. Vá para o lado direito na ilha, bem ao lado da água;
10. Pressione o botão "Start" do console. Escolha a opção "Pokémon", selecione o Pokémon que possui o HM03 e use "Surf";
12. Nade para cima e para baixo, na área que fica entre o terreno da ilha e a água.;
13. Observe que a tela de encontro com Pokémon selvagem é exibida;
14.Observe que um Pokémon chamado Missingno é exibido;

Note que o bug “Pokémon inexistente aparece ao nadar entre o terreno e água da ilha Cinnabar” e “Itens são multiplicados após ver Pokémon inexistente” são bugs diferentes.
Por mais que parte dos passos de reprodução sejam idênticos, o resultado final de cada um é diferente. Tenha isso em mente quando for escrever e caso mais de um bug ocorra proveniente de passos de reprodução muito similares, os reporte de forma independente.

Informações complementares

Existem algumas informações complementares que você pode utilizar para complementar o seu bug.
São elas:

Taxa de Reprodução: É a quantidade de vezes que você conseguiu reproduzir esse bug dentro de um número de tentativas.
Seguindo os passos de reprodução que você descreveu, o bug ocorreu quantas vezes?
Um bug 3/5, por exemplo, ocorreu em 3 vezes durante 5 tentativas.

Versão do jogo: Apesar de não parecer, é importante reportar em qual versão do jogo o bug ocorreu. Em jogos que ganham atualizações com frequência (MOBAs, MMOs e battle royales são bons exemplos disso), saber a versão que o bug começou a ocorrer pode ajudar no rastreamento de quais modificações ocorreram que impactaram no surgimento do problema.

Em 2017 quando joguei o Life is Strange, peguei esse bug de localização. Na real, nem sei se já corrigiram isso hahaha

Hardware e versão do sistema: São as especificações do sistema que você utilizou para rodar o jogo. Se for um console, o modelo do console e a versão de firmware.
Isso é importante, pois arquiteturas/sistemas operacionais (ou firmwares) diferentes podem apresentar problemas específicos.

Criticidade: É o quão grave o bug é. Esse tipo de especificação é utilizada por equipes de teste e não é essencial em reports informais.
Normalmente são definidas por minor, medium, major e critical. Mas cada desenvolvedora pode ter a sua própria nomeclatura, conforme a sua necessidade.

Evidência: Pode ser uma ou mais imagens e/ou vídeos do bug ocorrendo. A evidência auxilia o desenvolvedor a entender o que está acontecendo e serve como complemento dos passos de reprodução.

 

Reportar bugs pode ser um pouco mais trabalhoso do que parece, ainda mais quando não existe um padrão 100% preciso de como reproduzi-los. Mas agora chegou uma etapa que é tão importante quanto escrever o report… como fazer que isso chegue aos desenvolvedores?
Muitos dos desenvolvedores indies costumam acompanhar os tópicos criados na área de Discussões no Steam e acabam criando um tópico para report de bugs. Caso a desenvolvedora não utilize dessa prática, você pode procurar um e-mail de contato em seu site ou redes sociais.

Descubra mais sobre

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading