AI+RTESTING: remoção de redundâncias de conjuntos de casos de teste a partir de dados de execução do teste de mutação

dc.contributor.advisorLenz, Alexandre Rafael
dc.contributor.authorSantos, Eder Pereira dos
dc.contributor.refereeJorge, Eduardo Manuel de Freitas
dc.contributor.refereeMassa, Mônica de Souza
dc.date.accessioned2024-10-02T14:57:16Z
dc.date.available2024-10-02T14:57:16Z
dc.date.issued2018-07-06
dc.description.abstractUm software evolui ao longo do tempo de vida, essa evolução acontece através da adição de novos requisitos ou realização de manutenções. No sentido de evitar a introdução de defeitos em decorrência de alterações no software é utilizado o Teste de Regressão. A atividade de Teste de Regressão consome um tempo considerável do total do desenvolvimento do software, aumentando o seu custo. Um dos fatores determinantes para o custo são as atividades executadas manualmente. Para contornar esse problema e apoiar a atividade de teste de regressão, muitas metodologias têm sido propostas visando reduzir o tempo despendido na atividade. Muitas dessas metodologias utilizam técnicas de aprendizado de máquina, as quais relacionam as informações coletadas durante a atividade de teste para identificação de casos de teste com comportamentos similares. Essas técnicas comumente permitem a geração de regras que podem ser aplicadas para a redução do conjunto de casos de teste. A redução é capaz de diminuir significativamente o tempo do teste de regressão, pois exclui permanentemente os casos de teste redundantes. O objetivo deste trabalho consiste em aplicar a metodologia proposta no projeto de pesquisa AI+RTesting definida pelo professor Alexandre Rafael Lenz para apoiar a redução do conjunto de casos de teste, a partir da implementação de uma ferramenta que automatize esse processo para programas escritos na linguagem Java em nível de método, ou seja, cobrindo o teste de unidade, com intuito de reduzir o tempo gasto na atividade de teste de regressão. A nova ferramenta integra o teste estrutural apoiado com a ferramenta Jabuti e o teste baseada em erros apoiado pela ferramenta Mujava. Junto com a API WEKA, adicionada a nova ferramenta para gerar os agrupamentos que possibilitam a aplicação de algoritmos de classificação para geração de regras, permitindo classificar as classes de equivalência em ordem de prioridade. Os resultados obtidos com os experimentos realizados na fase de validação demonstraram que o método baseado em PG é capaz de remover redundâncias, mostrando maior eficiência em programas mais simples, como observado quando aplicado no método MDC. Em comparação a programas mais complexos, que é o caso do segundo método testado, os resultados apresentados, demonstram que o método baseado em PG não consegue realizar a remoção de forma eficiente, devido a quantidade elevada de redundâncias encontradas. Para atingir resultados mais precisos, sugere-se a definição de uma metodologia que consiga realizar uma redução mais significativa que a apresentada utilizando a progressão geométrica, assim como a utilização de informações coletadas durante a atividade do teste estrutural devido à complementariedade das técnicas de teste de software.
dc.description.abstract2Software evolves over the lifetime, this evolution happens through the addition of new requirements or maintenance. In order to avoid introducing defects due to changes in the software, the Regression Test is used. The Regression Test activity consumes considerable time in the total development of the software, increasing its cost. One of the determining factors for the cost is the activities performed manually. To circumvent this problem and support the regression test activity, many methodologies have been proposed to reduce time spent on the activity. Many of these methodologies use machine learning techniques, which relate the information collected during the test activity to identify test cases with similar behaviors. These techniques commonly allow the generation of rules that can be applied to reduce the set of test cases. The reduction is able to significantly decrease the time of the regression test, since it permanently excludes the redundant test cases. The objective of this work is to apply the methodology proposed in the research project AI + RTesting defined by professor Alexandre Rafael Lenz to support the reduction of the set of test cases, from the implementation of a tool that automates this process for programs written in the language Java-level method, that is, covering the unit test, in order to reduce the time spent in the regression test activity. The new tool integrates the structural test supported by the Jabuti tool and the error-based test supported by the Mujava tool. Together with the WEKA API, we added the new tool to generate the clusters that allow the application of classification algorithms for generating rules, allowing to classify the equivalence classes in order of priority. The results obtained with the experiments carried out in the validation phase demonstrated that the PG-based method is able to remove redundancies, showing greater efficiency in simpler programs, as observed when applied in the MDC method. In comparison to more complex programs, which is the case of the second method tested, the results presented, demonstrate that the method based on PG can not perform the removal efficiently due to the high amount of redundancies found. In order to achieve more precise results, it is suggested to define a methodology that can accomplish a more significant reduction than that presented using geometric progression, as well as the use of information collected during the structural test activity due to the complementarity of the test techniques software.
dc.format.mimetypeapplication/pdf
dc.identifier.citationSANTOS, Eder Pereira dos. AI+RTESTING: remoção de redundâncias de conjuntos de casos de teste a partir de dados de execução do teste de mutação. 2018. 95f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação), Departamento de Ciências Exatas e da TerraI, Campus I, Universidade do Estado da Bahia, Salvador, 2018.
dc.identifier.urihttps://saberaberto.uneb.br/handle/20.500.11896/6392
dc.language.isopor
dc.publisherUNEB
dc.publisher.programGraduação
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.rights2Attribution-NonCommercial-NoDerivs 3.0 Brazilen
dc.subject.keywordsTeste de Software
dc.subject.keywordsTeste de regressão
dc.subject.keywordsAprendizado de máquina
dc.subject.keywordsRedução
dc.titleAI+RTESTING: remoção de redundâncias de conjuntos de casos de teste a partir de dados de execução do teste de mutação
dc.title.alternativeAI+RTESTING: Removal of Test Case Set Redundancies Using Mutation Test Execution Data
dc.typeinfo:eu-repo/semantics/bachelorThesis
Arquivos
Pacote Original
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
AI+RTESTING_remoção de redundâncias_Eder Santos.pdf
Tamanho:
964.29 KB
Formato:
Adobe Portable Document Format
Descrição:
Licença do Pacote
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
462 B
Formato:
Item-specific license agreed upon to submission
Descrição: