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