Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software

Detalhes bibliográficos
Ano de defesa: 2014
Autor(a) principal: Cruz Júnior, João Maria Guedes da
Orientador(a): Kulesza, Uira
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: Programa de Pós-Graduação em Sistemas e Computação
Departamento: Ciência da Computação
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/18106
Resumo: The main goal of Regression Test (RT) is to reuse the test suite of the latest version of a software in its current version, in order to maximize the value of the tests already developed and ensure that old features continue working after the new changes. Even with reuse, it is common that not all tests need to be executed again. Because of that, it is encouraged to use Regression Tests Selection (RTS) techniques, which aims to select from all tests, only those that reveal faults, this reduces costs and makes this an interesting practice for the testing teams. Several recent research works evaluate the quality of the selections performed by RTS techniques, identifying which one presents the best results, measured by metrics such as inclusion and precision. The RTS techniques should seek in the System Under Test (SUT) for tests that reveal faults. However, because this is a problem without a viable solution, they alternatively seek for tests that reveal changes, where faults may occur. Nevertheless, these changes may modify the execution flow of the algorithm itself, leading some tests no longer exercise the same stretch. In this context, this dissertation investigates whether changes performed in a SUT would affect the quality of the selection of tests performed by an RTS, if so, which features the changes present which cause errors, leading the RTS to include or exclude tests wrongly. For this purpose, a tool was developed using the Java language to automate the measurement of inclusion and precision averages achieved by a regression test selection technique for a particular feature of change. In order to validate this tool, an empirical study was conducted to evaluate the RTS technique Pythia, based on textual differencing, on a large web information system, analyzing the feature of types of tasks performed to evolve the SUT
id UFRN_e7ba8f95f30e797cfc96a4153f32c77e
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/18106
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Cruz Júnior, João Maria Guedes dahttp://lattes.cnpq.br/1487995477980653http://lattes.cnpq.br/0189095897739979Silva, Lyrene Fernandes daGuerra, Eduardo Martinshttp://lattes.cnpq.br/3413978291577451Coelho, Roberta de Souzahttp://lattes.cnpq.br/9854634275938452Kulesza, Uira2014-12-17T15:48:10Z2014-11-182014-12-17T15:48:10Z2014-04-29CRUZ JÚNIOR, João Maria Guedes da. Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software. 2014. 98 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2014.https://repositorio.ufrn.br/jspui/handle/123456789/18106The main goal of Regression Test (RT) is to reuse the test suite of the latest version of a software in its current version, in order to maximize the value of the tests already developed and ensure that old features continue working after the new changes. Even with reuse, it is common that not all tests need to be executed again. Because of that, it is encouraged to use Regression Tests Selection (RTS) techniques, which aims to select from all tests, only those that reveal faults, this reduces costs and makes this an interesting practice for the testing teams. Several recent research works evaluate the quality of the selections performed by RTS techniques, identifying which one presents the best results, measured by metrics such as inclusion and precision. The RTS techniques should seek in the System Under Test (SUT) for tests that reveal faults. However, because this is a problem without a viable solution, they alternatively seek for tests that reveal changes, where faults may occur. Nevertheless, these changes may modify the execution flow of the algorithm itself, leading some tests no longer exercise the same stretch. In this context, this dissertation investigates whether changes performed in a SUT would affect the quality of the selection of tests performed by an RTS, if so, which features the changes present which cause errors, leading the RTS to include or exclude tests wrongly. For this purpose, a tool was developed using the Java language to automate the measurement of inclusion and precision averages achieved by a regression test selection technique for a particular feature of change. In order to validate this tool, an empirical study was conducted to evaluate the RTS technique Pythia, based on textual differencing, on a large web information system, analyzing the feature of types of tasks performed to evolve the SUTO objetivo dos testes de regressão (RT) é reutilizar o conjunto de testes da última versão de um software em sua versão atual, para maximizar o valor dos testes já desenvolvidos e garantir que antigas funcionalidades continuem corretas após as novas modificações. Mesmo com o reuso, é comum que nem todos os testes precisem ser executados novamente e para evitar o desnecessário, é estimulada a utilização de técnicas de seleção dos testes de regressão (RTS), que buscam selecionar dentre todos os testes, apenas aqueles capazes de revelar faltas, isto reduz custos e torna a prática realmente atrativa para as equipes de teste. Diversos estudos recentes avaliam a qualidade da seleção realizadas por técnicas de RTS, identificando qual delas apresenta melhores resultados através de métricas como a inclusão e a precisão. As técnicas de RTS deveriam buscar no sistema sob teste (SUT) por testes que revelem faltas, entretanto, como este é um problema sem solução viável, a alternativa é buscar por testes que revelem as modificações, onde as faltas podem ocorrer. Contudo, tais modificações podem alterar o próprio fluxo de execução dos algoritmos, fazendo com que alguns testes não exercitem mais os mesmos trechos. Neste contexto, esta dissertação de mestrado busca investigar se as modificações realizadas no SUT poderiam afetar a qualidade da seleção dos testes realizada por uma RTS, e se sim, quais características apresentam as modificações que provocaram os erros, levando a RTS a incluir ou excluir testes erroneamente. Para tanto, foi desenvolvida uma ferramenta na linguagem Java para automatizar o cálculo da inclusão e precisão médias alcançadas por uma técnica de RTS para uma dada característica da modificação. A fim de validar a ferramenta, foi conduzido um estudo empírico para avaliar a técnica de RTS Pythia, baseada em diferenciação textual, sobre um sistema de informação web de larga escala, analisando a característica dos tipos das tarefas realizadas para evoluir o SUTCoordenação de Aperfeiçoamento de Pessoal de Nível Superiorapplication/pdfporUniversidade Federal do Rio Grande do NortePrograma de Pós-Graduação em Sistemas e ComputaçãoUFRNBRCiência da ComputaçãoTeste de software. Seleção de testes de regressão. Diferenciação textual. Inclusão. Precisão. Características das modificaçõesSoftware Testing. Regression Tests Selection. Textual Differencing. Inclusion. Precision. Features of ChangesCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOUma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALJoaoMGCJ_DISSERT.pdfapplication/pdf2157600https://repositorio.ufrn.br/bitstream/123456789/18106/1/JoaoMGCJ_DISSERT.pdfe625012e4cd3f5e995b205310bff8592MD51TEXTJoaoMGCJ_DISSERT.pdf.txtJoaoMGCJ_DISSERT.pdf.txtExtracted texttext/plain171391https://repositorio.ufrn.br/bitstream/123456789/18106/6/JoaoMGCJ_DISSERT.pdf.txt5620be8523356ce642b33815b8ff8cc4MD56THUMBNAILJoaoMGCJ_DISSERT.pdf.jpgJoaoMGCJ_DISSERT.pdf.jpgIM Thumbnailimage/jpeg2274https://repositorio.ufrn.br/bitstream/123456789/18106/7/JoaoMGCJ_DISSERT.pdf.jpga818a2578f7608277955fb620d22bea4MD57123456789/181062017-11-04 13:43:04.641oai:https://repositorio.ufrn.br:123456789/18106Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-04T16:43:04Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.por.fl_str_mv Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
title Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
spellingShingle Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
Cruz Júnior, João Maria Guedes da
Teste de software. Seleção de testes de regressão. Diferenciação textual. Inclusão. Precisão. Características das modificações
Software Testing. Regression Tests Selection. Textual Differencing. Inclusion. Precision. Features of Changes
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
title_short Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
title_full Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
title_fullStr Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
title_full_unstemmed Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
title_sort Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software
author Cruz Júnior, João Maria Guedes da
author_facet Cruz Júnior, João Maria Guedes da
author_role author
dc.contributor.authorID.por.fl_str_mv
dc.contributor.authorLattes.por.fl_str_mv http://lattes.cnpq.br/1487995477980653
dc.contributor.advisorID.por.fl_str_mv
dc.contributor.advisorLattes.por.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.referees1.pt_BR.fl_str_mv Silva, Lyrene Fernandes da
dc.contributor.referees1ID.por.fl_str_mv
dc.contributor.referees2.pt_BR.fl_str_mv Guerra, Eduardo Martins
dc.contributor.referees2ID.por.fl_str_mv
dc.contributor.referees2Lattes.por.fl_str_mv http://lattes.cnpq.br/3413978291577451
dc.contributor.referees3.pt_BR.fl_str_mv Coelho, Roberta de Souza
dc.contributor.referees3ID.por.fl_str_mv
dc.contributor.referees3Lattes.por.fl_str_mv http://lattes.cnpq.br/9854634275938452
dc.contributor.author.fl_str_mv Cruz Júnior, João Maria Guedes da
dc.contributor.advisor1.fl_str_mv Kulesza, Uira
contributor_str_mv Kulesza, Uira
dc.subject.por.fl_str_mv Teste de software. Seleção de testes de regressão. Diferenciação textual. Inclusão. Precisão. Características das modificações
topic Teste de software. Seleção de testes de regressão. Diferenciação textual. Inclusão. Precisão. Características das modificações
Software Testing. Regression Tests Selection. Textual Differencing. Inclusion. Precision. Features of Changes
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
dc.subject.eng.fl_str_mv Software Testing. Regression Tests Selection. Textual Differencing. Inclusion. Precision. Features of Changes
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
description The main goal of Regression Test (RT) is to reuse the test suite of the latest version of a software in its current version, in order to maximize the value of the tests already developed and ensure that old features continue working after the new changes. Even with reuse, it is common that not all tests need to be executed again. Because of that, it is encouraged to use Regression Tests Selection (RTS) techniques, which aims to select from all tests, only those that reveal faults, this reduces costs and makes this an interesting practice for the testing teams. Several recent research works evaluate the quality of the selections performed by RTS techniques, identifying which one presents the best results, measured by metrics such as inclusion and precision. The RTS techniques should seek in the System Under Test (SUT) for tests that reveal faults. However, because this is a problem without a viable solution, they alternatively seek for tests that reveal changes, where faults may occur. Nevertheless, these changes may modify the execution flow of the algorithm itself, leading some tests no longer exercise the same stretch. In this context, this dissertation investigates whether changes performed in a SUT would affect the quality of the selection of tests performed by an RTS, if so, which features the changes present which cause errors, leading the RTS to include or exclude tests wrongly. For this purpose, a tool was developed using the Java language to automate the measurement of inclusion and precision averages achieved by a regression test selection technique for a particular feature of change. In order to validate this tool, an empirical study was conducted to evaluate the RTS technique Pythia, based on textual differencing, on a large web information system, analyzing the feature of types of tasks performed to evolve the SUT
publishDate 2014
dc.date.accessioned.fl_str_mv 2014-12-17T15:48:10Z
dc.date.available.fl_str_mv 2014-11-18
2014-12-17T15:48:10Z
dc.date.issued.fl_str_mv 2014-04-29
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.citation.fl_str_mv CRUZ JÚNIOR, João Maria Guedes da. Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software. 2014. 98 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2014.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/18106
identifier_str_mv CRUZ JÚNIOR, João Maria Guedes da. Uma ferramenta de análise automatizada de técnicas de seleção de testes de regressão baseada em mineração de repositórios de software. 2014. 98 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2014.
url https://repositorio.ufrn.br/jspui/handle/123456789/18106
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 application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Sistemas e Computação
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/18106/1/JoaoMGCJ_DISSERT.pdf
https://repositorio.ufrn.br/bitstream/123456789/18106/6/JoaoMGCJ_DISSERT.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/18106/7/JoaoMGCJ_DISSERT.pdf.jpg
bitstream.checksum.fl_str_mv e625012e4cd3f5e995b205310bff8592
5620be8523356ce642b33815b8ff8cc4
a818a2578f7608277955fb620d22bea4
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1797777633300185088