Uma abordagem visual para a evolução de test smells em software Java
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | , |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Lavras
|
| Programa de Pós-Graduação: |
Programa de Pós-Graduação em Ciência da Computação
|
| Departamento: |
Departamento de Ciência da Computação
|
| País: |
brasil
|
| Palavras-chave em Português: | |
| Área do conhecimento CNPq: | |
| Link de acesso: | https://repositorio.ufla.br/handle/1/50244 |
Resumo: | 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. |
| id |
UFLA_6d8d6b4598c60c3604469d4dfbd0647f |
|---|---|
| oai_identifier_str |
oai:repositorio.ufla.br:1/50244 |
| network_acronym_str |
UFLA |
| network_name_str |
Repositório Institucional da UFLA |
| repository_id_str |
|
| spelling |
2022-06-15T17:27:56Z2022-06-15T17:27:56Z2022-06-152022-03-28CRUZ, 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.https://repositorio.ufla.br/handle/1/50244O 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.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.Universidade Federal de LavrasPrograma de Pós-Graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoCiência da ComputaçãoTest SmellsVisualização de softwareEvolução de softwareJava (Linguagem de programação de computador)Software visualizationSoftware evolutionUma abordagem visual para a evolução de test smells em software JavaA visual approach for evolution of test smells in java softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisCosta, Heitor Augustus XavierMachado, Ivan Do CarmoSoares, Larissa Rochahttp://lattes.cnpq.br/9983008005648552Cruz, Adriana Priscila Santosinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAORIGINALDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdfDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdfapplication/pdf3663605https://repositorio.ufla.br/bitstreams/8ec8265f-39e8-4a3c-946f-1fa7c52204da/downloade38c8c2e8e759afe68970ff63a8685ffMD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-8953https://repositorio.ufla.br/bitstreams/80876812-dc47-41d5-9b09-e47062284061/download760884c1e72224de569e74f79eb87ce3MD52falseAnonymousREADTEXTDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdf.txtDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdf.txtExtracted texttext/plain102227https://repositorio.ufla.br/bitstreams/536e3e70-5fda-4356-b403-e70459f062bf/download4895bb61bf9ce94f67a20cd35d015c62MD53falseAnonymousREADTHUMBNAILDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdf.jpgDISSERTAÇÃO_Uma abordagem visual para a evolução de test smells em software Java.pdf.jpgGenerated Thumbnailimage/jpeg3101https://repositorio.ufla.br/bitstreams/ae1a28b8-bf0d-49ac-98f5-1c3f296a3836/downloadfe923bc0d642cface829bb78215ccb3cMD54falseAnonymousREAD1/502442025-08-11 17:29:05.442open.accessoai:repositorio.ufla.br:1/50244https://repositorio.ufla.brRepositório InstitucionalPUBhttps://repositorio.ufla.br/server/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2025-08-11T20:29:05Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)falseREVDTEFSQcOHw4NPIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCk8gcmVmZXJpZG8gYXV0b3I6CmEpIERlY2xhcmEgcXVlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIMOpIHNldSB0cmFiYWxobyBvcmlnaW5hbCwgZSBxdWUKZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2UsIHRhbnRvIHF1YW50bwpsaGUgw6kgcG9zc8OtdmVsIHNhYmVyLCBvcyBkaXJlaXRvcyBkZSBxdWFscXVlciBvdXRyYSBwZXNzb2Egb3UKZW50aWRhZGUuCmIpIFNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBuw6NvIGRldMOpbSBvcwpkaXJlaXRvcyBkZSBhdXRvciwgZGVjbGFyYSBxdWUgb2J0ZXZlIGF1dG9yaXphw6fDo28gZG8gZGV0ZW50b3IgZG9zCmRpcmVpdG9zIGRlIGF1dG9yIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgTGF2cmFzIG9zCmRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgY3Vqb3MKZGlyZWl0b3Mgc8OjbyBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbwpubyB0ZXh0byBvdSBjb250ZcO6ZG8gZG8gZG9jdW1lbnRvIGVudHJlZ3VlLiBTZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqQpiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbyBwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUKbsOjbyBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIExhdnJhcywgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIKb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgo= |
| dc.title.pt_BR.fl_str_mv |
Uma abordagem visual para a evolução de test smells em software Java |
| dc.title.alternative.pt_BR.fl_str_mv |
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 Ciência da Computação Test Smells Visualização de software Evolução de software Java (Linguagem de programação de computador) Software visualization Software evolution |
| 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.advisor1.fl_str_mv |
Costa, Heitor Augustus Xavier |
| dc.contributor.referee1.fl_str_mv |
Machado, Ivan Do Carmo |
| dc.contributor.referee2.fl_str_mv |
Soares, Larissa Rocha |
| dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/9983008005648552 |
| dc.contributor.author.fl_str_mv |
Cruz, Adriana Priscila Santos |
| contributor_str_mv |
Costa, Heitor Augustus Xavier Machado, Ivan Do Carmo Soares, Larissa Rocha |
| dc.subject.cnpq.fl_str_mv |
Ciência da Computação |
| topic |
Ciência da Computação Test Smells Visualização de software Evolução de software Java (Linguagem de programação de computador) Software visualization Software evolution |
| 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 |
| description |
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. |
| publishDate |
2022 |
| dc.date.submitted.none.fl_str_mv |
2022-03-28 |
| dc.date.accessioned.fl_str_mv |
2022-06-15T17:27:56Z |
| dc.date.available.fl_str_mv |
2022-06-15T17:27:56Z |
| dc.date.issued.fl_str_mv |
2022-06-15 |
| 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.citation.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. |
| dc.identifier.uri.fl_str_mv |
https://repositorio.ufla.br/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 |
https://repositorio.ufla.br/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.publisher.none.fl_str_mv |
Universidade Federal de Lavras |
| dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação |
| dc.publisher.initials.fl_str_mv |
UFLA |
| dc.publisher.country.fl_str_mv |
brasil |
| dc.publisher.department.fl_str_mv |
Departamento de Ciência da Computação |
| publisher.none.fl_str_mv |
Universidade Federal de Lavras |
| 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 |
| bitstream.url.fl_str_mv |
https://repositorio.ufla.br/bitstreams/8ec8265f-39e8-4a3c-946f-1fa7c52204da/download https://repositorio.ufla.br/bitstreams/80876812-dc47-41d5-9b09-e47062284061/download https://repositorio.ufla.br/bitstreams/536e3e70-5fda-4356-b403-e70459f062bf/download https://repositorio.ufla.br/bitstreams/ae1a28b8-bf0d-49ac-98f5-1c3f296a3836/download |
| bitstream.checksum.fl_str_mv |
e38c8c2e8e759afe68970ff63a8685ff 760884c1e72224de569e74f79eb87ce3 4895bb61bf9ce94f67a20cd35d015c62 fe923bc0d642cface829bb78215ccb3c |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
| 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_ |
1854947810284142592 |