Regras de Mapeamento e Heurísticas: uma estratégia para criar casos de teste a partir de C&L - SOUSA, Silvia Pereira de Azevedo (2016)
Contexto: A fase de especificação de requisitos é fundamental no processo de desenvolvimento de software. O uso de cenários é bastante popular para especificar requisitos, por serem descritos em linguagem natural. No entanto, a linguagem natural dá margem a requisitos ambíguos, incompletos e inconsistentes, o que vai de encontro com os objetivos da fase de especificação de requisitos. Nesse sentido, uma técnica baseada em Cenário & LEL (Language Extended Lexicon), chamada de C&L, pode ser a solução adequada, pois LEL é um glossário que define um conjunto de palavras que pertencem a um domínio e que devem ser usadas para descrever os cenários. Assim, C&L é considerada uma técnica de cenários baseada em linguagem natural controlada que ajuda a minimizar os problemas previamente mencionados, além de poder ser utilizada para criar casos de teste de forma mais sistemática. Objetivo: Neste trabalho, são propostas duas abordagens: a primeira abordagem usa regras de mapeamento para derivar modelos statechart a partir de C&L visando verificar a completude e consistência desses cenários e a segunda usa heurísticas para obter sistematicamente casos de teste a partir de modelos statechart. Método: A pesquisa apresentada nessa dissertação seguiu a abordagem de Engenharia para definir as regras de mapeamento e as heurísticas que, por sua vez, foram avaliadas empiricamente. Resultados: As regras de mapeamento apoiam a derivação de statechart a partir de C&L. As heurísticas apoiam a derivação de casos de teste a partir dos modelos statechart. Foi realizado um experimento para comparar o número de erros de incompletude e inconsistência detectados pelos grupos experimental e controle e o tempo gasto pelos grupos para detectar esses erros. Também foi verificado se os statecharts gerados através da aplicação das regras de mapeamento possuem grau de corretude e semelhança. Foi realizada uma avaliação qualitativa das heurísticas utilizadas para derivar os casos de teste, com o intuito de saber se as heurísticas foram utilizadas corretamente, se estão claras e são fáceis de usar. Conclusões: Os resultados do experimento mostram que o número de erros de incompletude detectados pelo grupo experimental foi superior ao número obtido pelo grupo controle e em relação aos erros de inconsistência não houve diferença entre quantidade de erros detectados pelos dois grupos. Além disso, a média do tempo gasto para identificar erros de incompletude e inconsistência pelo grupo experimental foi ligeiramente superior a média do tempo gasto pelo grupo controle. Em relação ao grau de corretude, dentre os modelos gerados pelo grupo experimental, existe um que apresenta o maior grau de corretude com 85,7%. No entanto, o grau de semelhança entre os modelos é considerado de “baixa semelhança”. O resultado da avaliação qualitativa mostrou que os participantes concordaram que as regras de mapeamento e as heurísticas são compreensíveis e fáceis de utilizar. Também foi observado que as heurísticas foram usadas de maneira correta na derivação dos casos de teste.