Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas.
Autor(a) principal: | |
---|---|
Data de Publicação: | 2016 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFCG |
Texto Completo: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745 |
Resumo: | É evidente hoje o grande investimento em qualidade de software. Assim, para submeter um produto com qualidade aceitável, é necessário determinar a sua testabilidade, uma propriedade que indica a facilidade e precisão na avaliação dos resultados de um teste. Teste de Regressão é um processo custoso, que demanda esforço considerável para detectar defeitos introduzidos em um código testado anteriormente. A fim de aumentar a custo-efetividade deste processo, são aplicadas técnicas de priorização de casos de teste (CTs), que tem por objetivo reordenar o conjunto de testes seguindo algum critério de ordenação. Em particular, a técnica Changed Blocks realiza priorização baseada em mudanças. Segundo estudos realizados neste trabalho, essa técnica apresenta algumas limitações, como: i. os resultados não obtém cobertura máxima de defeitos no topo da lista ordenada; ii. CTs com mesmo número de mudanças cobertas são ordenados aleatoriamente, sem seguir uma regra de importância específica; iii. CTs que revelam mudanças inéditas, mas que apresentam baixa cobertura de mudanças são desfavorecidos. Este trabalho propõe a implementação de duas técnicas baseadas na Changed Blocks, para que mudanças múltiplas agregadas em uma mesma versão do sistema em teste sejam melhor consideradas, não resultando em perdas aos benefícios oferecidos pela técnica original. Várias métricas foram utilizadas na análise, são elas: APFD; F-measure; F-spreading; Group-measure; Group-spreading; e Tempo de Execução. Através de análise experimental, avaliou-se a eficácia das técnicas propostas utilizando uma variedade de versões mutantes de quatro projetos open sources. Os resultados indicam que não houve perda estatística significante na aplicação da melhoria e, na antecipação de CTs em cenários de múltiplas mudanças, em média, foi superior. |
id |
UFCG_9aca217d8154498253208e9c2f054f6e |
---|---|
oai_identifier_str |
oai:localhost:riufcg/745 |
network_acronym_str |
UFCG |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository_id_str |
4851 |
spelling |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas.Teste de RegressãoCaso de TesteTécnicas de PriorizaçãoChanged BlocksPriorJRegression TestingTest CasePrioritization TechniquesCiênciasCiência da ComputaçãoÉ evidente hoje o grande investimento em qualidade de software. Assim, para submeter um produto com qualidade aceitável, é necessário determinar a sua testabilidade, uma propriedade que indica a facilidade e precisão na avaliação dos resultados de um teste. Teste de Regressão é um processo custoso, que demanda esforço considerável para detectar defeitos introduzidos em um código testado anteriormente. A fim de aumentar a custo-efetividade deste processo, são aplicadas técnicas de priorização de casos de teste (CTs), que tem por objetivo reordenar o conjunto de testes seguindo algum critério de ordenação. Em particular, a técnica Changed Blocks realiza priorização baseada em mudanças. Segundo estudos realizados neste trabalho, essa técnica apresenta algumas limitações, como: i. os resultados não obtém cobertura máxima de defeitos no topo da lista ordenada; ii. CTs com mesmo número de mudanças cobertas são ordenados aleatoriamente, sem seguir uma regra de importância específica; iii. CTs que revelam mudanças inéditas, mas que apresentam baixa cobertura de mudanças são desfavorecidos. Este trabalho propõe a implementação de duas técnicas baseadas na Changed Blocks, para que mudanças múltiplas agregadas em uma mesma versão do sistema em teste sejam melhor consideradas, não resultando em perdas aos benefícios oferecidos pela técnica original. Várias métricas foram utilizadas na análise, são elas: APFD; F-measure; F-spreading; Group-measure; Group-spreading; e Tempo de Execução. Através de análise experimental, avaliou-se a eficácia das técnicas propostas utilizando uma variedade de versões mutantes de quatro projetos open sources. Os resultados indicam que não houve perda estatística significante na aplicação da melhoria e, na antecipação de CTs em cenários de múltiplas mudanças, em média, foi superior.The investiment on software quality has grown. To ensure acceptable quality in a product, one needs to determine its testability, a property that indicates the feasibility and accuracy in test results evaluation. Regression testing is an expensive technique to detect faults introduced in a previously tested code. In order to increase its cost-effectiveness, test case prioritization techniques may be used. One of the proeminent techniques is based on changes, called Changed Blocks. According to previous studies, this technique presents limitations, such as: i. Test Cases (TCs) with significant impact on the final result end up in undesired positions in the queue; ii. TCs with same number of covered changes are randomly ordered, without following a specific rule; iii. TCs revealing undetected changes, with low coverage are disadvantaged. This work proposes techniques to improve Changed Blocks by grouping multiple changes in a version of the system under test, with no losses in technical benefits. Several metrics were used as follow: i. APFD ; ii. F-measure ; iii. F-spreading; iv. Group-measure; v. Group-spreading;and vi. Execution Time. We carried out an experimental study to evaluate the efficacy of the proposed techniques using a variety of mutant versions of four open sources Java projects. The results indicate the proposed techniques performed better in the contexts they intend to improve, while presenting no statistically significant loss in contexts common to the original Change Blocks technique.CapesUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGMASSONI, Tiago Lima.MASSONI, T. L.http://lattes.cnpq.br/3563923906851611MACHADO, Patrícia Duarte de Lima.MACHADO, P. D. L.http://lattes.cnpq.br/2495918356675019CAVALCANTE, Berg Élisson Sampaio.20162018-05-21T11:28:18Z2018-05-212018-05-21T11:28:18Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745CAVALCANTE, B. E. S. Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. 2016. 104 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2016. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-25T12:26:22Zoai:localhost:riufcg/745Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-25T12:26:22Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
dc.title.none.fl_str_mv |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
title |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
spellingShingle |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. CAVALCANTE, Berg Élisson Sampaio. Teste de Regressão Caso de Teste Técnicas de Priorização Changed Blocks PriorJ Regression Testing Test Case Prioritization Techniques Ciências Ciência da Computação |
title_short |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
title_full |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
title_fullStr |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
title_full_unstemmed |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
title_sort |
Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. |
author |
CAVALCANTE, Berg Élisson Sampaio. |
author_facet |
CAVALCANTE, Berg Élisson Sampaio. |
author_role |
author |
dc.contributor.none.fl_str_mv |
MASSONI, Tiago Lima. MASSONI, T. L. http://lattes.cnpq.br/3563923906851611 MACHADO, Patrícia Duarte de Lima. MACHADO, P. D. L. http://lattes.cnpq.br/2495918356675019 |
dc.contributor.author.fl_str_mv |
CAVALCANTE, Berg Élisson Sampaio. |
dc.subject.por.fl_str_mv |
Teste de Regressão Caso de Teste Técnicas de Priorização Changed Blocks PriorJ Regression Testing Test Case Prioritization Techniques Ciências Ciência da Computação |
topic |
Teste de Regressão Caso de Teste Técnicas de Priorização Changed Blocks PriorJ Regression Testing Test Case Prioritization Techniques Ciências Ciência da Computação |
description |
É evidente hoje o grande investimento em qualidade de software. Assim, para submeter um produto com qualidade aceitável, é necessário determinar a sua testabilidade, uma propriedade que indica a facilidade e precisão na avaliação dos resultados de um teste. Teste de Regressão é um processo custoso, que demanda esforço considerável para detectar defeitos introduzidos em um código testado anteriormente. A fim de aumentar a custo-efetividade deste processo, são aplicadas técnicas de priorização de casos de teste (CTs), que tem por objetivo reordenar o conjunto de testes seguindo algum critério de ordenação. Em particular, a técnica Changed Blocks realiza priorização baseada em mudanças. Segundo estudos realizados neste trabalho, essa técnica apresenta algumas limitações, como: i. os resultados não obtém cobertura máxima de defeitos no topo da lista ordenada; ii. CTs com mesmo número de mudanças cobertas são ordenados aleatoriamente, sem seguir uma regra de importância específica; iii. CTs que revelam mudanças inéditas, mas que apresentam baixa cobertura de mudanças são desfavorecidos. Este trabalho propõe a implementação de duas técnicas baseadas na Changed Blocks, para que mudanças múltiplas agregadas em uma mesma versão do sistema em teste sejam melhor consideradas, não resultando em perdas aos benefícios oferecidos pela técnica original. Várias métricas foram utilizadas na análise, são elas: APFD; F-measure; F-spreading; Group-measure; Group-spreading; e Tempo de Execução. Através de análise experimental, avaliou-se a eficácia das técnicas propostas utilizando uma variedade de versões mutantes de quatro projetos open sources. Os resultados indicam que não houve perda estatística significante na aplicação da melhoria e, na antecipação de CTs em cenários de múltiplas mudanças, em média, foi superior. |
publishDate |
2016 |
dc.date.none.fl_str_mv |
2016 2018-05-21T11:28:18Z 2018-05-21 2018-05-21T11:28:18Z |
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.uri.fl_str_mv |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745 CAVALCANTE, B. E. S. Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. 2016. 104 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2016. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745 |
url |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745 |
identifier_str_mv |
CAVALCANTE, B. E. S. Uma técnica de priorização de casos de teste para múltiplas mudanças agregadas. 2016. 104 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2016. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/745 |
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.publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
instname_str |
Universidade Federal de Campina Grande (UFCG) |
instacron_str |
UFCG |
institution |
UFCG |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
_version_ |
1809744352131416064 |