Skip to content

angelohank/merge-data-analyzer

Repository files navigation

Merge Data Analyzer

O que é

Ferramenta criada para coletar informações sobre a execução de testes de unidade em pipelines que rodam, até o momento, no CI/CD do GitLab

O que coleta

A ferramenta busca os merge requests que têm um estado (aberto, mergeado, etc) definidos no arquivo de configuração.
Através dos dados retornados desse MR, pode-se conseguir os dados da pipeline relacionada a ele dentro da plataforma.
Com os dados da pipeline, é possível verificar o resultado da execução dos testes de unidade do projeto alvo.

Para que serve

Os dados coletados pela ferramenta foram filtrados e estudados para construção de um artigo acadêmico entitulado "Análise de testes de unidade em software de larga escala", que surgiu como trabalho de conclusão de curso para o curso de Bacharel em Engenharia de Software pela Universidade Técnologica Federal do Paraná.

A ideia do artigo foi encontrar padrões de uso e crescimento para um determinado conjunto de testes de unidade, do ponto de vista dos desenvolvedores do projeto e dos times participantes desse projeto, que se dividem entre times de manutenção e melhorias.

Fluxos

Busca dos Merge Requests abertos

busca_merges

Busca das pipelines relaacionadas a cada merge

busca_pipelines

Busca do relatório de execução dos testes de unidade de cada pipeline

busca_test_report

Configurações

Requerimentos

  • Python 3.10
  • private_token da plataforma de código
  • url do servidor de hospedagem

Arquivos de configuração

  • config.json
{
  "data": {
      "projectId": "",
      "privateToken": "",
      "apiUrl": "",
      "perPage": ,
      "state": [
          ""
      ],
      "ignoreAuthor": [""],
      "branchesBySquad": [
          {"":  0},
          {"":  1}
      ],
      "logDir": ""
  }
}
  • config_db.json
{
  "database_name": "",
  "user":  "",
  "password": "",
  "host":  "",
  "port": ""
}

About

O objetivo deste projeto é coletar dados relacionados a merge requests abertos, sendo essas informações usadas para desenvolvimento de uma pesquisa para o curso de Engenharia de Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages