On the Interplay between Developer Knowledge Diversity and Test Code Quality: Understanding and Addressing Test Smells in Software Development

Nome completo do aluno

 

Denivan do Carmo Campos da Silva

 

Título do trabalho

 

On the Interplay between Developer Knowledge Diversity and Test Code Quality: Understanding and Addressing Test Smells in Software Development

 

Resumo do trabalho

 

Software 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.

 

Orientador

 

Ivan do Carmo Machado

 

Membro Titular Externo 1 (com afiliação)

 

Edna Dias Canedo (UnB)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/9554285834432091

 

Membro Titular Externo 2 (com afiliação)

 

Carla Taciana Lima Lourenco Silva Schuenemann (CIn/UFPE)

 

Link para o curriculum lattes

 

https://lattes.cnpq.br/0581226769296441

 

Membro Titular Interno 1 ou Titular Externo 3 (com afiliação)

 

Emanuel Ferreira Coutinho (UFC)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/9359546788802277

 

Membro Titular Interno 2 ou Titular Externo 4 (com afiliação)

 

Manoel Gomes de Mendonça Neto (PGCOMP/UFBA)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/1608062196337851

 

Membro Suplente Externo 1 (com afiliação)

 

Carla Ilane Moreira Bezerra (UFC)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/4277471687235814

 

Membro Suplente Externo 2 (com afiliação)

 

Heitor Augustus Xavier Costa (UFLA)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/1320324289662918

 

Membro Suplente Interno 1 ou Suplente Externo 3 (com afiliação)

 

Márcio de Medeiros Ribeiro (UFAL)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/9300936571715992

 

Membro Suplente Interno 2 ou Suplente Externo 4 (com afiliação)

 

Larissa Rocha Soares Bastos (UNEB)

 

Link para o curriculum lattes

 

http://lattes.cnpq.br/5750570352089990

 

Data da defesa

 

07 Oct, 2024

 

Horário da defesa

 

3:00 PM

 

Quais os principais impactos deste trabalho (social, tecnológico, científico, ambiental)?

 

Social: Promove a valorização da diversidade de conhecimento e habilidades nas equipes de desenvolvimento de software, incentivando uma colaboração mais inclusiva e melhor comunicação entre profissionais com diferentes formações e experiências.
Tecnológico: Gera diretrizes práticas para prevenir "test smells" e melhorar a qualidade do código de teste, o que contribui para o desenvolvimento de software mais robusto e sustentável, aprimorando as práticas de manutenção e evolução do software.
Científico: Preenche uma lacuna na literatura sobre a relação entre diversidade de conhecimento dos desenvolvedores e a qualidade do código de teste, oferecendo evidências empíricas que podem orientar futuras pesquisas sobre fatores humanos na engenharia de software.
Ambiental: Indiretamente, ao melhorar a eficiência e a qualidade dos projetos de software, este trabalho pode contribuir para a redução do desperdício de recursos computacionais e de energia usados em processos de manutenção e retrabalho em softwares com falhas.

 

 

Data da Defesa: 
07/10/2024 - 15:00
Tipo de Defesa: 
Defesa de Doutorado