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


Autoria(s): Cruz Júnior, João Maria Guedes da
Contribuinte(s)

Kulesza, Uira

CPF:06924289410

http://lattes.cnpq.br/1487995477980653

CPF:02219235432

http://lattes.cnpq.br/0189095897739979

Silva, Lyrene Fernandes da

CPF:02097798454

Guerra, Eduardo Martins

CPF:01271743620

http://lattes.cnpq.br/3413978291577451

Coelho, Roberta de Souza

CPF:02727172400

http://lattes.cnpq.br/9854634275938452

Data(s)

17/12/2014

18/11/2014

17/12/2014

29/04/2014

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

Coordenação de Aperfeiçoamento de Pessoal de Nível Superior

O 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 SUT

Formato

application/pdf

Identificador

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.

http://repositorio.ufrn.br:8080/jspui/handle/123456789/18106

Idioma(s)

por

Publicador

Universidade Federal do Rio Grande do Norte

BR

UFRN

Programa de Pós-Graduação em Sistemas e Computação

Ciência da Computação

Direitos

Acesso Aberto

Palavras-Chave #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
Tipo

Dissertação