Skip to main content

Usar avaliação automática

É possível fornecer feedback automaticamente sobre envios de código de seus alunos configurando testes para serem executados no repositório de atividade.

Quem pode usar esse recurso?

Organization owners who are admins for a classroom can set up and use autograding on assignments in a classroom. Para obter mais informações sobre administradores da classe, confira "Gerenciar salas de aula".

Sobre a avaliação automática

Você pode usar a avaliação automática para verificar automaticamente o trabalho de um aluno para uma atividade em GitHub Classroom. Você configura testes para uma atribuição e eles são executados imediatamente sempre que um aluno faz um envio por push para um repositório de atribuição no GitHub.com. O aluno pode visualizar os resultados do teste, fazer mudanças e fazer push para ver novos resultados.

Depois que um aluno aceita uma atividade, em cada push para o repositório de atividades, GitHub Actions executa os comandos do seu teste de avaliação automática em um ambiente Linux que contém o código mais novo do aluno. GitHub Classroom cria os fluxos de trabalho necessários para GitHub Actions. Você não precisa ter experiência com GitHub Actions para usar a avaliação automática. Para obter mais informações sobre fluxos de trabalho e GitHub Actions, confira "Sobre integração contínua".

Pode usar uma estrutura de teste, executar um comando personalizado, escrever testes de entrada/saída ou combinar diferentes métodos de teste. O ambiente Linux para avaliação automática contém muitas ferramentas de software populares. Para mais informações, confira os detalhes da versão mais recente do Ubuntu em "Usar executores hospedados no GitHub".

Você pode ter uma visão geral dos alunos que estão passando testes de avaliação automática acessando a atividade em GitHub Classroom. Uma marca de verificação verde significa que todos os testes estão passando para o aluno, e um X vermelho significa que alguns ou todos os testes estão falhando para o aluno. Se você ganhou pontos para um ou mais testes, uma bolha irá mostrar a pontuação para os testes da pontuação máxima possível para a atividade.

Métodos de avaliação

Há dois métodos de avaliação: testes de entrada/saída e testes de comando de execução.

Teste de entrada/saída

Um teste de entrada/saída opcionalmente executa um comando de configuração e, em seguida, fornece a entrada padrão para um comando de teste. GitHub Classroom avalia a saída do comando de teste para um resultado esperado.

ConfiguraçãoDescrição
Nome do testeO nome do teste, para identificar o teste em registros
Comando de configuraçãoOpcional. Um comando a ser executado antes dos testes, como compilação ou instalação
Comando de execuçãoO comando para executar o teste e gerar saída padrão para avaliação
EntradasEntrada padrão para o executar o comando
Saída esperadaA saída que você quer ver como saída padrão do comando de execução
ComparaçãoO tipo de comparação entre a saída do comando de execução e a saída esperada

  • Incluído: é transmitido quando a saída esperada é exibida
    em qualquer lugar da saída padrão do comando de execução
  • Exato: é transmitido quando a saída esperada é completamente idêntica
    à saída padrão do comando de execução
  • Regex: é transmitido se a expressão regular na saída esperada
    corresponde à saída padrão do comando de execução
Tempo LimiteQuanto tempo um teste deve ser executado em minutos antes de resultar em falha
PontosOpcional. O número de pontos que o teste vale para uma pontuação total

Executar teste de comando

Um comando de execução executa um comando de configuração e, em seguida, executa um comando de teste. GitHub Classroom verifica o status de saída do comando de teste. O código de saída 0 resulta em sucesso, e qualquer outro código de saída resulta em falha.

GitHub Classroom fornece predefinições para testes de comando de execução específicos da linguagem para uma variedade de linguagens de programação. Por exemplo, o teste Executar nó preenche o comando de instalação com npm install e o comando de teste com npm test.

ConfiguraçãoDescrição
Nome do testeO nome do teste, para identificar o teste em registros
Comando de configuraçãoOpcional. Um comando a ser executado antes dos testes, como compilação ou instalação
Comando de execuçãoO comando para executar o teste e gerar um código de saída para avaliação
Tempo LimiteQuanto tempo um teste deve ser executado em minutos antes de resultar em falha
PontosOpcional. O número de pontos que o teste vale para uma pontuação total

Configurar testes de avaliação automática para uma atribuição

Você pode adicionar testes de avaliação automática durante a criação de uma nova atividade. Para obter mais informações, confira "Criar um trabalho individual" ou "Criar uma atribuição em grupo".

Você pode adicionar, editar ou excluir testes de avaliação automática para uma atividade existente. Todas as alterações feitas por meio da interface do usuário do Classroom serão enviadas por push para os repositórios de alunos existentes. Portanto, tenha cuidado ao editar seus testes.

  1. Efetue o login em GitHub Classroom.

  2. Na lista de salas de aula, clique na sala de aula que você deseja visualizar.

  3. À direita da tarefa que você deseja editar, clique em .

  4. Na barra lateral esquerda, clique em Avaliação e comentários.

  5. Adicionar, editar ou excluir um teste de avaliação automática.

    • Para adicionar um teste, em "Adicionar testes de classificação automática", clique no menu suspenso Adicionar teste e selecione o método de classificação que você deseja usar. Configure o teste e clique em Salvar caso de teste.

    • Para editar um teste, à direita do nome do teste, clique em . Configure o teste e clique em Salvar caso de teste.

    • Para excluir um teste, à direita do nome do teste, clique em .

  6. Na parte inferior da página, clique em Atualizar tarefa.

Visualizar e fazer o download de resultados de testes de autoavaliação

Fazer o download dos resultados da auto-avaliação

Você também pode fazer o download do CSV da pontuação da autoavaliação dos seus alunos por meio do botão "Download". Isso irá gerar e fazer o download de um CSV que contém um link para o repositório do aluno, seu gerenciador de GitHub, identificador da lista de participantes, registro de hora de envio e pontuação de da autoavaliação.

Ver registros individuais

  1. Efetue o login em GitHub Classroom.
  2. Na lista de salas de aula, clique na sala de aula que você deseja visualizar.
  3. Na lista de atividades, clique na atividade que você deseja visualizar.
  4. À direita de um envio, clique em .
  5. Revise a saída de teste. Para obter mais informações, confira "Usando logs de execução de fluxo de trabalho".

Leitura adicional