Uma abordagem visual para a evolução de test smells em software Java

Detalhes bibliográficos
Autor(a) principal: Cruz, Adriana Priscila Santos
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