Dogfooding analysis system: um sistema de análise de feedbacks de dogfooding para auxiliar as atividades de testes exploratórios

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: FINIZOLA, Antonio Braz Silva
Orientador(a): BARROS, Flávia de Almeida
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Programa de Pos Graduacao em Ciencia da Computacao
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/39693
Resumo: Os Testes Exploratórios (TEs) configuram uma abordagem eficiente na área de Testes de Software, utilizada para a detecção de bugs inesperados ou desconhecidos. Os TEs são dinâmicos, uma vez que os testadores os projetam e os modificam à medida que os executam. Assim, é importante que os testadores disponham de fontes que forneçam informações úteis para melhor direcionar os TEs, de modo a garantir sua efetividade. Uma importante fonte de informação vem da adoção da abordagem Dogfooding, que é o uso intensivo dos produtos de software pelos colaboradores de uma empresa, antes de serem lançados no mercado. Algumas empresas que usam essa abordagem criam comunidades privadas para que os colaboradores postem seus feedbacks sobre os produtos, relatando críticas, elogios, sugestões e defeitos de software. Os testadores, então, podem utilizar as informações contidas nos feedbacks de defeitos a fim de melhorar a qualidade dos testes, isto é, detectar novos defeitos relacionados com base nos insights obtidos dos feedbacks. No entanto, nem sempre as empresas dispõem de métodos para identificar esses feedbacks úteis, sendo necessário análises manuais nas comunidades, que levam tempo e são pouco produtivas. Este trabalho, desenvolvido no contexto de uma colaboração entre o CIn- UFPE e a Motorola Mobility, teve por objetivo criar um processo para automatizar boa parte das atividades de análise de feedbacks de Dogfooding, a fim de obter informações úteis para direcionar as atividades de TEs. O protótipo do sistema implementado utiliza conceitos de Aprendizagem de Máquina (AM) e Recuperação de Informação (RI), contando com 4 módulos principais: (1) Obtenção dos feedbacks por aparelho; (2) Classificação de feedbacks (entre relevantes e irrelevantes); (3) Recuperação e seleção de charters (documentos que contêm as diretrizes de testes, que são selecionados a partir da análise dos feedbacks relevantes); (4) Criação e submissão da análise de dogfooding. O classificador foi construído usando AM, tendo sido testados diferentes algoritmos para este fim. Esse classificador é periodicamente atualizado (retreinado) de forma semiautomática, para não se tornar obsoleto (versão beta). Os testes realizados com o protótipo, principalmente os de classificação e usabilidade, apresentaram resultados muito positivos: foi possível obter um modelo de classificação com valores de acurácia e F1-score de 87% e 88% respectivamente; também foi possível obter um ganho de tempo de 47.5% e 64.29% em comparação com os procedimentos manuais nos dois testes de usabilidade realizados, além de um ganho de 55.56% de feedbacks relevantes identificados em um desses testes.