Neste Capítulo serão apresentadas as considerações finais deste trabalho. Serão listadas e discutidas as contribuições do trabalho, as lições aprendidas e os trabalhos futuros que poderão ser realizados no futuro de forma a aprimorar ainda mais a ferramenta apresentada.
Com o desenvolvimento deste trabalho foram alcançados a maior parte dos objetivos programados listados no Capítulo 1, na seção 1.2. A Tabela 5 lista os objetivos apresentados e se foram cumpridos.
Objetivo Descrição Foi Cumprido?
1 Estudar trabalhos referente a testes exploratórios e ferramentas
desenvolvidas para o seu auxílio
Sim
2 Estudar o processo de gamificação e casos reais onde a sua implantação foi bem sucedida
Sim
3 Estudar mecanismos e componentes de jogos digitais que possam ser usado no processo de gamificação
Sim
4 Propor e especificar uma ferramenta de software que auxilie os testes exploratórios, utilizando para tal o processo de gamificação, de forma a tornar os usuários mais engajados e motivados quanto ao uso da ferramenta
5 Implementar a ferramenta utilizando
tecnologias de desenvolvimento para
sistemas Web Sim 6 Fazer um estudo que analise a presença
do processo de gamificação dos testes
de software em outros trabalhos Sim 7 Avaliar a ferramenta com testadores
reais e analisar seus reais benefícios. Não Tabela 5 - Lista de objetivos cumpridos O objetivo 1 foi alcançado onde foi feita uma pesquisa sobre testes
exploratórios nos fundamentos teóricos e com a pesquisa de ferramentas
de apoio ao teste exploratório no Capítulo 4 . Os objetivos 2 e 3 foram
concluídos com a pesquisa sobre gamificação e elementos de jogos
usados nesse processo, no Capítulo 2 e a implantação de alguns desses
elementos no sistema desenvolvido. Os objetivos 4 e 5 foram alcançados
com o processo de desenvolvimento da ferramenta Gamified Explorer,
desde o planejamento até a finalização de sua implementação. O processo
foi apresentado no Capítulo 3. O objetivo 6 foi alcançado com a pesquisa
de outras ferramentas que apoiem o processo de testes de software, mais
especificamente os testes exploratórios e que apliquem a gamificação.,
como mostrado no Capítulo 4. O objetivo 7 foi o único que de fato não foi alcançado, como é descrito na seção 3.2.
5.1 Contribuições do Trabalho
Durante o desenvolvimento deste trabalho foram obtidas as
seguintes contribuições: ● A ferramenta Gamified Explorer. Especificação e
implementação de um sistema Web que auxilie o processo
de execução de testes exploratórios, de forma que os usuário
sejam engajados ao seu uso. ● Estudo sobre os benefícios da gamificação. Foram apresentados diversos elementos de jogos digitais que
podem ser utilizados no processo de gamificação e como a
sua implantação auxilia no engajamento dos usuários em
relação ao uso de uma ferramenta. ● Estudo sobre o uso de gamificação em testes exploratórios.
Foi pesquisado e apresentado neste trabalho as diversas
aplicações do processo de gamificação em diferentes
processos e também em ferramentas computacionais, com
foco nos testes de software, assim como a falta do uso desse
processo nos testes exploratórios.
5.2 Discussões e Lições Aprendidas
Nesta seção serão apresentadas as lições apreendidas durante aespecificação e implementação da ferramenta apresentada no trabalho. ● Benefícios do processo de gamificação. O uso da
gamificação pode ser uma forma interessante e benéfica, de
forma a tornar os usuários de determinados mais engajados
e interessados em participar do processo. Esse processo de
de testes exploratórios, que é muitas vezes uma atividade
desinteressante, repetitiva e monótona para testadores,
quando aplicada da forma convencional. Por isso a
ferramenta apresentada neste trabalho foi desenvolvida para
essa finalidade. ● Aplicação da gamificação nos testes exploratórios. Foi observado uma notável aplicação da gamificação em
diferentes contextos da engenharia de software. O principal
uso observado foi a aplicação em ferramentas educacionais,
com destaque para o aprendizado em programação e no
aprendizado de testes, principalmente os testes unitários.
Entretanto, pôde-se observar uma falta na literatura de
ferramentas gamificadas que auxilie o processo de execução
de tarefas de testes, principalmente na abordagem de testes
exploratórios.
5.3 Trabalhos Futuros
● Realizar estudo de caso. Um desdobramento deste trabalho eque não pôde ser realizado por restrições de tempo, é o
estudo de caso com testadores exploratórios de um projeto
real para receber o feedback dos mesmos. Após o uso da
ferramenta será feita uma análise qualitativa sob a percepção
dos usuários com a ferramenta e como ela pode auxiliar de
fato o trabalho. ● Personalização do perfil de usuário: Permitir que o usuário
possa personalizar o seu perfil, podendo mudar as cores do
sistema, escolher e alterar a foto de perfil a partir de uma
galeria já existente no sistema. ● Implementar um ciclo de builds e de ranking de usuários:
Atualmente o ranking dos usuários é contínuo, os pontos
ranking. Isso pode ser um problema pois usuários mais
antigos e experientes podem fixar sempre fixados no topo do
ranking, sem permitir que usuários mais novos possam
galgar até as primeiras colocações, independente dos
esforços. A idéia é implementar ciclos de build para os
sistema, onde o ranking é associado à build e ao término de
cada ciclo os pontos do ranking daquele período são
registrados e o quadro de pontuação é totalmente reiniciado
para a build nova. ● Tempo gasto na execução de cada tarefa: Na versão atual,
quando se cadastra uma nova tarefa, o usuário preenche um
campo com a estimativa de horas que serão gastas para
executar determinada tarefa. O objetivo futuro é, além disso,
registrar quanto tempo de fato o testador levou para executar
a sua tarefa. ● Upload de arquivos: Permitir que o testador possa fazer o
upload de arquivos, como imagens, que serão anexados às
tarefas de teste, permitindo maior detalhamento de bugs, como, por exemplo, enviar um print de tela onde ocorreu um
determinado problema. ● Investigar formas de estimular o engajamento a médio e
longo prazo: Outra linha interessante a ser investigada a
partir deste trabalho são formas de manter o engajamento
dos testadores ao longo do tempo. Uma forma possível seria
adicionar novas metas e badges a serem conquistadas ao
longo do tempo; na medida que o usuário fosse evoluindo
com o passar do tempo, sempre teriam novos desafios a
serem cumpridos, mantendo o usuário engajado. Outra
forma de estimular o engajamento seria dando premiações
para os primeiros colocados em cada ciclo do ranking de usuários.