Mostrar registro simples

dc.contributor.advisorVergilio, Silvia Regina, 1966-pt_BR
dc.contributor.otherAssunção, Wesley Klewerton Guezpt_BR
dc.contributor.otherUniversidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informáticapt_BR
dc.creatorMendonça, Willian Douglas Ferraript_BR
dc.date.accessioned2024-04-24T21:50:17Z
dc.date.available2024-04-24T21:50:17Z
dc.date.issued2023pt_BR
dc.identifier.urihttps://hdl.handle.net/1884/87662
dc.descriptionOrientador: Silvia Regina Vergiliopt_BR
dc.descriptionCoorientador: Wesley Klewerton Guez Assunçãopt_BR
dc.descriptionTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 20/12/2023pt_BR
dc.descriptionInclui referênciaspt_BR
dc.descriptionÁrea de concentração: Ciencia da computaçãopt_BR
dc.description.abstractResumo: Garantir a qualidade de Sistemas Altamente Configuráveis (do inglês Highly Configurable Systems (HCSs) durante sua evolução e manutenção é um desafio. À medida que um HCS evolui, novas funcionalidades (Do inglês features) são adicionadas, alteradas ou removidas, o que torna o Teste de Regressão (do inglês Regression Testing, RT) uma tarefa difícil, ainda mais em um cenário de evolução em que são adotadas práticas de Integração Contínua (do inglês Continuous Integration, CI), o teste está normalmente sujeito a algumas restrições de tempo, o chamado orçamento de teste, e é necessário um feedback rápido sobre a execução do teste. Assim, as técnicas que demoram demasiado tempo a executar não são adequadas. Para enfrentar estes desafios, existem na literatura algumas abordagens que aplicam diferentes técnicas de RT, tais como Seleção de Casos de Teste (do inglês Test Case Selection, TCS) e Priorização de Casos de Teste (do inglês Test Case Prioritization, TCP) no contexto de CI. No entanto, a grande maioria dessas abordagens não considera as particularidades dos HCSs. As abordagens existentes dependem normalmente de artefatos como o Feature Model, que na maioria dos casos não estão disponíveis ou não são atualizados. As abordagens que podem ser utilizadas são baseadas em alterações de arquivos e funcionam apenas para a linguagem Java. Dadas estas limitações, este trabalho tem como objetivo investigar as vantagens da aplicação de abordagens de RT orientadas a feature durante o processo de evolução de HCSs. A feature é um conceito chave para os HCSs, e a hipótese deste trabalho é que uma abordagem orientada a features pode selecionar e priorizar casos de teste de uma forma rentável. Para investigar essa hipótese, propomos a FeaTCSP (Feature-oriented Test Case Selection and Prioritization for Highly Configurable Systems), uma abordagem orientada a feature que permite o uso das técnicas de TCS e TCP considerando a evolução das feature do HCS no espaço e no tempo e as restrições de um ambiente de CI. Esta abordagem recebe como entrada um arquivo de configuração contendo os caminhos para o código fonte da HCS e a pasta de casos de teste, e engloba passos diferentes e independentes, que podem ser executados pelo testador de acordo com os seus objetivos. A FeaTCSP produz diferentes relatórios: as linhas de código que correspondem a cada feature , as linhas exercitadas por cada caso de teste e os casos de teste ligados a cada feature. Orientado por estes relatórios, o testador pode utilizar a abordagem para selecionar um número reduzido de casos de teste, para produzir um rank de prioridades para a execução dos casos de teste, ou para produzir um rank para o conjunto de testes reduzido selecionado anteriormente. Todas as formas de utilização da FeaTCSP são avaliadas utilizando o Libssh, um HCS indústrial de código aberto em constante evolução. Os resultados mostram a aplicabilidade da abordagem e que esta contribui para o RT em HCSs. Em todas as utilizações, FeaTCSP apresenta melhor desempenho do que uma baseline orientada para alterações de arquivos. Neste sentido, FeaTCSP contribui para escolher um conjunto reduzido de casos de teste sem comprometer a qualidade do teste em termos de falhas. Além disso, a utilização da técnica TCP tem como objetivo a detecção precoce de falhas, reduzindo o tempo gasto na execução dos testes.pt_BR
dc.description.abstractAbstract: Ensuring the quality of Highly Configurable Systems (HCSs) during its evolution and maintenance is challenging. As an HCS evolves, new features are added, changed, or removed, which makes the Regression Testing (RT) a hard task, even more in an evolution scenario where Continuous Integration (CI) practices are adopted and updates are frequent in different cycles of integration, built and testing. In CI environments, the test is usually subject to the some time restrictions, the so-called test budget, and rapid feedback on the test execution is required. Then techniques that take too long to execute are not suitable. To address these challenges, in the literature there are some approaches that apply different RT techniques, such as Test Case Selection (TCS) and Test Case Prioritization (TCP) in CI context. However, the great majority of these approaches do not consider HCS particularities. Existing approaches usually rely on the artifacts, such as Feature Model, which are not in most cases available or updated. Approaches that can be used are based on file changes and work only for Java language. Given these limitations, this work aims to investigate the advantages of applying feature-oriented RT approaches during the evolution process of HCSs. Feature is a key concept for HCSs, and the hypothesis of this work is that a feature-oriented approach can select and prioritize test cases in an cost-effective way. To investigate this hypothesis, we propose FeaTCSP (Feature-oriented Test Case Selection and Prioritization for Highly Configurable Systems), a feature-oriented approach that allows the use of TCS and TCP techniques considering the evolution of the HCS features in space and time and the restrictions of a CI environment. This approach takes as input a configuration file containing the paths to the source code of the HCS and the test case folder, and encompasses different and independent steps, which can be executed by the tester according to her(him) objectives. FeaTCSP produces different reports: the lines of code that correspond to each feature, the lines exercised by each test case, and the test cases linked to each feature. Oriented by these reports, the tester can use the approach for selecting a reduced number of test cases, to produce a prioritization rank for executing the test cases, or to produce a rank for the selected reduced test set. All the ways of using FeaTCSP are evaluated by using Libssh, a real open-source HCS in constant evolution. The results shows the applicability of the approach and that it contributes to the RT of HCSs. In all uses, FeaTCSP presents better performance than a baseline oriented to file changes. In this sense, FeaTCSP contributes to choose a reduced test case set without compromising the testing quality in terms of failures. Moreover, the use of TCP technique aims to provide early failures detection, reducing the time spent for test execution.pt_BR
dc.format.extent1 recurso online : PDF.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.languageInglêspt_BR
dc.subjectSistemas de recuperação da informaçãopt_BR
dc.subjectSoftware - Testespt_BR
dc.subjectCiencia da computaçãopt_BR
dc.titleTest case selection and prioritization during the evolution of highly configurable systemspt_BR
dc.typeTese Digitalpt_BR


Arquivos deste item

Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples