Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua

Detalhes bibliográficos
Autor(a) principal: Roza, Enrique Augusto da
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPR
Texto Completo: https://hdl.handle.net/1884/79288
Resumo: Orientador: Silvia Regina Vergilio
id UFPR_8fab29f872b6acda7b4e99ffe091d3a3
oai_identifier_str oai:acervodigital.ufpr.br:1884/79288
network_acronym_str UFPR
network_name_str Repositório Institucional da UFPR
repository_id_str 308
spelling Prado Lima, Jackson Antonio do, 1992-Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaVergilio, Silvia Regina, 1966-Roza, Enrique Augusto da2022-11-01T13:29:10Z2022-11-01T13:29:10Z2022https://hdl.handle.net/1884/79288Orientador: Silvia Regina VergilioCoorientador: Jackson Antônio do Prado LimaDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 23/08/2022Inclui referênciasÁrea de concentração: Ciência da ComputaçãoResumo: Com a adoção de praticas de integração continua pela maioria das empresas de software, o uso de técnicas de priorização de casos de teste (do inglês: Test Case Prioritizaion, TCP) tornou-se fundamental para reduzir o custo do teste de regressão. Abordagens promissoras são baseadas em aprendizado por reforço, que aprendem com priorizações passadas, guiada por uma função de recompensa. Tais abordagens são mais adequadas para priorização de casos de teste em ambientes de integração continua (do inglês: Test Case Prioritization in Continuous Integration Environments, TCPCI) por se adaptarem melhor ao orçamento de teste e a volatilidade de casos de teste, isto e, o fato de que casos de teste podem ser adicionados ou removidos com o passar dos ciclos de integração continua. Alem disso, elas adotam o método de janela deslizante (do inglês: Sliding Window, SW) para avaliação dos casos de teste sem prejudicar seu desempenho em um estagio inicial. Considerando este fato, este trabalho apresenta uma abordagem para TCPCI que permite o uso do método SW com diferentes algoritmos de aprendizado de maquina (do inglês: Machine Learngning, ML) baseados em regressão. A hipótese e que o uso de outros algoritmos de ML, não baseados em aprendizado por reforço, possa levar a um melhor desempenho. Ao contrario de outras abordagens de ML, não e necessário retreinar o modelo para realizar a priorização e nem qualquer analise de código. Foram realizadas duas avaliações da abordagem introduzida. Primeiro, como alternativa para as abordagens baseadas em aprendizado por reforço, aplicou-se o algoritmo Random Forest (RF) e uma rede de aprendizado profundo Long Short-Term Memory (LSTM). Três orçamentos de tempo e onze sistemas foram utilizados. Os resultados mostram a aplicabilidade da abordagem considerando o tempo de priorização e o tempo entre os ciclos de integração continua. Ambos os algoritmos levam menos que dez segundos para serem executados. O algoritmo RF obteve o melhor desempenho para orçamentos mais restritivos em comparação com as abordagens baseadas em aprendizado por reforço descritas na literatura, COLEMAN e RETECS. Considerando todos os sistemas e orçamentos, o RF atinge valores de Percentual Médio Normalizado de Falhas Detectadas (do inglês: Normalized Average Percentage of Faults Detected, NAPFD) que são os melhores ou estatisticamente equivalentes aos melhores em cerca de 72% dos casos, enquanto a rede LSTM em 55% deles. Na segunda avaliação, usando um subconjunto dos mesmos sistemas e os três orçamentos de tempo, a abordagem foi avaliada com outra versão do algoritmo RF que utiliza informações do contexto de teste, e comparada com um algoritmo contextual baseado em Multi-Armed Bandit. Resultados semelhantes a primeira avaliação foram obtidos. Os resultados mostram que o uso de informações de contexto não produz melhorias significativas no desempenho dos algoritmos.Abstract: With the adoption of Continous Integration practices by most software organizations, the use of Test Case Prioritization (TCP) techniques became fundamental to reduce regression testing costs. Promising approaches are based on Reinforcement Learning (RL), which learns with past prioritizations, guided by a reward function. Such approaches are more suitable for Test Case Prioritizaion in Continuous Integration Environments (TCPCI) because they adapt better to the test budget and test case volatility, that is, the fact that test cases may be added or removed over the CI cycles. Moreover, they adopt the SlidingWindow (SW) method to evaluate a test case without it being hampered by its performance at a early stage. Considering this fact, this work introduces a TCPCI approach to allow the usage of the SW method with different ML regression algorithms. The hypothesis is that the use of other ML techniques, which are not based on RL, can lead to better performance. Unlike other ML approaches, it does not require retraining the model to perform the prioritization and any code analysis. We conducted two evaluations of the introduction approach. First, as an alternative for the RL approaches, we applied the Random Forest (RF) algorithm and a Long Short Term Memory (LSTM) deep learning network. We use three time budgets and eleven systems. The results show the applicability of the approach considering the prioritization time and the time between the CI cycles. Both algorithms take less than ten seconds to execute. The RF algorithm obtained the best performance for more restrictive budgets, compared to the RL approaches described in the literature, COLEMAN and RETECS. Considering all systems and budgets, RF reaches Normalized Average Percentage of Faults Detected (NAPFD) values that are the best or statistically equivalent to the best ones in around 72% of the cases, and the LSTM network in 55% of them. In the second evaluation, using a sub-set of the same systems and the three time budgets, we evaluated our approach with another version of the RF algorithm that uses test context information against a contextual Multi-Armed Bandit algorithm. Results similar to the first evaluation were obtained. The results show that the use of context information does not produce significant improvements in the performance of the algorithms.1 recurso online : PDF.application/pdfAnalise de regressãoCiência da ComputaçãoPriorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínuainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALR - D - ENRIQUE AUGUSTO DA ROZA.pdfapplication/pdf1626193https://acervodigital.ufpr.br/bitstream/1884/79288/1/R%20-%20D%20-%20ENRIQUE%20AUGUSTO%20DA%20ROZA.pdfc3decf7e9c3d82d4b2a7a13088f9cf10MD51open access1884/792882022-11-01 10:29:10.777open accessoai:acervodigital.ufpr.br:1884/79288Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082022-11-01T13:29:10Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false
dc.title.pt_BR.fl_str_mv Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
title Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
spellingShingle Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
Roza, Enrique Augusto da
Analise de regressão
Ciência da Computação
title_short Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
title_full Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
title_fullStr Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
title_full_unstemmed Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
title_sort Priorização de casos de teste baseada em aprendizado de máquina no contexto de ambientes de integração contínua
author Roza, Enrique Augusto da
author_facet Roza, Enrique Augusto da
author_role author
dc.contributor.other.pt_BR.fl_str_mv Prado Lima, Jackson Antonio do, 1992-
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática
dc.contributor.advisor1.fl_str_mv Vergilio, Silvia Regina, 1966-
dc.contributor.author.fl_str_mv Roza, Enrique Augusto da
contributor_str_mv Vergilio, Silvia Regina, 1966-
dc.subject.por.fl_str_mv Analise de regressão
Ciência da Computação
topic Analise de regressão
Ciência da Computação
description Orientador: Silvia Regina Vergilio
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-11-01T13:29:10Z
dc.date.available.fl_str_mv 2022-11-01T13:29:10Z
dc.date.issued.fl_str_mv 2022
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1884/79288
url https://hdl.handle.net/1884/79288
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 1 recurso online : PDF.
application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPR
instname:Universidade Federal do Paraná (UFPR)
instacron:UFPR
instname_str Universidade Federal do Paraná (UFPR)
instacron_str UFPR
institution UFPR
reponame_str Repositório Institucional da UFPR
collection Repositório Institucional da UFPR
bitstream.url.fl_str_mv https://acervodigital.ufpr.br/bitstream/1884/79288/1/R%20-%20D%20-%20ENRIQUE%20AUGUSTO%20DA%20ROZA.pdf
bitstream.checksum.fl_str_mv c3decf7e9c3d82d4b2a7a13088f9cf10
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)
repository.mail.fl_str_mv informacaodigital@ufpr.br
_version_ 1847525497431392256