Skip navigation
Universidade Federal da Bahia |
Repositório Institucional da UFBA
Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/41548
Registro completo de metadados
Campo DCValorIdioma
dc.creatorSilva, Denivan do Carmo Campos da-
dc.date.accessioned2025-03-24T12:28:54Z-
dc.date.available2025-03-24T12:28:54Z-
dc.date.issued2024-10-19-
dc.identifier.citationSILVA, Denivan do Carmo Campos da. On the Interplay between Developer' Experience and Test Code Quality: a practical guidelines to avoiding test smells in software development. 2024. 200 f. Tese (Doutorado em Ciência da Computação.) - Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.pt_BR
dc.identifier.urihttps://repositorio.ufba.br/handle/ri/41548-
dc.description.abstractSoftware development is a collaborative, social, knowledge-intensive activity, and human-centered aspects such as communication and personality can impact software projects. These factors are essential for team diversity. There are three types of team diversity: informational (or knowledge), social, and values diversity. In this context, we have noticed a lot of interest in the software engineering community about the relationship between human factors and code quality. Investigating if knowledge diversity (human aspects) affects test code quality is important. The literature has brought up several studies investigating test code quality. Still, little empirical evidence exists on the effects of knowledge diversity (e.g., educational background, level of professional experience, expertise, and skills) and test code quality. Whether we consider the prevalence of test smells in current software testing research, the number is way more limited. Test smells are bad implementations inserted by developers and can harm the comprehensibility and maintainability of test suites. Recent studies discuss developers’ perceptions of test smells and their impact on quality improvement, but there is little evidence regarding the effects of knowledge diversity in this direction, especially concerning interdisciplinary collaboration and the exchange of experiences between teams. This thesis aims to gather empirical evidence on the relationship between developer knowledge diversity and test code quality, particularly the effect test smells can bring on software quality. Initially, we built a knowledge base by considering the main concepts of software testing, maintenance, evolution, test smells, software refactoring, developer classification, and tool support. Next, to accomplish our research objective, we used a mixed-methods approach (e.g., surveys, interviews, and mining of GitHub repositories). We organized the findings as a set of guidelines to support developers in preventing the insertion of test smells during the creation of unit test cases.pt_BR
dc.description.sponsorshipFundação de Amparo a Pesquisa do Estado da Bahia - FAPESBpt_BR
dc.languageengpt_BR
dc.publisherUniversidade Federal da Bahiapt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectManutenção de softwarept_BR
dc.subjectTestes de softwarept_BR
dc.subjectTest smellspt_BR
dc.subjectEngenharia de software baseados em evidênciaspt_BR
dc.subject.otherSoftware maintenancept_BR
dc.subject.otherSoftware testingpt_BR
dc.subject.otherTest smellspt_BR
dc.subject.otherEvidence-based software engineering.pt_BR
dc.titleOn the interplay between developer knowledge diversity and test code quality: understanding and addressing test smells in software development.pt_BR
dc.title.alternativeSobre a interação entre a diversidade do conhecimento do desenvolvedor e a qualidade do código de teste: entendendo e abordando os cheiros de teste no desenvolvimento de software.pt_BR
dc.typeTesept_BR
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) pt_BR
dc.publisher.initialsUFBApt_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.contributor.advisor1Machado, Ivan do Carmo-
dc.contributor.advisor1IDhttps://orcid.org/0000-0001-9027-2293pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/4430958315746203pt_BR
dc.contributor.referee1Machado, Ivan do Carmo-
dc.contributor.referee1IDhttps://orcid.org/0000-0001-9027-2293pt_BR
dc.contributor.referee1Latteshttp://lattes.cnpq.br/4430958315746203pt_BR
dc.contributor.referee2Dias Canedo, Edna-
dc.contributor.referee2IDhttps://orcid.org/0000-0002-2159-339Xpt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/9554285834432091pt_BR
dc.contributor.referee3Shuenemann, Carla Taciana Lima Lourenco Silva-
dc.contributor.referee3IDhttps://orcid.org/0000-0002-4062-1990pt_BR
dc.contributor.referee3Latteshttp://lattes.cnpq.br/0581226769296441pt_BR
dc.contributor.referee4Coutinho, Emanuel Ferreira-
dc.contributor.referee4IDhttps://orcid.org/0000-0003-2233-7109pt_BR
dc.contributor.referee4Latteshttp://lattes.cnpq.br/9359546788802277pt_BR
dc.contributor.referee5Mendonça Neto, Manoel Gomes de-
dc.contributor.referee5IDhttps://orcid.org/0000-0002-0874-7665pt_BR
dc.contributor.referee5Latteshttp://lattes.cnpq.br/1608062196337851pt_BR
dc.creator.IDhttps://orcid.org/0000-0002-0033-3791pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/1158656159802120pt_BR
dc.description.resumoProjetos de software open-source resultam de contribuições de pessoas com todos os níveis de habilidade. O desenvolvimento de software é uma atividade colaborativa, social e intensiva em conhecimento, e aspectos centrados no ser humano, como comunicação e personalidade, podem impactar projetos de software. Esses fatores são essenciais para a diversidade da equipe. Existem três tipos de diversidade de equipe: diversidade informacional (ou de conhecimento), social e de valores. Nesse contexto, temos notado muito interesse na comunidade de Engenharia de Software sobre a relação entre fatores humanos e a qualidade do código. Investigar se a diversidade de conhecimento (aspectos humanos) afeta a qualidade do código de teste é importante. A literatura apresenta vários estudos que investigam a qualidade do código de teste. Ainda assim, existem poucas evidências empíricas sobre os efeitos da diversidade de conhecimento (por exemplo, formação educacional, nível de experiência profissional, expertise e habilidades) e a qualidade do código de teste. Se considerarmos a prevalência de ``test smells'' na pesquisa atual de testes de software, o número é ainda mais limitado. Test smells são implementações ruins inseridas por desenvolvedores e podem prejudicar a compreensibilidade e a manutenibilidade dos conjuntos de testes. Estudos recentes discutem as percepções dos desenvolvedores sobre test smells e seu impacto na melhoria da qualidade, mas há pouca evidência acerca dos efeitos da diversidade de conhecimento nessa direção, especialmente no que diz respeito à colaboração interdisciplinar e à troca de experiências entre equipes. Neste contexto, esta tese tem como objetivo reunir evidências empíricas sobre a relação entre a diversidade de conhecimento dos desenvolvedores e a qualidade do código de teste, particularmente o efeito que os test smells podem trazer na qualidade do software. Inicialmente, construímos uma base de conhecimento considerando os principais conceitos de testes de software, manutenção, evolução, test smells, refatoração de software, classificação de desenvolvedores e suporte ferramental. Em seguida, para alcançar nosso objetivo de pesquisa, utilizamos uma abordagem de métodos mistos, que englobou o planejamento e a execução de surveys, entrevistas e mineração de repositórios do GitHub. Organizamos as descobertas como um conjunto de diretrizes para apoiar os desenvolvedores na prevenção da inserção de test smells durante a criação de casos de teste de unidade.pt_BR
dc.publisher.departmentInstituto de Computação - ICpt_BR
dc.type.degreeDoutoradopt_BR
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Tese_Denivan_Campos.pdf26,11 MBAdobe PDFVisualizar/Abrir
Mostrar registro simples do item Visualizar estatísticas


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.