Leveraging automated web tests into model-based testing
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Tecnológica Federal do Paraná
Cornelio Procopio |
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Informática
|
Departamento: |
Não Informado pela instituição
|
País: |
Brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.utfpr.edu.br/jspui/handle/1/5434 |
Resumo: | Contexto: Os métodos ágeis têm impulsionado práticas de execução automática de casos de teste, as quais tem sido adotadas em diferentes níveis de teste, desde testes de unidade até os testes de sistemas em interface gráfica (GUI). Porém, as ferramentas que apoiam o teste automatizado focam na execução, deixando a geração dos casos testes como uma tarefa manual. Desta forma, a abordagem de Teste Baseado em Modelo (TBM) estuda a geração de casos de teste automatizada por meio de modelos, os quais são utilizados para derivar os casos de teste em um fluxo top-down, onde o modelo é criado e dele são extraídos os casos de teste que posteriormente são executados. Entretanto, considerando que a implementação de testes e, atualmente, responsabilidade do próprio desenvolvedor, o testador pode se deparar com um cenário onde já exista uma suíte de testes que deva ser reutilizada para produzir novos testes baseados em modelo. Objetivo: Este trabalho tem como objetivo apresentar uma abordagem que utiliza testes automatizados existentes para facilitar a adoção de TBM neste cenário, permitindo a reutilização de testes GUI para derivar novos casos de teste. Para apoiar a avaliação da abordagem foi desenvolvida uma ferramenta que utiliza o padrão PageObjects para a abstração e estruturação dos casos de teste existentes, e modelos baseados em eventos. Método: A ferramenta desenvolvida para avaliar a abordagem, chamada MoLeWe, suporta as três etapas da abordagem: inferência do modelo, extensão do modelo e geração dos casos de teste. O experimento conduzido contou com a participação de 18 estudantes, os quais desenvolveram casos de teste em Java com o padrão PageObjects, para 9 aplicações web. A ferramenta gerou modelos para os projetos de teste desenvolvidos, os quais foram estendidos e utilizados para gerar novos casos de teste. Resultados: O estudo experimental coletou dados como cobertura de linha dos novos casos de teste gerados, tempo de execução, esforço gasto para gerar novos casos de teste e informações que atestaram a viabilidade da abordagem e reuso das suítes de teste existentes. Em média, a cobertura de linha aumentou 38,97% com os novos casos de teste, os tempos de execução de inferência do modelo e geração dos casos de teste forneceram evidências de crescimento linear em relação ao tamanho dos projetos e a abordagem se mostrou viável, reaproveitando grande parte das suítes de teste existentes, visto que, em media, 70,54% dos novos eventos criados já estavam concretizados. |