Gamificação em Teste de Software

https://www.freepik.com/free-vector/gamification-motivation-principles-flat-flowchart_6345991.htm#page=1&query=gamification&position=3

Quando vemos a palavra gamificação pensamos logo em games, videogames. Afinal, de acordo com a 8ª Pesquisa Game Brasil (PGB), 72% da população brasileira afirma jogar videogame. E durante a pandemia da COVID-19 esse número aumentou para 75,8% segundo o site Olhar Digital.

A gamificação, que também pode ser chamada de ludificação, trata-se da utilização de técnicas de design de games com o objetivo de estimular o aprendizado de pessoas em determinados assuntos. Atualmente diversos trabalhos têm utilizado a gamificação para auxiliar o ensino e a prática de Teste de Software.

Mas o que é gamificação?

Criada pelo programador britânico Nick Pelling, a gamificação é um método que consiste em reunir os melhores conceitos, técnicas e estratégias de jogos e aplicá-los no objetivo de conseguir um melhor empenho e um maior resultado em qualquer segmento.

Utilizando elementos de design e princípios de jogos pode-se melhorar a compreensão do usuário em alguma atividade, por exemplo, no aprendizado de uma determinada disciplina. As técnicas iniciais de gamificação utilizam o recurso de recompensas para os jogadores que realizarem as tarefas corretamente.

No geral, a gamificação tem como objetivo atrair as pessoas a participar, compartilhar e interagir com algum processo, executando a mecânica de um jogo em atividades que oferecem algum conhecimento.

https://www.freepik.com/premium-vector/vector-gamification-concept-flat-style_4479167.htm#page=1&query=gamification&position=47

Vejam algumas mecânicas e dinâmicas que podem ser aplicadas de acordo com Bunchball:

Pontos: Usado para recompensar usuários e impulsionar comportamentos diferentes, por exemplo, se o usuário atingir um determinado número de pontos, o jogo pode oferecer mais desafios. Os pontos também podem ser usados ​​como moedas para desbloquear conteúdo, níveis e níveis de status exclusivos.

Níveis: Indica o nível de realização que o usuário atingiu. Eles são geralmente classificados como limites de pontos e os usuários são atualizados com base em sua participação e desempenho.

Desafios: Envolve fornecer aos usuários tarefas a serem concluídas e, em seguida, receber recompensas por isso, usando troféus ou conquistas como reconhecimento visível. Desafios tornam as pessoas comprometidas com os objetivos, portanto, essa abordagem envolve a configuração de desafios relacionados às ações que o usuário realiza durante a aplicação.

Recompensa: As pessoas geralmente são motivadas por receber recompensas. As recompensas são exibidas após a realização de uma ação, ou seja, uma ação que você deseja que aconteça com mais frequência. Na gamificação, o principal mecanismo de recompensa é ganhar pontos. Conquistas e níveis também são formas de recompensa.

Conquista: Os seres humanos são motivados por realizações, tendem a buscar desafios e a definir metas mais difíceis, mas alcançáveis. O reconhecimento de suas realizações se torna uma recompensa agradável.

Competição: A competição entre os usuários pode inspirar equipes. Quando você tem um ambiente competitivo, pode chegar a um nível superior. Os humanos obtêm satisfação comparando seu desempenho com o de outros. Basicamente, todos os elementos da mecânica do jogo perseguem esse desejo; o uso de placares é um exemplo de motivação para os jogadores.

Colaboração: Cada vez mais é aplicado o conceito de colaboração em aplicações que utilizam a gamificação. Um grupo de usuários são separados em diferentes equipes destinados a concluir um desafio. Com isso nasce o espírito de colaboração em equipe, melhorando a comunicação. Sabemos que a colaboração é uma das soft skills mais importantes em um profissional, principalmente na área de testes.

https://www.freepik.com/free-vector/computer-gaming-industry-cybersport-training-esports-coaching-lessons-with-pro-gamers-esports-coaching-platform-play-like-pro-concept_10782711.htm#page=1&query=testing%20game&position=2

Como a gamificação pode ajudar a entender Qualidade e Teste de Software?

Mas o que temos de novidade quando o assunto é gamificação e teste de software? Diversos trabalhos e artigos já trabalham com gamificação para ensinar temas de engenharia de software e ultimamente temos muitos autores utilizando a gamificação para o ensino de Teste de Software, visto que hoje em dia a área de qualidade não é tão abordada nos cursos de ensino técnico e no ensino superior. Abaixo, 4 trabalhos que utilizam a gamificação para ensinar qualidade e teste de software:

Bug Hunt — Sebastian Elbaum, Suzette Person e Jon Dokulil

O Bug Hunt é basicamente uma coleção de cursos de teste de software. Abrange os conceitos e princípios básicos da tecnologia de teste de software. Cada “tarefa” é uma aula e mostra o conteúdo de alguns tópicos da área de teste. Os jogadores podem fazer exercícios e obter feedback de seus professores.

iTest Learning — Virgínia Farias, Carla Moreira, Emanuel Coutinho e Ismayle Santos

O iTest Learning visa apoiar o ensino de teste de software na fase de planejamento dos métodos tradicionais. Os alunos precisam ter conhecimento de engenharia e teste de software. O jogo é um questionário que permite aos alunos compreender melhor as atividades de teste no processo de desenvolvimento de software.

Code Defenders — Jose Miguel Rojas e Gordon Fraser

O Code Defenders tem como objetivo ensinar a teoria e a prática da tecnologia de teste de mutação. Os autores desenvolveram um sistema que utiliza a competição entre equipes, podendo ser dividido em dois aspectos: o atacante (Attackers), o jogador coloca erros no código e cria mutantes, e o defensor (Deffenders), onde a equipe é responsável por criar testes unitários para ajudar na identificação dos inseridos defeitos, derrotando assim o mutante.

iLearnTest— Tânia Patrícia Bernardes Ribeiro

O iLearnTest é um jogo educacional abrangente para o ensino de teste de software. O aplicativo é projetado para ajudar os profissionais na área de teste a obter a certificação de nível básico CTFL do ISTQB e resolver o conteúdo necessário do teste de acordo com o programa.

A prática de gamificação pode nos ajudar e muito quando o assunto é conhecimento. Não só no teórico como na prática, algo que ainda não é muito visto nas universidades. Entretanto, ainda são poucos trabalhos que englobam gamificação e teste de software. Principalmente se formos para o teste automatizado ou técnicas de ensino de teste para as metodologias ágeis e tradicionais.

E vocês, já conheciam a gamificação antes da leitura do artigo? Ficarei muito feliz em discutir este assunto.

Referências

  1. Olhar Digital — 75,8% dos gamers brasileiros afirmam jogar mais durante pandemia, diz pesquisa
  2. Jose Miguel Rojas e Gordon Fraser — CODE DEFENDERS: A Mutation Testing Game
  3. Sebastian Elbaum, Suzette Person e Jon Dokulil — Bug Hunt: Making Early Software Testing Lessons Engaging and Affordable
  4. Virgínia Farias, Carla Moreira, Emanuel Coutinho e Ismayle S. Santos — iTest Learning: Um Jogo para o Ensino do Planejamento de Testes de Software
  5. Eduardo Henrique Rocha do Nascimento — Aplicando Gamificação no Ensino de Teste de Software
  6. Tânia Patrícia Bernardes Ribeiro — iLearnTest: Jogo Educativo para Aprendizagem de Testes de Software
  7. Kai Huotari & Juho Hamari — A definition for gamification: anchoring gamification in the service marketing literature
  8. Bunchball — Gamification 101: An Introduction to the Use of Game Dynamics to Influence Behavior
  9. Nick Pelling — The (short) prehistory of “gamification”…

--

--