Uma abordagem visual para a evolução de test smells em software Java
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFLA |
Texto Completo: | http://repositorio.ufla.br/jspui/handle/1/50244 |
Resumo: | Software testing is part of the software development cycle, being the process of performing system tasks whose main objective is to identify whether the software behaves as specified. Testing also aims to identify defects in the code produced. During this process, developers and testers may include poor design or implementation choices in the test code, leading to the insertion of so-called test smells. Test smells are bad design or implementation choices for test code and their presence can make it ineffective at finding bugs, generating rework and additional costs. Test smells can also make code difficult to understand and maintain. Also, like any software artifact, test code requires quality and maintainability assessment. Test code maintenance can occur due to the identification of code problems and the evolution of the production code. As the test code evolves, some test smells may be removed and others may be inserted. To visualize the evolution of software systems, software visualization techniques have been used, whose objective is to transform the production code into a visual representation to facilitate its understanding. Although these techniques help to visualize the evolution of software systems, this approach does not cover test code to visualize test smells. Thus, the objective of this work was to propose an approach to visualize the evolution of test smells in the test code and its behavior, for example, if there was an increase or decrease of test smells, and visualize the possible authors for their inclusion. An approach was proposed that defined three visual strategies (TSInstant, TSEvolution and TSAuthor) and a tool that implements this approach through three software visualization techniques (Graph View, Treemap View and Timeline View) for 21 types of test smells. This approach was implemented in a tool called TSVizzEvolution and was evaluated through a controlled experiment. These views can help testers and others involved in software testing activities improve the quality of test code. |
id |
UFLA_6d217c29cd6cd342305f7e18327a25a5 |
---|---|
oai_identifier_str |
oai:localhost:1/50244 |
network_acronym_str |
UFLA |
network_name_str |
Repositório Institucional da UFLA |
repository_id_str |
|
spelling |
Uma abordagem visual para a evolução de test smells em software JavaA visual approach for evolution of test smells in java softwareTest SmellsVisualização de softwareEvolução de softwareJava (Linguagem de programação de computador)Software visualizationSoftware evolutionCiência da ComputaçãoSoftware testing is part of the software development cycle, being the process of performing system tasks whose main objective is to identify whether the software behaves as specified. Testing also aims to identify defects in the code produced. During this process, developers and testers may include poor design or implementation choices in the test code, leading to the insertion of so-called test smells. Test smells are bad design or implementation choices for test code and their presence can make it ineffective at finding bugs, generating rework and additional costs. Test smells can also make code difficult to understand and maintain. Also, like any software artifact, test code requires quality and maintainability assessment. Test code maintenance can occur due to the identification of code problems and the evolution of the production code. As the test code evolves, some test smells may be removed and others may be inserted. To visualize the evolution of software systems, software visualization techniques have been used, whose objective is to transform the production code into a visual representation to facilitate its understanding. Although these techniques help to visualize the evolution of software systems, this approach does not cover test code to visualize test smells. Thus, the objective of this work was to propose an approach to visualize the evolution of test smells in the test code and its behavior, for example, if there was an increase or decrease of test smells, and visualize the possible authors for their inclusion. An approach was proposed that defined three visual strategies (TSInstant, TSEvolution and TSAuthor) and a tool that implements this approach through three software visualization techniques (Graph View, Treemap View and Timeline View) for 21 types of test smells. This approach was implemented in a tool called TSVizzEvolution and was evaluated through a controlled experiment. These views can help testers and others involved in software testing activities improve the quality of test code.O teste de software é parte do ciclo de desenvolvimento de software, sendo o processo de executar as tarefas do sistema cujo objetivo principal é identificar se o software se comporta conforme foi especificado. O teste também tem como objetivo identificar defeitos no código produzido. Durante esse processo, os desenvolvedores e testadores podem incluir más escolhas de projeto ou implementação do código de teste, levando a inserção dos denominados test smells. Test smells são más escolhas de design ou de implementação do código de teste e sua presença pode torna-lo ineficaz em encontrar bugs, gerando retrabalho e custos adicionais. Test smells também podem dificultar a compreensão e manutenibilidade do código. Além disso, assim como qualquer artefato de software, o código de teste requer a avaliação da qualidade e manutenção. A manutenção do código de teste pode ocorrer devido a identificação de problemas no código e a evolução do código de produção. Ao longo da evolução do código de teste alguns test smells podem ser removidos e outros podem ser inseridos. Para visualizar a evolução de sistemas de software, têm sido utilizadas técnicas de visualização de software, cujo objetivo é transformar o código de produção em uma representação visual para facilitar a sua compreensão. Apesar dessas técnicas contribuírem para visualizar a evolução de sistemas de software, essa abordagem não abrange o código de teste para visualização de test smells. Dessa forma, o objetivo desse trabalho foi propor uma abordagem para visualizar a evolução dos test smells no código de teste e seu comportamento, por exemplo, se houve aumento ou diminuição de test smells, e visualizar os possíveis autores pela sua inclusão. Foi proposta uma abordagem que definiu três estatrégias visuais (TSInstant, TSEvolution e TSAuthor) e uma ferramenta que implementa essa abordagem através de três técnicas de visualização de software (Graph View, Treemap View e Timeline View) para 21 test smells. Essa abordagem foi implementada em uma ferramenta denominada TSVizzEvolution e foi avaliada por meio de um experimento controlado. Essas visualizações podem ajudar os testadores e demais envolvidos nas atividades de teste de software a melhorar a qualidade do código de teste.Universidade Federal de LavrasPrograma de Pós-Graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoCosta, Heitor Augustus XavierMachado, Ivan Do CarmoSoares, Larissa RochaCruz, Adriana Priscila Santos2022-06-15T17:27:56Z2022-06-15T17:27:56Z2022-06-152022-03-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfCRUZ, A. P. S. Uma abordagem visual para a evolução de test smells em software Java. 2022. 230 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2022.http://repositorio.ufla.br/jspui/handle/1/50244porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLA2023-04-13T17:31:57Zoai:localhost:1/50244Repositório InstitucionalPUBhttp://repositorio.ufla.br/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2023-04-13T17:31:57Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)false |
dc.title.none.fl_str_mv |
Uma abordagem visual para a evolução de test smells em software Java A visual approach for evolution of test smells in java software |
title |
Uma abordagem visual para a evolução de test smells em software Java |
spellingShingle |
Uma abordagem visual para a evolução de test smells em software Java Cruz, Adriana Priscila Santos Test Smells Visualização de software Evolução de software Java (Linguagem de programação de computador) Software visualization Software evolution Ciência da Computação |
title_short |
Uma abordagem visual para a evolução de test smells em software Java |
title_full |
Uma abordagem visual para a evolução de test smells em software Java |
title_fullStr |
Uma abordagem visual para a evolução de test smells em software Java |
title_full_unstemmed |
Uma abordagem visual para a evolução de test smells em software Java |
title_sort |
Uma abordagem visual para a evolução de test smells em software Java |
author |
Cruz, Adriana Priscila Santos |
author_facet |
Cruz, Adriana Priscila Santos |
author_role |
author |
dc.contributor.none.fl_str_mv |
Costa, Heitor Augustus Xavier Machado, Ivan Do Carmo Soares, Larissa Rocha |
dc.contributor.author.fl_str_mv |
Cruz, Adriana Priscila Santos |
dc.subject.por.fl_str_mv |
Test Smells Visualização de software Evolução de software Java (Linguagem de programação de computador) Software visualization Software evolution Ciência da Computação |
topic |
Test Smells Visualização de software Evolução de software Java (Linguagem de programação de computador) Software visualization Software evolution Ciência da Computação |
description |
Software testing is part of the software development cycle, being the process of performing system tasks whose main objective is to identify whether the software behaves as specified. Testing also aims to identify defects in the code produced. During this process, developers and testers may include poor design or implementation choices in the test code, leading to the insertion of so-called test smells. Test smells are bad design or implementation choices for test code and their presence can make it ineffective at finding bugs, generating rework and additional costs. Test smells can also make code difficult to understand and maintain. Also, like any software artifact, test code requires quality and maintainability assessment. Test code maintenance can occur due to the identification of code problems and the evolution of the production code. As the test code evolves, some test smells may be removed and others may be inserted. To visualize the evolution of software systems, software visualization techniques have been used, whose objective is to transform the production code into a visual representation to facilitate its understanding. Although these techniques help to visualize the evolution of software systems, this approach does not cover test code to visualize test smells. Thus, the objective of this work was to propose an approach to visualize the evolution of test smells in the test code and its behavior, for example, if there was an increase or decrease of test smells, and visualize the possible authors for their inclusion. An approach was proposed that defined three visual strategies (TSInstant, TSEvolution and TSAuthor) and a tool that implements this approach through three software visualization techniques (Graph View, Treemap View and Timeline View) for 21 types of test smells. This approach was implemented in a tool called TSVizzEvolution and was evaluated through a controlled experiment. These views can help testers and others involved in software testing activities improve the quality of test code. |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-06-15T17:27:56Z 2022-06-15T17:27:56Z 2022-06-15 2022-03-28 |
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 |
CRUZ, A. P. S. Uma abordagem visual para a evolução de test smells em software Java. 2022. 230 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2022. http://repositorio.ufla.br/jspui/handle/1/50244 |
identifier_str_mv |
CRUZ, A. P. S. Uma abordagem visual para a evolução de test smells em software Java. 2022. 230 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2022. |
url |
http://repositorio.ufla.br/jspui/handle/1/50244 |
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 de Lavras Programa de Pós-Graduação em Ciência da Computação UFLA brasil Departamento de Ciência da Computação |
publisher.none.fl_str_mv |
Universidade Federal de Lavras Programa de Pós-Graduação em Ciência da Computação UFLA brasil Departamento de Ciência da Computação |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFLA instname:Universidade Federal de Lavras (UFLA) instacron:UFLA |
instname_str |
Universidade Federal de Lavras (UFLA) |
instacron_str |
UFLA |
institution |
UFLA |
reponame_str |
Repositório Institucional da UFLA |
collection |
Repositório Institucional da UFLA |
repository.name.fl_str_mv |
Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA) |
repository.mail.fl_str_mv |
nivaldo@ufla.br || repositorio.biblioteca@ufla.br |
_version_ |
1807835198845353984 |