Automatic generation of smell-free unit tests
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/56819 |
Resumo: | Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
id |
RCAP_e8b8c8fb8e3ef229e463e88e9118e4b6 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/56819 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Automatic generation of smell-free unit testsTest SmellsQualidade de SoftwareGeração Automática de TestesOtimização de Múltiplos ObjetivosEstudos EmpíricosTeses de mestrado - 2022Departamento de InformáticaTese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasAutomated test generation tools (such as EvoSuite) typically aim to maximize code coverage. However, they frequently disregard non-coverage aspects that can be relevant for testers, such as the quality of the generated tests. Therefore, automatically generated tests are often affected by a set of test-specific bad programming practices that may hinder the quality of both test and production code, i.e., test smells. Given that other researchers have successfully integrated non-coverage quality metrics into EvoSuite, we decided to extend the EvoSuite tool such that the generated test code is smell-free. To this aim, we compiled 54 test smells from several sources and selected 16 smells that are relevant to the context of this work. We then augmented the tool with the respective test smell metrics and investigated the diffusion of the selected smells and the distribution of the metrics. Finally, we implemented an approach to optimize the test smell metrics as secondary criteria. After establishing the optimal configuration to optimize as secondary criteria (which we used throughout the remainder of the study), we conducted an empirical study to assess whether the tests became significantly less smelly. Furthermore, we studied how the proposed metrics affect the fault detection effectiveness, coverage, and size of the generated tests. Our study revealed that the proposed approach reduces the overall smelliness of the generated tests; in particular, the diffusion of the “Indirect Testing” and “Unrelated Assertions” smells improved considerably. Moreover, our approach improved the smelliness of the tests generated by EvoSuite without compromising the code coverage or fault detection effectiveness. The size and length of the generated tests were also not affected by the new secondary criteria.Campos, José Carlos Medeiros deRepositório da Universidade de LisboaAfonso, João Gonçalo Balsinha2023-03-27T09:54:56Z202220222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/56819enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T17:04:49Zoai:repositorio.ul.pt:10451/56819Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:07:22.768236Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Automatic generation of smell-free unit tests |
title |
Automatic generation of smell-free unit tests |
spellingShingle |
Automatic generation of smell-free unit tests Afonso, João Gonçalo Balsinha Test Smells Qualidade de Software Geração Automática de Testes Otimização de Múltiplos Objetivos Estudos Empíricos Teses de mestrado - 2022 Departamento de Informática |
title_short |
Automatic generation of smell-free unit tests |
title_full |
Automatic generation of smell-free unit tests |
title_fullStr |
Automatic generation of smell-free unit tests |
title_full_unstemmed |
Automatic generation of smell-free unit tests |
title_sort |
Automatic generation of smell-free unit tests |
author |
Afonso, João Gonçalo Balsinha |
author_facet |
Afonso, João Gonçalo Balsinha |
author_role |
author |
dc.contributor.none.fl_str_mv |
Campos, José Carlos Medeiros de Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Afonso, João Gonçalo Balsinha |
dc.subject.por.fl_str_mv |
Test Smells Qualidade de Software Geração Automática de Testes Otimização de Múltiplos Objetivos Estudos Empíricos Teses de mestrado - 2022 Departamento de Informática |
topic |
Test Smells Qualidade de Software Geração Automática de Testes Otimização de Múltiplos Objetivos Estudos Empíricos Teses de mestrado - 2022 Departamento de Informática |
description |
Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022 2022 2022-01-01T00:00:00Z 2023-03-27T09:54:56Z |
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://hdl.handle.net/10451/56819 |
url |
http://hdl.handle.net/10451/56819 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
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.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134627387932672 |