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
Ano de defesa: | 2014 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
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 |