• Entrar
    Ver item 
    •   Página inicial
    • BIBLIOTECA DIGITAL: Teses & Dissertações
    • 40001016034P5 Programa de Pós-Graduação em Informática
    • Dissertações
    • Ver item
    •   Página inicial
    • BIBLIOTECA DIGITAL: Teses & Dissertações
    • 40001016034P5 Programa de Pós-Graduação em Informática
    • Dissertações
    • Ver item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

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

    Thumbnail
    Visualizar/Abrir
    R - D - ENRIQUE AUGUSTO DA ROZA.pdf (1.550Mb)
    Data
    2022
    Autor
    Roza, Enrique Augusto da
    Metadata
    Mostrar registro completo
    Resumo
    Resumo: 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.
     
    URI
    https://hdl.handle.net/1884/79288
    Collections
    • Dissertações [258]

    DSpace software copyright © 2002-2022  LYRASIS
    Entre em contato | Deixe sua opinião
    Theme by 
    Atmire NV
     

     

    Navegar

    Todo o repositórioComunidades e ColeçõesPor data do documentoAutoresTítulosAssuntosTipoEsta coleçãoPor data do documentoAutoresTítulosAssuntosTipo

    Minha conta

    EntrarCadastro

    Estatística

    Ver as estatísticas de uso

    DSpace software copyright © 2002-2022  LYRASIS
    Entre em contato | Deixe sua opinião
    Theme by 
    Atmire NV