Uma abordagem de teste de software para aplicações de realidade virtual utilizando testes metamórficos - Andrade, Stevão Alves de (2022)
Teste de Software é uma das áreas de pesquisa existentes dentro da Engenharia de Software, sendo a principal atividade utilizada para aferir a conformidade entre requisitos de software e suas respectivas implementações. O processo de automatização da atividade de teste de software é uma tarefa fundamental que visa oferecer produtividade e efetividade à atividade de teste. A automatização da atividade de teste possibilita que a mesma possa ser conduzida sob critérios sistemáticos, o que garante reprodutibilidade, além de aumentar, significativamente, a chance de identificação de falhas no produto avaliado. Oráculos de teste desempenham uma função fundamental dentro da atividade de teste, sendo responsáveis por avaliar o comportamento das saídas produzidas por um software durante a atividade de teste. Oráculos de teste podem ser derivados a partir de especificações do software, métodos formais, assertivas, técnicas de aprendizagem de máquina, relações metamórficas, entre outros. Esta tese de doutorado propõe e avalia uma nova abordagem automatizada de teste de software para aplicações de Realidade Virtual. Diferentemente de programas convencionais, aplicações de realidade virtual sofrem de um problema denominado de problema do oráculo de teste, que ocorre em situações nas quais as saídas do sistema em teste são dadas em formatos não convencionais como, por exemplo, imagens, objetos tridimensionais e ambientes de realidade virtual. O propósito da abordagem proposta nesta tese é utilizar-se da técnica de testes metamórficos para criar restrições de teste em aplicações de realidade virtual e utilizar aprendizado por reforço a fim de possibilitar a geração automática de dados de teste para automatizar o processo de teste de aplicações de realidade virtual. Esta tese de doutorado estende estes dois conceitos em uma abordagem de teste para o domínio de aplicações de realidade virtual. Para isso o trabalho foi desenvolvido em três diferentes etapas: (i) o levantamento de artefatos de software, disponibilizados em repositórios de código aberto, a fim de entender percepções e extrair modelos de práticas de qualidade de software no contexto de programas de realidade virtual; (ii) um survey para investigar a percepção de grupos de interesse, visando identificar deficiências nas práticas de qualidade de software no contexto de realidade virtual, de forma a mapear as necessidades existentes; e por fim, (iii) o desenvolvimento e avaliação da abordagem de teste proposta a partir dos resultados observados nas etapas anteriores.