Assessing the migration of testing frameworks in the Python ecosystem

dc.creatorLívia Almeida Barbosa
dc.date.accessioned2022-11-21T02:07:40Z
dc.date.accessioned2025-09-09T01:04:31Z
dc.date.available2022-11-21T02:07:40Z
dc.date.issued2022-07-12
dc.description.abstractAtualmente, desenvolvedores Python podem utilizar dois frameworks de teste: unittest e pytest. Devido aos benef´ıcios do pytest (tais como reuso de fixtures), muitos projetos relevantes no ecossistema Python migraram do unittest para o pytest. Apesar de ser realizada pela comunidade Python, ainda n˜ao temos informações suficientes sobre a migração de unittest para pytest, nem sobre as raz˜oes da migração. Neste estudo, analizamos como e por qual motivo desenvolvedores migram de unittest para pytest. Para isso, mineramos os 100 sistemas Python mais populares e analisamos seus status de migrações. Os resultados mostram que 34% dos sistemas dependem de ambos frameworks de teste e que projetos Python est˜ao, de fato, realizando a migração para pytest. Enquanto alguns sistemas mi graram completamente, outros ainda estão migrando após um longo período, sugerindo que a migração não é sempre direta. Em geral, o código de teste migrado é menor que o original. Além disso, desenvolvedores migram para pytest por diversas razões, como sintaxe simplificada, interoperabilidade, manutenção facilitada e flexibilidade/reuso de fixtures, entretanto, a mecânica implícita do pytest e o fato de ser um pacote não nativo são preocupações relevantes.
dc.description.sponsorshipCNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
dc.description.sponsorshipFAPEMIG - Fundação de Amparo à Pesquisa do Estado de Minas Gerais
dc.description.sponsorshipCAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
dc.identifier.urihttps://hdl.handle.net/1843/47346
dc.languageeng
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectComputação – Teses
dc.subjectSoftware – Testes – Teses
dc.subjectMineração de dados (Computação) – Teses
dc.subjectEngenharia de Software – Teses
dc.subjectPython (Linguagem de programação de computador) – Teses
dc.subject.otherSoftware testing
dc.subject.otherSoftware maintenance
dc.subject.otherMining software repositories
dc.subject.otherEmpirical software engineering
dc.subject.otherPython
dc.subject.otherPytest
dc.subject.otherUnittest
dc.titleAssessing the migration of testing frameworks in the Python ecosystem
dc.title.alternativeAvaliação da migração de frameworks de testes no ecossistema Python
dc.typeDissertação de mestrado
local.contributor.advisor1André Cavalcante Hora
local.contributor.advisor1Latteshttp://lattes.cnpq.br/4957418183504876
local.contributor.referee1Marco Túlio de Oliveira Valente
local.contributor.referee1Nicolas Anquetil
local.creator.Latteshttp://lattes.cnpq.br/0124059842153749
local.description.resumoNowadays, Python developers can rely on two major testing frameworks: unittest and pytest. Due to the benefits of pytest (e.g. fixture reuse), several relevant projects in the Python ecosystem have migrated from unittest to pytest. Despite being performed by the Python community, we are not yet aware of how systems are migrated from unittest to pytest nor the major reasons behind the migration. This study provides the first empirical study to assess testing framework migration. We analyze how and why developers migrate from unittest to pytest. We mine 100 popular Python systems and assess their migration status. We find that 34% of the systems rely on both testing frameworks and that Python projects are moving to pytest. While some systems have fully migrated, others are still migrating after a long period, suggesting that the migration is not always straightforward. Overall, the migrated test code is smaller than the original one. Furthermore, developers migrate to pytest due to several reasons, such as the easier syntax, interoperability, easier maintenance, and fixture flexibility/reuse, however, the implicit mechanics of pytest and the fact that it is a separated package are concerns.
local.publisher.countryBrasil
local.publisher.departmentICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
dissertacao_livia_completa_pdfa.pdf
Tamanho:
1.5 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: