Pachulski Camara, Bruno Henrique. Uma investigação sobre o uso de critérios de teste no desenvolvimento baseado em testes para o ensino de programação. 2016. 128. f. Dissertação (Programa de Pós-Graduação em Informática), Universidade Tecnológica Federal do Paraná. Cornélio Procópio, 2016.
Contexto: Estudantes de cursos da área de Ciência da Computação que estão iniciando em programação normalmente dificuldade de assimilar os conteúdos básicos. Alguns pesquisadores propõem a utilização do desenvolvimento baseado em testes (TDD) a fim de melhorar o ensino, mas sem o foco na qualidade do conjunto de casos de teste.
Objetivo: Este trabalho tem o objetivo de propor uma estratégia baseada no desenvolvimento baseado por testes em conjunto com técnicas de teste de software, guiando o acadêmico a desempenhar suas atividades de programação com mais qualidade e, desta forma, obter melhores resultados acadêmicos.
Método: Baseado em um mapeamento sistemático da literatura e na revisão de estudos que aplicam desenvolvimento baseado em testes (TDD) em âmbito educacional, foi definida uma estratégia para integrar critérios de teste ao TDD. Para avaliar os resultados, foram definidas medidas e instrumentos para a coleta de resultados. Foi executado um experimento científico com o público alvo para a obtenção das informações com a finalidade de avaliar a hipótese definida.
Resultados: Foi definida uma estratégia de utilização de técnicas de teste de software em conjunto com o TDD para alunos que estão iniciando em programação em cursos de Computação. A estratégia consiste na melhoria do conjunto de casos de teste durante a refatoração no TDD, considerando critérios estruturais baseado em fluxo de controle. Além disso, foram elaboradas ferramentas para a coleta de dados durante o desenvolvimento de programas e para análise dos dados. A estratégia permitiu a melhora do programa e dos casos de teste e foi avaliada pelos acadêmicos como um guia no desenvolvimento dos casos de teste e como um atalho para descoberta de defeitos.
Conclusões: Com a utilização da estratégia proposta, foi possível observar melhorias no conjunto de casos de teste e no software final. A estratégia definida pode ser replicada em outros contextos e com o emprego de outras técnicas e critérios de teste de software para a avaliação da hipótese definida e generalização dos resultados.
Palavras-chaves: desenvolvimento baseado em testes; TDD; teste de software; critério de teste; ensino; introdução a programação.
Com a finalidade de avaliar as hipóteses definidas foi proposto um estudo experimental que é composto pelas etapas: questionário de conhecimentos, divisão dos grupos, treinamento, desenvolvimento do software, questionário de avaliação e avaliação dos resultados. Tal como expostas na imagem abaixo, cada uma das etapas é executada sequencialmente.
Tal como apresentado na dissertação o treinamento é a primeira etapa da execução do estudo experimental. Inicialmente os todos os alunos foram treinados para desenvolver software utilizando o TDD. O primeiro contato deles com a técnica foi com uma apresentação (live coding) de como desenvolver um software utilizando TDD. Foi disponibilizado material de apoio para as atividades que foram desenvolvidas atividade extraclasse e posteriormente corrigidos em sala.
Após a divisão dos grupos, o Grupo B foi treinado utilizando os mesmos exercícios utilizados no primeiro treinamento. Entretanto, os alunos utilizaram o TDD com critérios de teste para a resolução dos exercícios. Foi disponibilizado o material de apoio da estratégia.
Um conjunto de ferramentas foi proposto com a finalidade de suprir a necessidade de uma ferramenta que obtenha estas informações e as organize para que estes dados possam ser analisados posteriormente. A ferramenta dividida em três partes: plugin, servidor e ferramenta de análise. Como pode ser observado na imagem abaixo, cada um dos módulos da ferramenta captura ou fornece informações para a atividade subsequente.
O software de captura das informações foi desenvolvido como um plugin (repositório) para o IDE Eclipse. Durante o desenvolvimento do software, ao seguir o fluxo do TDD, o aluno executa os casos de teste utilizando os botões que são dispostos pelo plugin no IDE do Eclipse, tal como pode ser observado na imagem abaixo. Estes plugins são referentes a cada uma das etapas do TDD, sendo eles: RED, GREEN e Refactor.
Ao acionar o botão, o plugin registra o estágio atual do TDD de acordo com o botão acionado, informações fornecidas pelo JUnit e Eclemma e ainda mostra para o indivíduo na IDE as ações padrão do Eclemma e JUnit. Neste mesmo momento são criados os arquivos de acompanhamento, os quais são:
O servidor (repositório) opera como um facilitador para a organização dos dados arquivos de acompanhamento gerados pelo plugin. O servidor fornece um serviço REST que recebe todos os arquivos gerados no decorrer da utilização do plugin. Todos os arquivos recebidos são armazenados conforme a classificação indicada pelo plugin, as quais são referentes a: participante (identificador único), nome do projeto, estágio do TDD, tipo do arquivo (JUnit, Eclemma) e informações sobre eventos.
Para utilizar a ferramenta de análise (repositório) o pesquisador terá apenas que selecionar o diretório base dos arquivos e executar a leitura dos arquivos. Após coletar os dados para análise, é necessário apenas selecionar a pasta base do projeto do Eclipse para que os dados sejam exibidos, tal como exemplificado na imagem.
A proposta da utilização de critérios de teste de software descrita na dissertação altera o ciclo tradicional de execução do TDD, estendendo a etapa de refactor com a finalidade de que o conjunto de casos de teste também seja melhorado.
A definição da estratégia é baseada em três perguntas, as quais colaboram na definição.
Desta forma, definida uma estratégia baseada em critérios de teste de software estrutural que utilizam Grafo de Fluxo de Controle (GFC) para derivar os requisitos de teste. Seguindo o modelo previamente descrito, a estratégia se constitui tal como definido a seguir:
Com base nessa definição, foi desenvolvido um diagrama que demonstra como será o fluxo de desenvolvimento proposto.
Neste modelo, observa-se que durante a etapa de refatoração o aluno deverá trabalhar em paralelo com a atividade de refatoração de código e melhoria do conjunto de casos de teste derivados a partir dos critérios Todos-Nós e Todas-Arestas. Desta forma, no contexto da melhoria do conjunto de casos de teste é necessário inicialmente que 100% do critério Todos-Nós seja atingido. Após isso inicia-se o desenvolvimento dos casos de teste com o intuito de atingir 100% do critério Todas-Arestas.
Os resultados da execução 04 apresentados na dissertação são dados resumidos com base na tabela que segue. Em virtude da quantidade de registros seria inviável apresentar tais valores no documento.
Esta tabela apresenta um resumo das execuções de cada uma das fases do TDD por aluno.
Grupo | Interação | Aluno | TEMPO | C.T. | C.T. P. | C.T. F. | DEF | Branches C. | Intructions C. | |
A | 1 | Aluno 01 | Red | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 50.0 | 40.0 |
Green | 9.0 | 2.0 | 1.0 | 1.0 | 0.0 | 75.0 | 73.7 | |||
Refactor | 4.0 | 1.0 | 1.0 | 0.0 | 0.0 | 75.0 | 97.2 | |||
Aluno 02 | Red | 27.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | ||
Green | 11.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 05 | Red | 29.0 | 4.0 | 3.0 | 1.0 | 1.0 | 100.0 | 74.9 | ||
Green | 25.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 5.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 07 | Red | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 100.0 | 100.0 | ||
Green | 0.0 | 1.0 | 0.0 | 1.0 | 1.0 | 75.0 | 66.7 | |||
Refactor | 3.0 | 1.0 | 1.0 | 0.0 | 0.0 | 75.0 | 98.8 | |||
Aluno 10 | Red | 33.0 | 3.0 | 1.0 | 2.0 | 1.0 | 100.0 | 47.7 | ||
Green | 9.0 | 2.0 | 2.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 13.0 | 2.0 | 2.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
2 | Aluno 01 | Red | 0.0 | 2.0 | 1.0 | 1.0 | 1.0 | 75.0 | 73.7 | |
Green | 0.0 | 2.0 | 2.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 24.0 | 2.0 | 2.0 | 0.0 | 0.0 | 83.3 | 100.0 | |||
Aluno 02 | Red | 2.0 | 4.0 | 3.0 | 1.0 | 1.0 | 100.0 | 88.0 | ||
Green | 59.0 | 4.0 | 4.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 05 | Red | 0.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | ||
Green | 4.0 | 5.0 | 5.0 | 0.0 | 4.0 | 93.8 | 99.6 | |||
Refactor | 0.0 | 5.0 | 5.0 | 0.0 | 0.0 | 93.8 | 99.6 | |||
Aluno 07 | Red | 5.0 | 2.0 | 0.0 | 2.0 | 2.0 | 0.0 | 4.1 | ||
Green | 0.0 | 2.0 | 0.0 | 2.0 | 2.0 | 0.0 | 4.1 | |||
Refactor | 2.0 | 2.0 | 0.0 | 2.0 | 2.0 | 0.0 | 4.1 | |||
Aluno 10 | Red | 50.0 | 4.0 | 3.0 | 1.0 | 1.0 | 94.4 | 91.6 | ||
Green | 40.0 | 4.0 | 4.0 | 0.0 | 1.0 | 94.4 | 100.0 | |||
Refactor | 42.0 | 4.0 | 4.0 | 0.0 | 0.0 | 94.4 | 100.0 | |||
3 | Aluno 01 | Red | 0.0 | 0.0 | 83.3 | 77.7 | ||||
Green | 33.0 | 3.0 | 3.0 | 0.0 | 0.0 | 87.5 | 100.0 | |||
Refactor | 16.0 | 2.0 | 2.0 | 0.0 | 0.0 | 75.0 | 97.2 | |||
Aluno 02 | Red | 1.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | ||
Green | 12.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 05 | Red | 0.0 | 6.0 | 5.0 | 1.0 | 1.0 | 93.8 | 99.6 | ||
Green | 42.0 | 8.0 | 7.0 | 1.0 | 3.0 | 90.0 | 85.5 | |||
Refactor | 29.0 | 9.0 | 8.0 | 1.0 | 0.0 | 90.0 | 97.3 | |||
Aluno 07 | Red | 4.0 | 2.0 | 1.0 | 0.0 | 0.0 | 100.0 | 100.0 | ||
Green | 0.0 | 3.0 | 3.0 | 0.0 | 0.0 | 90.0 | 100.0 | |||
Refactor | 4.0 | 3.0 | 3.0 | 0.0 | 0.0 | 90.0 | 100.0 | |||
Aluno 10 | Red | 7.0 | 4.0 | 3.0 | 1.0 | 1.0 | 94.4 | 82.1 | ||
Green | 3.0 | 4.0 | 3.0 | 1.0 | 1.0 | 77.8 | 78.0 | |||
Refactor | 13.0 | 4.0 | 4.0 | 0.0 | 0.0 | 94.4 | 100.0 | |||
4 | Aluno 01 | Red | 2.0 | 4.0 | 2.0 | 2.0 | 1.0 | 87.5 | 72.7 | |
Green | 3.0 | 3.0 | 2.0 | 1.0 | 1.0 | 87.5 | 82.7 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 02 | Red | 9.0 | 6.0 | 5.0 | 1.0 | 0.0 | 100.0 | 86.8 | ||
Green | 15.0 | 6.0 | 4.0 | 2.0 | 1.0 | 100.0 | 77.2 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 05 | Red | 12.0 | 9.0 | 9.0 | 0.0 | 0.0 | 90.0 | 99.4 | ||
Green | 16.0 | 8.0 | 8.0 | 0.0 | 0.0 | 90.0 | 99.3 | |||
Refactor | 6.0 | 8.0 | 8.0 | 0.0 | 0.0 | 90.0 | 99.3 | |||
Aluno 07 | Red | 11.0 | 5.0 | 1.0 | 4.0 | 2.0 | 77.8 | 53.9 | ||
Green | 0.0 | 5.0 | 1.0 | 4.0 | 4.0 | 87.5 | 58.1 | |||
Refactor | 9.0 | 5.0 | 4.0 | 1.0 | 2.0 | 83.3 | 93.4 | |||
Aluno 10 | Red | 48.0 | 6.0 | 5.0 | 1.0 | 1.0 | 93.3 | 86.5 | ||
Green | 0.0 | 6.0 | 5.0 | 1.0 | 1.0 | 93.3 | 93.1 | |||
Refactor | 44.0 | 6.0 | 5.0 | 1.0 | 0.0 | 93.3 | 86.4 | |||
5 | Aluno 01 | Red | 0.0 | 3.0 | 2.0 | 1.0 | 1.0 | 87.5 | 82.7 | |
Green | 10.0 | 3.0 | 3.0 | 0.0 | 3.0 | 80.0 | 98.9 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 02 | Red | 0.0 | 6.0 | 5.0 | 1.0 | 1.0 | 100.0 | 86.8 | ||
Green | 7.0 | 0.0 | 100.0 | 78.0 | ||||||
Refactor | 3.0 | 6.0 | 5.0 | 1.0 | 1.0 | 85.7 | 85.3 | |||
Aluno 05 | Red | 2.0 | 8.0 | 8.0 | 0.0 | 1.0 | 90.0 | 99.3 | ||
Green | 53.0 | 8.0 | 8.0 | 0.0 | 0.0 | 90.0 | 99.1 | |||
Refactor | 0.0 | 8.0 | 8.0 | 0.0 | 0.0 | 90.0 | 87.6 | |||
Aluno 07 | Red | 0.0 | 5.0 | 1.0 | 4.0 | 3.0 | 50.0 | 41.1 | ||
Green | 0.0 | 5.0 | 2.0 | 3.0 | 3.0 | 61.1 | 75.0 | |||
Refactor | 6.0 | 5.0 | 4.0 | 1.0 | 1.0 | 85.0 | 93.4 | |||
Aluno 10 | Red | - | - | - | - | - | - | - | ||
Green | 18.0 | 6.0 | 6.0 | 0.0 | 73.7 | 83.5 | ||||
Refactor | 7.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
6 | Aluno 01 | Red | 0.0 | 4.0 | 3.0 | 1.0 | 1.0 | 90.0 | 71.1 | |
Green | 3.0 | 5.0 | 5.0 | 0.0 | 2.0 | 68.2 | 96.1 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 02 | Red | 34.0 | 10.0 | 9.0 | 1.0 | 1.0 | 93.3 | 85.6 | ||
Green | 19.0 | 10.0 | 10.0 | 0.0 | 0.0 | 96.9 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 05 | Red | 23.0 | 5.0 | 4.0 | 1.0 | 1.0 | 86.4 | 81.4 | ||
Green | 29.0 | 6.0 | 6.0 | 0.0 | 0.0 | 95.5 | 100.0 | |||
Refactor | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 95.5 | 100.0 | |||
Aluno 07 | Red | 57.0 | 0.0 | 92.9 | 92.4 | |||||
Green | 0.0 | 5.0 | 4.0 | 1.0 | 1.0 | 85.0 | 94.7 | |||
Refactor | 55.0 | 5.0 | 5.0 | 0.0 | 0.0 | 92.9 | 100.0 | |||
Aluno 10 | Red | 38.0 | 8.0 | 7.0 | 1.0 | 0.0 | 96.9 | 100.0 | ||
Green | 42.0 | 8.0 | 7.0 | 1.0 | 0.0 | 94.4 | 84.5 | |||
Refactor | 47.0 | 8.0 | 8.0 | 0.0 | 0.0 | 97.2 | 100.0 | |||
B | 1 | Aluno 11 | Red | 31.0 | 3.0 | 2.0 | 1.0 | 0.0 | 100.0 | 100.0 |
Green | 28.0 | 2.0 | 2.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 14 | Red | 9.0 | 1.0 | 0.0 | 1.0 | 0.0 | 50.0 | 28.6 | ||
Green | 18.0 | 1.0 | 1.0 | 0.0 | 0.0 | 50.0 | 90.4 | |||
Refactor | 38.0 | 2.0 | 1.0 | 1.0 | 0.0 | 87.5 | 62.9 | |||
Aluno 15 | Red | 21.0 | 3.0 | 2.0 | 1.0 | 1.0 | 83.3 | 69.2 | ||
Green | 19.0 | 3.0 | 3.0 | 0.0 | 0.0 | 83.3 | 100.0 | |||
Refactor | 19.0 | 3.0 | 3.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 17 | Red | 6.0 | 2.0 | 1.0 | 1.0 | 1.0 | 100.0 | 100.0 | ||
Green | 8.0 | 2.0 | 2.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
2 | Aluno 11 | Red | 3.0 | 7.0 | 7.0 | 0.0 | 0.0 | 95.0 | 100.0 | |
Green | 1.0 | 8.0 | 8.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 3.0 | 3.0 | 0.0 | 0.0 | 91.7 | 99.3 | |||
Aluno 14 | Red | 1.0 | 2.0 | 2.0 | 0.0 | 0.0 | 90.0 | 77.3 | ||
Green | 3.0 | 16.0 | 13.0 | 3.0 | 1.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 15 | Red | 14.0 | 5.0 | 4.0 | 1.0 | 1.0 | 100.0 | 77.0 | ||
Green | 6.0 | 5.0 | 5.0 | 0.0 | 2.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 17 | Red | 0.0 | 3.0 | 2.0 | 1.0 | 1.0 | 75.0 | 88.9 | ||
Green | 15.0 | 3.0 | 3.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 3.0 | 3.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
3 | Aluno 11 | Red | 18.0 | 9.0 | 8.0 | 1.0 | 1.0 | 100.0 | 80.4 | |
Green | 17.0 | 9.0 | 9.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 14 | Red | 41.0 | 3.0 | 1.0 | 2.0 | 0.0 | 100.0 | 54.6 | ||
Green | 43.0 | 3.0 | 3.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 15 | Red | 0.0 | 6.0 | 5.0 | 1.0 | 1.0 | 85.7 | 93.4 | ||
Green | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 92.9 | 99.5 | |||
Refactor | 4.0 | 7.0 | 7.0 | 0.0 | 1.0 | 100.0 | 100.0 | |||
Aluno 17 | Red | 0.0 | 4.0 | 3.0 | 1.0 | 1.0 | 100.0 | 83.7 | ||
Green | 0.0 | 4.0 | 4.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 0.0 | 100.0 | 100.0 | ||||||
4 | Aluno 11 | Red | 38.0 | 10.0 | 9.0 | 1.0 | 0.0 | 100.0 | 95.0 | |
Green | 38.0 | 10.0 | 10.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 14 | Red | 4.0 | 0.0 | 92.3 | 69.7 | |||||
Green | 16.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 15 | Red | 3.0 | 9.0 | 8.0 | 1.0 | 0.0 | 93.3 | 89.3 | ||
Green | 3.0 | 9.0 | 9.0 | 0.0 | 0.0 | 93.3 | 100.0 | |||
Refactor | 27.0 | 9.0 | 9.0 | 0.0 | 0.0 | 96.9 | 100.0 | |||
Aluno 17 | Red | 0.0 | 5.0 | 4.0 | 1.0 | 1.0 | 100.0 | 89.3 | ||
Green | 4.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 5.0 | 5.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
5 | Aluno 11 | Red | 56.0 | 11.0 | 11.0 | 0.0 | 1.0 | 100.0 | 100.0 | |
Green | 51.0 | 11.0 | 11.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 9.0 | 11.0 | 11.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 14 | Red | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | ||
Green | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 15 | Red | 4.0 | 10.0 | 9.0 | 1.0 | 1.0 | 97.1 | 94.1 | ||
Green | 2.0 | 10.0 | 10.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 14.0 | 10.0 | 10.0 | 0.0 | 3.0 | 100.0 | 100.0 | |||
Aluno 17 | Red | 0.0 | 7.0 | 6.0 | 1.0 | 1.0 | 100.0 | 92.0 | ||
Green | 2.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | 0.0 | 6.0 | 6.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
6 | Aluno 11 | Red | 23.0 | 12.0 | 11.0 | 1.0 | 0.0 | 100.0 | 83.6 | |
Green | 24.0 | 12.0 | 11.0 | 1.0 | 0.0 | 100.0 | 77.5 | |||
Refactor | 13.0 | 12.0 | 12.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 14 | Red | - | - | - | - | - | - | - | ||
Green | 0.0 | 7.0 | 7.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - | |||
Aluno 15 | Red | 6.0 | 13.0 | 12.0 | 1.0 | 1.0 | 97.4 | 97.4 | ||
Green | 3.0 | 13.0 | 13.0 | 0.0 | 0.0 | 97.4 | 99.8 | |||
Refactor | 6.0 | 13.0 | 13.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Aluno 17 | Red | - | - | - | - | - | - | - | ||
Green | 11.0 | 7.0 | 7.0 | 0.0 | 0.0 | 100.0 | 100.0 | |||
Refactor | - | - | - | - | - | - | - |