Tanto a entrega intermédia como a entrega final do projecto são avaliadas de forma manual e automática. A avaliação automática é realizada executando um conjunto de testes sobre a última versão entregue do projecto.

Para cada entrega do projecto, é disponibilizado um conjunto de testes parcial que não exercita todas as funcionalidades requeridas. É da responsabilidade de cada grupo assegurar-se que o seu projecto não tem erros e cumpre os requisitos enunciados para cada entrega. O conjunto de testes completo relativo a cada entrega só será disponibilizado após o prazo da entrega em causa. O conjunto de testes utilizado para realizar a avaliação automática de cada entrega é o conjunto de testes completo. 


Os alunos podem submeter várias versões do projecto até ao prazo de entrega. O sistema de avaliação avalia sempre a última submissão de cada grupo. Até ao prazo de submissão do projecto, a avaliação das submissões faz-se normalmente duas vezes por dia, uma de manhã (antes das 13:00) e outra por volta da meia-noite. Só é executado o conjunto de testes parciais disponibilizado. O conjunto total de testes só será executado após o prazo de entrega.  O resultado de cada avaliação  será disponibilizado nas seguintes páginas:

O resultado da avaliação de cada grupo são dois ficheiros: ###.res e ###.log (onde ### é o número do grupo). O primeiro contém uma análise da estrutura do projecto e dá também uma visão global do sucesso na passagem dos testes (incluindo valores numéricos). O segundo apresenta pormenores sobre a execução de cada passo dos testes. 

Execução dos Testes


Cada teste é constituído por dois ou três ficheiros: um ficheiro que define a entrada a submeter ao projecto (extensão .in) , um ficheiro (com extensão .out) que define o resulta esperado da execução do projecto e um ficheiro opcional, com extensão .import, que a existir define o ficheiro import a indicar na execução do projecto. A execução de um teste constituído pelos ficheiros test.in, test.out e test.import, deve ser realizada da seguinte forma. Primeiro, executa-se o projecto tendo em conta os valores de entradas definidos pelo teste:

        java -Dimport=test.import -Din=test.in -Dout=test.outhyp edt.textui.Editor

De seguida, verifica-se se a execução do projecto nas condições indicadas pelos ficheiros de entrada teve o resultado esperado. Este requisito é verificado comparando o ficheiro de saída produzido pela execução do teste é igual ao esperado (e indicado pelo ficheiro com a extensão .out). Em Linux, para comparar os ficheiros utiliza-se o programa diff:

        diff -cBw test.out test.outhyp

Em Linux, pode utilizar o seguinte script para executar de forma automática os testes disponibilizados: runtests.sh

Para correr os testes bastará executar o script runtests.sh. A execução do script gerará para cada teste falhado dois ficheiros: um que contém o resultado da execução do vosso projecto (e que tem extensão outhyp) e outro que contém as diferenças entre o resultado esperado e o dado pelo vosso projecto (e que tem extensão .diff). Estes ficheiros estão dentro do directório tests. Este script (e directório tests que contém os ficheiros de teste) devem estar no mesmo directório que contém o código da vossa aplicação (directório pai de edt). O script supõe ainda que este directório contém o ficheiro edt-support.jar e po-uilib.jar (a framework de interação com o utilizador).

Testes da Entrega Intermédia

Conjunto parcial de testes utilizados na avaliação diária da entrega intermédia: tests-ei.tgz

Conjunto total de testes utilizados na avaliação final da entrega intermédia: testsEI.tgz


Testes da Entrega Final

Descrição dos testes utilizados na avaliação da entrega final e dos testes da entrega intermédia: Testes utilizados

Conjunto parcial de testes utilizados na avaliação diária da entrega final: tests-ef.tgz

Conjunto total de testes utilizados na avaliação final da entrega final: testsEF.tgz