Please use this identifier to cite or link to this item: https://repositorio.ufjf.br/jspui/handle/ufjf/8026
Files in This Item:
File Description SizeFormat 
helenodesouzacamposjunior.pdf1.4 MBAdobe PDFThumbnail
View/Open
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Araújo, Marco Antônio Pereira-
dc.contributor.advisor1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4763431J6pt_BR
dc.contributor.referee1Spínola, Rodrigo Oliveira-
dc.contributor.referee1Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4773436Z2pt_BR
dc.contributor.referee2Menezes, Victor Ströele de Andrade-
dc.contributor.referee2Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4735686P8pt_BR
dc.creatorCampos Junior, Heleno de Souza-
dc.creator.Latteshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4369386J8pt_BR
dc.date.accessioned2018-11-23T12:26:30Z-
dc.date.available2018-10-30-
dc.date.available2018-11-23T12:26:30Z-
dc.date.issued2018-09-19-
dc.identifier.urihttps://repositorio.ufjf.br/jspui/handle/ufjf/8026-
dc.description.abstractRegression tests are executed after every change in software. In a software development environment that adopts Continuous Software Engineering practices such as Continuous Integration, software is changed, built and tested many times in a short period. Each execution can take hours to finish, delaying feedback about failures to the developer. To prevent this, regression test optimization techniques are used. One such technique is test case prioritization (TCP), which reorder the execution of the test cases according to some goal. The most common goal is fault detection, in which test cases are ordered so that those that have higher probability of detecting faults are executed first. One problem with this approach is that there are lots of different available techniques in the literature, but the amount of evidence of its use is low. Furthermore, there is almost no infrastructure support to adopt those techniques at the industry context. The goal of this work is to design and implement a framework that allows the use, experimentation and implementation of TCP techniques. We hope that this will help practitioners on adopting these techniques at the industry context, more specifically, in the continuous software engineering environment. We also hope that creating this infrastructure will encourage researchers on performing more empirical studies regarding test case prioritization techniques effectiveness. In order to show the feasibility of the proposed framework, we perform an empirical study with 16 different TCP techniques executed on a total of 22 versions of 2 different open source projects. Results suggest that using those TCP techniques result in faster feedback about the existence of failures in the projects, possibly resulting in shorter development cycles.pt_BR
dc.description.resumoTestes de regressão são executados após cada mudança no software. Em ambientes de desenvolvimento de software que adotam práticas da Engenharia de Software Contínua, como a Integração contínua, por exemplo, software é modificado, e testado diversas vezes em curtos prazos. Cada execução dos testes pode levar horas para terminar, gerando atraso em relação à descoberta de falhas no projeto. Para prevenir esse atraso, técnicas de otimização são utilizadas. Uma delas é a priorização de casos de testes (TCP). Nessa técnica, a execução dos testes é reordenada de acordo com um objetivo, que normalmente é a detecção de falhas. Dessa forma, testes que têm maior probabilidade de falhas são executados primeiro. Um problema com essa abordagem é que existem diversas técnicas na literatura, mas pouca evidência em relação ao seu uso. Além disso, quase não existe infra estrutura para apoiar a adoção dessas técnicas no contexto industrial. O objetivo deste trabalho é planejar e implementar um framework que permita o uso, experimentação e implementação de técnicas de TCP. Esperamos que isso ajude praticantes a adotar essas técnicas no contexto industrial, principalmente da engenharia de software continua. Esperamos também que a criação dessa infra estrutura ajude pesquisadores a executar mais estudos experimentais sobre a eficiência do uso dessas técnicas. Para mostrar a viabilidade do framework proposto, é executado um estudo experimental com 16 técnicas de priorização diferentes, executadas em um total de 22 versões de 2 projetos open source. Os resultados coletados sugerem que o uso das técnicas de priorização resultam em retornos mais rápidos em relação à existência de falhas nos projetos, possivelmente resultando em ciclos mais rápidos de desenvolvimento.pt_BR
dc.description.sponsorshipCAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorpt_BR
dc.languageengpt_BR
dc.publisherUniversidade Federal de Juiz de Fora (UFJF)pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentICE – Instituto de Ciências Exataspt_BR
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopt_BR
dc.publisher.initialsUFJFpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectManutenção de softwarept_BR
dc.subjectEngenharia de softwarept_BR
dc.subjectTeste de softwarept_BR
dc.subjectIntegração contínuapt_BR
dc.subjectSoftware maintenancept_BR
dc.subjectSoftware engineeringpt_BR
dc.subjectSoftware testingpt_BR
dc.subjectContinuous integrationpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.titleA framework for test case prioritization in the continuous software engineeringpt_BR
dc.typeDissertaçãopt_BR
Appears in Collections:Mestrado em Ciência da Computação (Dissertações)



Items in DSpace are protected by Creative Commons licenses, with all rights reserved, unless otherwise indicated.