Existem várias maneiras de melhorar a qualidade do código. Uma delas
é usar um padrão de codificação que garanta consistência. Deve haver
cuidado para analisar e testar o código completamente antes de terminar
seu projeto. Também é necessário seguir as melhores práticas de
codificação e aproveitar as ferramentas automatizadas.
Melhorar a qualidade do código traz uma série de vantagens principais.
Garantir que a qualidade do código seja boa pode aumentar a eficiência
do seu projeto e reduzir o risco de falha do seu projeto. Um código de
boa qualidade também é simples, o que significa que os níveis de
complexidade são reduzidos e fáceis de manter. No geral, tudo isso
resulta em projetos e software mais bem-sucedidos e econômicos.
No campo da engenharia de software, a análise da qualidade do código é
essencial para garantir a eficácia e a eficiência dos projetos
desenvolvidos. Esta base de dados foi criada para investigar a relação
entre o número de bugs reportados, a cobertura de código e a qualidade
percebida do código em diferentes tipos de projetos de software (Web,
Mobile, Desktop).
O objetivo deste estudo é analisar a relação entre a cobertura de código e o número de bugs reportados em diferentes tipos de projetos de software. Além disso, buscamos entender como a qualidade do código é percebida em projetos com diferentes níveis de bugs e cobertura de código.
1. Coleta de Dados: Os dados foram coletados de diversos projetos de software desenvolvidos em diferentes ambientes (Web, Mobile, Desktop). Para cada projeto, foram registrados o número de bugs reportados, a cobertura de código obtida através de testes automatizados, o tipo de projeto e a avaliação da qualidade do código.
2. Relacionar: Relação entre a cobertura de código e a qualidade percebida do código em diferentes tipos de projetos (Web, Mobile, Desktop). Avaliar como a cobertura de testes influencia a quantidade de bugs reportados.
3. Análise Inferencial: Serão aplicadas técnicas estatísticas para investigar as relações entre as variáveis quantitativas (bugs reportados e cobertura de código) e qualitativas (tipo de projeto e qualidade do código).
4. Variáveis:
ID
Descrição: Identificador único para cada registro no
conjunto de dados.
Tipo: Quantitativa Discreta.
Bugs Reportados
Descrição: Número de bugs reportados durante o ciclo de
vida do projeto.
Tipo: Quantitativa Discreta.
Importância: Esta variável fornece uma medida direta
dos problemas encontrados no software, afetando diretamente a satisfação
do usuário e a qualidade geral do produto.
Cobertura de Código
Descrição: Porcentagem de cobertura de código obtida
através de testes automatizados.
Tipo: Quantitativa Contínua.
Importância: A cobertura de código é uma métrica
crucial para avaliar a eficácia dos testes. Uma alta cobertura de código
geralmente indica que uma maior parte do código foi testada,
potencialmente reduzindo a quantidade de bugs.
Tipo de Projeto
Descrição: Tipo de projeto de software (Web, Mobile,
Desktop).
Tipo: Qualitativa Nominal.
Importância: Diferentes tipos de projetos podem
apresentar desafios distintos. Por exemplo, projetos Web podem focar
mais na responsividade e escalabilidade, enquanto projetos Mobile podem
priorizar a performance e a usabilidade.
Qualidade do Código
Descrição: Avaliação da qualidade do código (Excelente,
Boa, Regular, Ruim).
Tipo: Qualitativa Ordinal.
Importância: A qualidade do código é uma medida
subjetiva que pode influenciar a manutenção e a evolução do software.
Código de alta qualidade é mais fácil de entender, modificar e
escalar.
##
## The decimal point is 1 digit(s) to the right of the |
##
## 0 | 00235788
## 1 | 69
## 2 | 7
## 3 | 178
## 4 | 44577
## 5 | 3
## 6 | 4
## 7 | 66
## 8 | 00346
## 9 | 04
##
## The decimal point is 1 digit(s) to the right of the |
##
## 5 | 2
## 5 | 557899
## 6 | 122
## 6 | 69
## 7 | 4
## 7 | 69
## 8 | 0
## 8 | 788
## 9 | 1112234
## 9 | 5789
##
## The decimal point is 1 digit(s) to the right of the |
##
## 0 | 4557
## 1 | 344566
## 2 | 2477
## 3 | 01468
## 4 | 14
## 5 | 19
## 6 | 2258
## 7 | 8
## 8 | 02
## 9 | 149
##
## The decimal point is 1 digit(s) to the right of the |
##
## 5 | 14
## 5 | 5
## 6 | 013
## 6 | 788899
## 7 | 4
## 7 | 59
## 8 | 124
## 8 | 577789
## 9 | 24
## 9 | 5677999
##
## The decimal point is 1 digit(s) to the right of the |
##
## 0 | 157799
## 1 | 16688
## 2 | 79
## 3 | 00123
## 4 | 7
## 5 | 58
## 6 | 1257
## 7 | 355788
## 8 | 2569
## 9 | 04
##
## The decimal point is 1 digit(s) to the right of the |
##
## 5 | 3
## 5 | 66667789
## 6 | 014
## 6 | 6778
## 7 | 122
## 7 | 689
## 8 | 00124
## 8 | 55668
## 9 | 023
## 9 | 7
## 10 | 0
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [0,15.823) | 8 | 0.2666667 | 26.666667 | 8 | 26.66667 |
| [15.823,31.647) | 4 | 0.1333333 | 13.333333 | 12 | 40.00000 |
| [31.647,47.47) | 7 | 0.2333333 | 23.333333 | 19 | 63.33333 |
| [47.47,63.293) | 1 | 0.0333333 | 3.333333 | 20 | 66.66667 |
| [63.293,79.117) | 3 | 0.1000000 | 10.000000 | 23 | 76.66667 |
| [79.117,94.94) | 7 | 0.2333333 | 23.333333 | 30 | 100.00000 |
A distribuição dos bugs reportados nos projetos Web revela uma variedade significativa. A maior concentração de projetos está nos intervalos de 0 a 31.647 bugs reportados, onde aproximadamente dois terços dos projetos estão localizados. Isso sugere que a maioria dos projetos Web tem um número moderado de bugs, enquanto projetos com números extremos (muito baixos ou muito altos) são menos frequentes.
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [51.2424,59.3973) | 7 | 0.2333333 | 23.333333 | 7 | 23.33333 |
| [59.3973,67.5522) | 4 | 0.1333333 | 13.333333 | 11 | 36.66667 |
| [67.5522,75.7071) | 2 | 0.0666667 | 6.666667 | 13 | 43.33333 |
| [75.7071,83.862) | 3 | 0.1000000 | 10.000000 | 16 | 53.33333 |
| [83.862,92.0169) | 8 | 0.2666667 | 26.666667 | 24 | 80.00000 |
| [92.0169,100.172) | 6 | 0.2000000 | 20.000000 | 30 | 100.00000 |
Nota-se que a maioria dos projetos Web (26.67%) possui uma cobertura de código na faixa de 83.862% a 92.0169%. Esta distribuição sugere que, embora haja uma variação nos níveis de cobertura, a maior parte dos projetos Web apresenta níveis de cobertura de código razoavelmente elevados. A frequência acumulada indica que 80% dos projetos Web têm uma cobertura de código que varia de 51.2424% a 92.0169%.
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [3.96,17.679) | 10 | 0.3030303 | 30.303030 | 10 | 30.30303 |
| [17.679,31.397) | 6 | 0.1818182 | 18.181818 | 16 | 48.48485 |
| [31.397,45.116) | 5 | 0.1515152 | 15.151515 | 21 | 63.63636 |
| [45.116,58.834) | 1 | 0.0303030 | 3.030303 | 22 | 66.66667 |
| [58.834,72.553) | 5 | 0.1515152 | 15.151515 | 27 | 81.81818 |
| [72.553,86.271) | 3 | 0.0909091 | 9.090909 | 30 | 90.90909 |
| [86.271,99.99) | 3 | 0.0909091 | 9.090909 | 33 | 100.00000 |
Nota-se que a maior frequência de bugs reportados (30.30%) está na faixa de 3.96 a 17.679. A distribuição acumulada mostra que 66.67% dos projetos Mobile possuem até 58.834 bugs reportados, enquanto 100% dos projetos estão distribuídos entre 3.96 e 99.99 bugs reportados. Isso sugere uma variabilidade na quantidade de bugs encontrados nos projetos Mobile, com uma concentração significativa de projetos apresentando uma quantidade moderada a alta de bugs.
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [50.9355,57.9981) | 3 | 0.0909091 | 9.090909 | 3 | 9.090909 |
| [57.9981,65.0607) | 3 | 0.0909091 | 9.090909 | 6 | 18.181818 |
| [65.0607,72.1233) | 6 | 0.1818182 | 18.181818 | 12 | 36.363636 |
| [72.1233,79.186) | 3 | 0.0909091 | 9.090909 | 15 | 45.454546 |
| [79.186,86.2486) | 4 | 0.1212121 | 12.121212 | 19 | 57.575758 |
| [86.2486,93.3112) | 6 | 0.1818182 | 18.181818 | 25 | 75.757576 |
| [93.3112,100.374) | 8 | 0.2424242 | 24.242424 | 33 | 100.000000 |
Nota-se que a maior frequência de cobertura de código (24.24%) está na faixa de 93.3112% a 100.374%. A distribuição acumulada indica que 75.76% dos projetos Mobile possuem até 86.2486% de cobertura de código, enquanto 100% dos projetos estão distribuídos entre 50.9355% e 100.374% de cobertura. Isso sugere uma variabilidade na cobertura de código nos projetos Mobile, com a maioria dos projetos apresentando uma cobertura moderada a alta, mas com uma distribuição variada ao longo das faixas analisadas.
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [0.99,14.411) | 7 | 0.1891892 | 18.918919 | 7 | 18.91892 |
| [14.411,27.833) | 5 | 0.1351351 | 13.513514 | 12 | 32.43243 |
| [27.833,41.254) | 6 | 0.1621622 | 16.216216 | 18 | 48.64865 |
| [41.254,54.676) | 1 | 0.0270270 | 2.702703 | 19 | 51.35135 |
| [54.676,68.097) | 6 | 0.1621622 | 16.216216 | 25 | 67.56757 |
| [68.097,81.519) | 6 | 0.1621622 | 16.216216 | 31 | 83.78378 |
| [81.519,94.94) | 6 | 0.1621622 | 16.216216 | 37 | 100.00000 |
A maior frequência de bugs reportados (18.92%) está na faixa de 0.99 a 14.411. A distribuição acumulada indica que 51.35% dos projetos Desktop têm até 41.254 bugs reportados, enquanto 100% dos projetos estão distribuídos entre 0.99 e 94.94 bugs reportados. Isso sugere uma variação considerável na quantidade de bugs reportados nos projetos Desktop, com alguns projetos apresentando números significativos de bugs e outros com quantidades relativamente baixas.
| Intervalos | Freq. Simples | Freq. Rel | Freq. Acum. | Freq. Acum. Rel | NA |
|---|---|---|---|---|---|
| [52.1433,59.0824) | 9 | 0.2432432 | 24.324324 | 9 | 24.32432 |
| [59.0824,66.0216) | 3 | 0.0810811 | 8.108108 | 12 | 32.43243 |
| [66.0216,72.9607) | 7 | 0.1891892 | 18.918919 | 19 | 51.35135 |
| [72.9607,79.8998) | 4 | 0.1081081 | 10.810811 | 23 | 62.16216 |
| [79.8998,86.8389) | 8 | 0.2162162 | 21.621622 | 31 | 83.78378 |
| [86.8389,93.7781) | 4 | 0.1081081 | 10.810811 | 35 | 94.59459 |
| [93.7781,100.717) | 2 | 0.0540541 | 5.405405 | 37 | 100.00000 |
A maior frequência de cobertura de código (24.32%) está na faixa de 52.1433 a 59.0824%. A distribuição acumulada mostra que 62.16% dos projetos Desktop têm uma cobertura de código de até 79.8998%. A variação na cobertura de código entre os projetos Desktop indica que alguns têm coberturas mais altas, enquanto outros apresentam coberturas mais baixas, influenciando potencialmente a qualidade e a quantidade de bugs reportados nos projetos.
| Estatística | Bugs Reportados | Cobertura de Código (%) |
|---|---|---|
| Média | 43.13333 | 77.24400 |
| Mediana | 44.00000 | 79.54000 |
| Moda | 8.00000 | 91.79000 |
| Amplitude | 94.00000 | 47.42000 |
| Variância | 1012.74000 | 258.60870 |
| Desvio padrão | 31.82358 | 16.08131 |
| Coeficiente de variação | 73.77955 | 20.81885 |
| Estatística | Bugs Reportados | Cobertura de Código (%) |
|---|---|---|
| Média | 41.03030 | 79.41303 |
| Mediana | 34.00000 | 82.18000 |
| Moda | 27.00000 | 84.21000 |
| Amplitude | 95.00000 | 47.93000 |
| Variância | 827.96780 | 214.07860 |
| Desvio padrão | 28.77443 | 14.63143 |
| Coeficiente de variação | 70.12970 | 18.42446 |
| Estatística | Bugs Reportados | Cobertura de Código (%) |
|---|---|---|
| Média | 46.64865 | 73.44270 |
| Mediana | 47.00000 | 72.31000 |
| Moda | 78.00000 | 71.21000 |
| Amplitude | 93.00000 | 47.05000 |
| Variância | 923.62310 | 184.83570 |
| Desvio padrão | 30.39117 | 13.59543 |
| Coeficiente de variação | 65.14909 | 18.51161 |
A análise de simetria dos dados de bugs reportados e cobertura de código para os projetos Web, Mobile e Desktop é apresentada nas tabelas a seguir. Utilizamos o Coeficiente de Assimetria de Pearson para avaliar a simetria das distribuições. Este coeficiente pode ser negativo, positivo ou próximo de zero, o que indica:
- Assimetria à Esquerda: Um coeficiente de assimetria negativo sugere que a distribuição é assimétrica à esquerda, com uma cauda mais longa à esquerda.
- Assimetria à Direita: Um coeficiente de assimetria positivo sugere que a distribuição é assimétrica à direita, com uma cauda mais longa à direita.
- Distribuição Simétrica: Um coeficiente de assimetria próximo de zero indica que a distribuição é aproximadamente simétrica.
A classificação da simetria nos ajuda a compreender melhor a distribuição dos dados e a identificar possíveis distorções que podem afetar a interpretação dos resultados.
| Métrica | Coeficiente de Assimetria | Classificação |
|---|---|---|
| Bugs Reportados | -0.0817004 | Assimétrica à Esquerda |
| Cobertura de Código (%) | -0.4283232 | Assimétrica à Esquerda |
Bugs Reportados: O coeficiente de assimetria é aproximadamente -0.0817, indicando uma distribuição assimétrica à esquerda. Isso significa que há uma concentração maior de valores maiores do que a média, com uma cauda estendida para a esquerda.
Cobertura de Código (%): O coeficiente de assimetria é aproximadamente -0.4283, também indicando uma distribuição assimétrica à esquerda. Isso sugere que a maioria dos valores está concentrada acima da média, com uma cauda estendida para a esquerda.
| Métrica | Coeficiente de Assimetria | Classificação |
|---|---|---|
| Bugs Reportados | 0.7329740 | Assimétrica à Direita |
| Cobertura de Código (%) | -0.5673343 | Assimétrica à Esquerda |
Bugs Reportados: O coeficiente de assimetria é aproximadamente 0.73297, indicando uma distribuição assimétrica à direita. Isso significa que há uma concentração maior de valores menores do que a média, com uma cauda estendida para a direita.
Cobertura de Código (%): O coeficiente de assimetria é aproximadamente -0.56733, indicando uma distribuição assimétrica à esquerda. Isso sugere que a maioria dos valores está concentrada acima da média, com uma cauda estendida para a esquerda.
| Métrica | Coeficiente de Assimetria | Classificação |
|---|---|---|
| Bugs Reportados | -0.0346829 | Assimétrica à Esquerda |
| Cobertura de Código (%) | 0.2499449 | Assimétrica à Direita |
Bugs Reportados: O coeficiente de assimetria é aproximadamente -0.03468, indicando uma distribuição assimétrica à esquerda. Isso sugere que há uma concentração maior de valores acima da média, com uma cauda estendida para a esquerda.
Cobertura de Código (%): O coeficiente de assimetria é aproximadamente 0.24994, indicando uma distribuição assimétrica à direita. Isso significa que a maioria dos valores está concentrada abaixo da média, com uma cauda estendida para a direita.
O gráfico de dispersão mostra a relação entre a Cobertura de Código (%) e a Qualidade do Código para os projetos WEB. Observa-se que há uma distribuição variada dos pontos ao longo do gráfico. A análise revela que:
O gráfico de dispersão revela a relação entre a Cobertura de Código (%) e a Qualidade do Código nos projetos MOBILE. A análise visual dos dados mostra o seguinte:
Tendência Negativa: A linha de tendência linear indica uma relação negativa entre a Cobertura de Código (%) e a Qualidade do Código. Isso significa que, conforme a cobertura de código aumenta, há uma tendência de redução na qualidade percebida, com a linha de tendência inclinando-se para baixo.
Distribuição dos Pontos: Os pontos estão distribuídos ao longo do gráfico, mas a presença da linha de tendência sugere que projetos com alta cobertura de código tendem a ser classificados com qualidades mais baixas, como “Regular” e “Boa”, em comparação com projetos de menor cobertura, que têm mais pontos nas categorias “Boa” e “Excelente”.
Implicações para Práticas de Desenvolvimento: A análise indica que simplesmente aumentar a cobertura de código pode não ser suficiente para garantir uma alta qualidade de código nos projetos MOBILE. Outras práticas, como revisões de código e implementação de padrões de codificação, podem ser necessárias para melhorar consistentemente a qualidade do código.
O gráfico de dispersão revela a relação entre a Cobertura de Código (%) e a Qualidade do Código nos projetos DESKTOP. Os principais insights são:
Tendência de Leve Queda na Qualidade: A linha de tendência linear indica uma tendência ligeiramente descendente entre a Cobertura de Código (%) e a Qualidade do Código. Inicialmente, os pontos tendem a estar mais próximos da categoria “Boa” de Qualidade, mas conforme a Cobertura de Código (%) aumenta, há uma leve queda na Qualidade percebida, inclinando-se mais para a categoria “Regular”.
Distribuição dos Pontos: Os dados mostram uma dispersão ao longo do gráfico, com projetos distribuídos principalmente em níveis intermediários de Cobertura e Qualidade de Código. Projetos com maior Cobertura de Código (%) variam em sua Qualidade, com uma concentração maior em níveis intermediários de “Boa” e “Regular”.
Cobertura de Código (%): No eixo horizontal, a cobertura de código varia de 60% a 100%, mostrando uma progressão gradual.
O gráfico de dispersão mostra a relação entre a Cobertura de Código (%) e a quantidade de Bugs Reportados nos projetos da categoria Web. A dispersão dos pontos sugere uma tendência geral onde, à medida que a Cobertura de Código aumenta, a quantidade de Bugs Reportados tende a diminuir. Isso é indicado pela linha de tendência ajustada (em vermelho), que mostra uma inclinação negativa. Ou seja, projetos com maior Cobertura de Código (%) apresentam, em geral, menor número de Bugs Reportados, sugerindo uma influência positiva da Cobertura de Código na qualidade e estabilidade dos projetos.
Este padrão pode indicar que investir em uma maior Cobertura de Código pode contribuir significativamente para a redução de Bugs Reportados, promovendo uma melhor qualidade e confiabilidade dos sistemas desenvolvidos na categoria Web.
O gráfico de dispersão revela a relação entre a Cobertura de Código (%) e a quantidade de Bugs Reportados nos projetos da categoria Mobile. Observa-se uma tendência onde, à medida que a Cobertura de Código aumenta, há uma tendência de aumento na quantidade de Bugs Reportados. Isso é evidenciado pela linha de tendência ajustada (em vermelho), indicando que projetos com maior Cobertura de Código tendem a ter mais Bugs Reportados.
Esses resultados sugerem que, no contexto dos projetos Mobile, um aumento na Cobertura de Código pode não necessariamente se traduzir em uma redução proporcional de Bugs Reportados. Esse cenário pode ser influenciado por diversos fatores, como a complexidade do código, a eficácia dos testes implementados e a dinâmica de desenvolvimento da equipe. Assim, é essencial adotar estratégias adicionais para mitigar e monitorar o impacto de Bugs em projetos com alta Cobertura de Código, visando manter a qualidade e a confiabilidade do software.
O gráfico de dispersão revela a relação entre a Cobertura de Código (%) e a quantidade de Bugs Reportados nos projetos da categoria Desktop. Observa-se uma leve tendência onde, à medida que a Cobertura de Código aumenta, há um ligeiro aumento na quantidade de Bugs Reportados. Isso é sugerido pela linha de tendência ajustada (em vermelho), indicando que projetos com maior Cobertura de Código tendem a ter uma quantidade ligeiramente maior de Bugs Reportados.
Esses resultados podem refletir desafios adicionais associados à complexidade e à natureza dos projetos Desktop, onde a Cobertura de Código nem sempre se correlaciona diretamente com uma redução linear de Bugs Reportados. Isso pode indicar a necessidade de uma abordagem mais holística no processo de desenvolvimento, incluindo revisões de código mais detalhadas, testes mais abrangentes e melhorias contínuas na gestão de qualidade do software.
Portanto, enquanto um aumento na Cobertura de Código pode oferecer benefícios significativos em termos de qualidade e estabilidade do software, é essencial considerar outras métricas e práticas de desenvolvimento para mitigar a ocorrência de Bugs Reportados em projetos Desktop.
##
## Call:
## lm(formula = `Bugs Reportados` ~ `Cobertura de Código (%)` +
## `Qualidade do Código`, data = data_frame_WEB)
##
## Residuals:
## Min 1Q Median 3Q Max
## -56.350 -25.959 1.744 24.852 55.029
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 83.4974 36.0984 2.313 0.0292 *
## `Cobertura de Código (%)` -0.4132 0.4165 -0.992 0.3307
## `Qualidade do Código`Excelente -15.1079 17.9855 -0.840 0.4089
## `Qualidade do Código`Regular -21.1018 18.2634 -1.155 0.2588
## `Qualidade do Código`Ruim -5.6933 15.5169 -0.367 0.7168
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 32.83 on 25 degrees of freedom
## Multiple R-squared: 0.08241, Adjusted R-squared: -0.06441
## F-statistic: 0.5613 on 4 and 25 DF, p-value: 0.6929
Cobertura de Código (%):
Para projetos Web, a Cobertura de Código apresentou um coeficiente negativo, sugerindo que um aumento na cobertura pode estar associado a uma ligeira redução nos bugs reportados.
Qualidade do Código:
Em projetos Web, nenhum nível de Qualidade do Código (Excelente, Regular, Ruim) apresentou uma influência estatisticamente significativa nos bugs reportados.
##
## Call:
## lm(formula = `Bugs Reportados` ~ `Cobertura de Código (%)` +
## `Qualidade do Código`, data = data_frame_MOBILE)
##
## Residuals:
## Min 1Q Median 3Q Max
## -46.566 -22.543 2.796 17.445 48.140
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -12.9303 29.6203 -0.437 0.6658
## `Cobertura de Código (%)` 0.5847 0.3718 1.572 0.1271
## `Qualidade do Código`Excelente 23.7019 13.3601 1.774 0.0869 .
## `Qualidade do Código`Regular 13.6675 12.5511 1.089 0.2855
## `Qualidade do Código`Ruim -8.1039 15.4388 -0.525 0.6038
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 27.7 on 28 degrees of freedom
## Multiple R-squared: 0.1889, Adjusted R-squared: 0.073
## F-statistic: 1.63 on 4 and 28 DF, p-value: 0.1945
Cobertura de Código (%):
Em projetos Mobile, a Cobertura de Código mostrou um coeficiente positivo e marginalmente significativo, indicando que uma maior cobertura pode estar associada a um aumento nos bugs reportados.
Qualidade do Código:
Para projetos Mobile, a Qualidade do Código no nível “Excelente” apresentou uma possível significância marginal, indicando que projetos com qualidade excelente podem reportar mais bugs.
##
## Call:
## lm(formula = `Bugs Reportados` ~ `Cobertura de Código (%)` +
## `Qualidade do Código`, data = data_frame_DESKTOP)
##
## Residuals:
## Min 1Q Median 3Q Max
## -51.109 -25.121 5.364 24.765 49.248
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30.8516 30.3877 1.015 0.318
## `Cobertura de Código (%)` 0.1408 0.3875 0.363 0.719
## `Qualidade do Código`Excelente -1.1932 14.3806 -0.083 0.934
## `Qualidade do Código`Regular 7.0069 14.7741 0.474 0.639
## `Qualidade do Código`Ruim 16.7552 14.7351 1.137 0.264
##
## Residual standard error: 31.24 on 32 degrees of freedom
## Multiple R-squared: 0.06099, Adjusted R-squared: -0.05639
## F-statistic: 0.5196 on 4 and 32 DF, p-value: 0.7219
Cobertura de Código (%):
Para projetos Desktop, a Cobertura de Código também apresentou um coeficiente positivo, mas não significativo, sugerindo que a cobertura de código não tem um impacto claro nos bugs reportados.
Qualidade do Código:
Em projetos Desktop, similarmente, nenhum nível de Qualidade do Código mostrou significância estatística.
A partir das análises realizadas, conclui-se que a Cobertura de Código é um indicador importante, mas não absoluto, da Qualidade do Código e da quantidade de Bugs Reportados. Projetos Web se beneficiam mais diretamente de uma alta cobertura de código, refletindo melhores práticas de testes e uma maior qualidade do código, resultando em menos bugs reportados. Em contraste, projetos Mobile e Desktop mostram que uma alta cobertura de código não garante necessariamente uma redução de bugs, possivelmente devido à complexidade dos ambientes e outros fatores de desenvolvimento. Nos projetos Mobile, observou-se até mesmo um aumento na quantidade de bugs conforme a cobertura de código aumentava, sugerindo uma necessidade de revisão das práticas de testes e desenvolvimento. Projetos Desktop, embora apresentem uma relação negativa entre cobertura de código e qualidade, essa relação foi menos acentuada, indicando que outros fatores podem ser mais influentes na determinação da qualidade e na quantidade de bugs. Em suma, a qualidade do software e a quantidade de bugs reportados dependem de um conjunto complexo de fatores que vão além da cobertura de código, exigindo abordagens personalizadas para cada tipo de projeto.
Este estudo fornecerá insights valiosos para gerentes de projetos e desenvolvedores de software sobre como melhorar a qualidade do código e reduzir a incidência de bugs em diferentes tipos de projetos de software. A análise permitirá identificar melhores práticas e áreas de melhoria para otimizar o desenvolvimento de software e aumentar a satisfação dos usuários.
Recomenda-se que cada tipo de projeto adote estratégias específicas para melhorar a qualidade do código e reduzir bugs. Para projetos Web, é crucial manter uma alta cobertura de código, complementada por revisões rigorosas e testes automatizados abrangentes. Projetos Mobile devem revisar suas práticas de desenvolvimento e teste, focando em testes funcionais e de interface de usuário (UI), além de utilizar ferramentas de monitoramento de desempenho. Projetos Desktop precisam equilibrar a cobertura de código com testes de desempenho e de uso, considerando a diversidade de ambientes de execução. Em todos os casos, uma análise contínua dos fatores contextuais e a promoção de uma cultura de qualidade são essenciais para melhorias sustentáveis.
Fernanda Peres. R Markdown: Gerando relatórios usando o R.
Disponível em:
https://youtube.com/@fernandaperes?si=55VMq6d43UamuUFM
Qualidade do código e sua importância para um desenvolvimento bem
sucedido. Bring. Acesso em: 10 de março de 2024.
Disponível em:
https://bring.com.br/blog/qualidade-do-codigo-e-sua-importancia-para-um-desenvolvimento-bem-sucedido/
SILVESTRE, António. Análise de dados e estatística descritiva. Escolar editora, 2007.
R Markdown: The Definitive Guide. Yihui Xie, j. j. Allaire,
Garret Grolemund. Disponível em:
https://bookdown.org/yihui/rmarkdown/