Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells

Detalhes bibliográficos
Autor(a) principal: Virgínio, Tássio
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Comum do Brasil - Deposita
Texto Completo: https://deposita.ibict.br/handle/deposita/580
Resumo: A constante busca pela qualidade sempre está em destaque na área de Engenharia de Software. Dentre as diversas disciplinas dedicadas a essa temática, o teste de software tem se estabelecido como uma das mais importantes, dado sua eficácia na identificação de defeitos, em momento prévio à liberação de sistemas de software para o mercado. O teste de software é atividade-chave para o desenvolvimento de software de qualidade. Entretanto, desenvolver testes é tão ou mais custoso do que desenvolver o código de produção. Uma alternativa para a redução dos custos associados ao teste de software se dá pelo uso intensivo de ferramentas de automação de testes. A proposta dessas ferramentas é reduzir o tempo de produção sem afetar a qualidade do código. Apesar dessa premissa, não é comum encontrar abordagens que incluam uma camada de verificação de qualidade dos testes gerados automaticamente, o que pode reduzir a confiabilidade da eficácia desses testes. Neste cenário, a proposta dessa dissertação é analisar empiricamente massas de dados de teste, sob a perspectiva de test smells, no sentido de avaliar a qualidade dos testes produzidos por ferramentas de geração automatizada de testes de software. Test smells são más escolhas no design dos testes e tem características sintomáticas e podem acarretar diminuição na qualidade dos sistemas. Considerando os test smells em código de teste, o estudo analisa os testes gerados por duas ferramentas amplamente aceitas pela comunidade de testes: Evosuite e Randoop. Um conjunto de vinte e um projetos de software de código aberto, disponíveis na plataforma Github foram considerados no estudo. A análise considerou a dispersão de test smells no código de teste desses projetos, bem como a existência de potenciais correlações entre test smells e as relações com as métricas estruturais. Como principais resultados, encontramos fortes correlações entre os test smells e as métricas de cobertura do código, diferenças significativas entre os dados encontrados nas suítes de testes geradas automaticamente e com os testes pré-existentes nos projetos avaliados.
id IBICT-1_ead44d67e69832666273dfa4b8adf82d
oai_identifier_str oai:https://deposita.ibict.br:deposita/580
network_acronym_str IBICT-1
network_name_str Repositório Comum do Brasil - Deposita
repository_id_str 4658
spelling Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smellsqualidade de softwarecode smellstest smellsautomação de teste de softwareCiências Exatas e da TerraA constante busca pela qualidade sempre está em destaque na área de Engenharia de Software. Dentre as diversas disciplinas dedicadas a essa temática, o teste de software tem se estabelecido como uma das mais importantes, dado sua eficácia na identificação de defeitos, em momento prévio à liberação de sistemas de software para o mercado. O teste de software é atividade-chave para o desenvolvimento de software de qualidade. Entretanto, desenvolver testes é tão ou mais custoso do que desenvolver o código de produção. Uma alternativa para a redução dos custos associados ao teste de software se dá pelo uso intensivo de ferramentas de automação de testes. A proposta dessas ferramentas é reduzir o tempo de produção sem afetar a qualidade do código. Apesar dessa premissa, não é comum encontrar abordagens que incluam uma camada de verificação de qualidade dos testes gerados automaticamente, o que pode reduzir a confiabilidade da eficácia desses testes. Neste cenário, a proposta dessa dissertação é analisar empiricamente massas de dados de teste, sob a perspectiva de test smells, no sentido de avaliar a qualidade dos testes produzidos por ferramentas de geração automatizada de testes de software. Test smells são más escolhas no design dos testes e tem características sintomáticas e podem acarretar diminuição na qualidade dos sistemas. Considerando os test smells em código de teste, o estudo analisa os testes gerados por duas ferramentas amplamente aceitas pela comunidade de testes: Evosuite e Randoop. Um conjunto de vinte e um projetos de software de código aberto, disponíveis na plataforma Github foram considerados no estudo. A análise considerou a dispersão de test smells no código de teste desses projetos, bem como a existência de potenciais correlações entre test smells e as relações com as métricas estruturais. Como principais resultados, encontramos fortes correlações entre os test smells e as métricas de cobertura do código, diferenças significativas entre os dados encontrados nas suítes de testes geradas automaticamente e com os testes pré-existentes nos projetos avaliados.The constant search for quality is always highlighted in the area of Software Engineering. Among the various disciplines dedicated to this topic, software testing has established itself as one of the most important, given its effectiveness in identifying defects, prior to the release of software systems to the market. Software testing is a key activity for developing quality software. However, developing tests is as costly or more expensive than developing production code. An alternative to reducing costs associated with software testing is the intensive use of test automation tools. The purpose of these tools is to reduce production time without affecting code quality. Despite this premise, it is not common to find approaches that include a quality check layer for automatically generated tests, which can reduce the reliability of the effectiveness of these tests. In this scenario, the purpose of this dissertation is to empirically analyze masses of test data, from the perspective of test smells, in order to evaluate the quality of tests produced by automated software test generation tools. Test smells are bad choices in test design and have symptomatic characteristics and can lead to a decrease in the quality of systems. Considering test smells in test code, the study analyzes tests generated by two tools widely accepted by the testing community: Evosuite and Randoop. A set of twenty-one open source software projects available on the Github platform were considered in the study. The analysis considered the dispersion of test smells in the test code of these projects, as well as the existence of potential correlations between test smells and relationships with structural metrics. As main results, we found strong correlations between test smells and code coverage metrics, significant differences between the data found in the automatically generated test suites and with pre-existing tests in the evaluated projects.Universidade Federal do BahiaUniversidade Federal da BahiaBrasilPrograma de Pós-graduação em Ciência da Computaçãohttps://lattes.cnpq.br/051747096610464004242982445Machado, Ivanhttp://lattes.cnpq.br/4430958315746203Virgínio, Tássio2024-03-27T18:56:25Z2020info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://deposita.ibict.br/handle/deposita/580porinfo:eu-repo/semantics/openAccessreponame:Repositório Comum do Brasil - Depositainstname:Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT)instacron:IBICT2024-03-27T18:57:09Zoai:https://deposita.ibict.br:deposita/580Repositório ComumPUBhttp://deposita.ibict.br/oai/requestdeposita@ibict.bropendoar:46582024-03-27T18:57:09Repositório Comum do Brasil - Deposita - Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT)false
dc.title.none.fl_str_mv Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
title Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
spellingShingle Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
Virgínio, Tássio
qualidade de software
code smells
test smells
automação de teste de software
Ciências Exatas e da Terra
title_short Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
title_full Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
title_fullStr Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
title_full_unstemmed Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
title_sort Avaliação empírica da geração automatizada de testes de software sob a perspectiva de test smells
author Virgínio, Tássio
author_facet Virgínio, Tássio
author_role author
dc.contributor.none.fl_str_mv https://lattes.cnpq.br/0517470966104640
04242982445
Machado, Ivan
http://lattes.cnpq.br/4430958315746203
dc.contributor.author.fl_str_mv Virgínio, Tássio
dc.subject.por.fl_str_mv qualidade de software
code smells
test smells
automação de teste de software
Ciências Exatas e da Terra
topic qualidade de software
code smells
test smells
automação de teste de software
Ciências Exatas e da Terra
description A constante busca pela qualidade sempre está em destaque na área de Engenharia de Software. Dentre as diversas disciplinas dedicadas a essa temática, o teste de software tem se estabelecido como uma das mais importantes, dado sua eficácia na identificação de defeitos, em momento prévio à liberação de sistemas de software para o mercado. O teste de software é atividade-chave para o desenvolvimento de software de qualidade. Entretanto, desenvolver testes é tão ou mais custoso do que desenvolver o código de produção. Uma alternativa para a redução dos custos associados ao teste de software se dá pelo uso intensivo de ferramentas de automação de testes. A proposta dessas ferramentas é reduzir o tempo de produção sem afetar a qualidade do código. Apesar dessa premissa, não é comum encontrar abordagens que incluam uma camada de verificação de qualidade dos testes gerados automaticamente, o que pode reduzir a confiabilidade da eficácia desses testes. Neste cenário, a proposta dessa dissertação é analisar empiricamente massas de dados de teste, sob a perspectiva de test smells, no sentido de avaliar a qualidade dos testes produzidos por ferramentas de geração automatizada de testes de software. Test smells são más escolhas no design dos testes e tem características sintomáticas e podem acarretar diminuição na qualidade dos sistemas. Considerando os test smells em código de teste, o estudo analisa os testes gerados por duas ferramentas amplamente aceitas pela comunidade de testes: Evosuite e Randoop. Um conjunto de vinte e um projetos de software de código aberto, disponíveis na plataforma Github foram considerados no estudo. A análise considerou a dispersão de test smells no código de teste desses projetos, bem como a existência de potenciais correlações entre test smells e as relações com as métricas estruturais. Como principais resultados, encontramos fortes correlações entre os test smells e as métricas de cobertura do código, diferenças significativas entre os dados encontrados nas suítes de testes geradas automaticamente e com os testes pré-existentes nos projetos avaliados.
publishDate 2020
dc.date.none.fl_str_mv 2020
2024-03-27T18:56:25Z
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 https://deposita.ibict.br/handle/deposita/580
url https://deposita.ibict.br/handle/deposita/580
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 Bahia
Universidade Federal da Bahia
Brasil
Programa de Pós-graduação em Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Bahia
Universidade Federal da Bahia
Brasil
Programa de Pós-graduação em Ciência da Computação
dc.source.none.fl_str_mv reponame:Repositório Comum do Brasil - Deposita
instname:Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT)
instacron:IBICT
instname_str Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT)
instacron_str IBICT
institution IBICT
reponame_str Repositório Comum do Brasil - Deposita
collection Repositório Comum do Brasil - Deposita
repository.name.fl_str_mv Repositório Comum do Brasil - Deposita - Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT)
repository.mail.fl_str_mv deposita@ibict.br
_version_ 1801753549286146048