Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2016-2017

From Wiki**3

< Programação com Objectos‎ | Projecto de Programação com Objectos
AVISOS - Avaliação em Época Normal

Esclarecimento de dúvidas:

  • Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [1].
  • Não utilizar fontes de informação não oficialmente associadas ao corpo docente (podem colocar em causa a aprovação à disciplina).
  • Não são aceites justificações para violações destes conselhos: quaisquer consequências nefastas são da responsabilidade do aluno.

Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):

  • O material de apoio é de uso obrigatório e não pode ser alterado.
  • Verificar atempadamente (mínimo de 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de desenvolvimento.

Processo de avaliação (ver informação completa em Avaliação do Projecto):

  • Datas: 2016/10/21 12:00 (inicial); 2016/11/21 12:00 (intercalar); 2016/12/09 12:00 (final); 2016/12/09-2016/12/13 (teste prático).
  • Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina.
  • Verificar atempadamente (até 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de avaliação, incluindo a capacidade de acesso ao repositório.
  • Apenas se consideram para avaliação os projectos existentes no repositório oficial. Apenas se considera para avaliação o ramo 'main'.
  • Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório ou de outros materiais, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
  • A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelos alunos correspondentes ao grupo de avaliação.
  • Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação.
Material de Uso Obrigatório
As bibliotecas po-uuilib e o conteúdo inicial do CVS são de uso obrigatório:
  • po-uuilib (classes de base) media:po-uuilib-201609201009.tar.bz2 (não pode ser alterada)
  • pex-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
  • pex-app (classes de interacção) (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio.
Uso Obrigatório: Repositório CVS
Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.

Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.

Durante a execução do projecto são realizados testes automáticos sobre o conteúdo do repositório, sendo publicados diariamente os resultados dos testes (apenas durante a Época Normal).

Pacotes de Testes para a Entrega Final (Época Normal)

Os ficheiros contidos nos arquivos têm extensões .in, .out e .import e destinam-se a ser utilizados na execução do programa com as propriedades correspondentes definidas com os nomes dos ficheiros (excepto os .out, que servem para comparação com a saída real obtida).

Descrição dos Testes
  • A-001-001-M-ok Ver 1º Menu
  • A-001-002-M-ok Ver 2º Menu (implica import a funcionar)
  • A-001-003-M-ok Pedir para ver um programa que não existe e interpretador não tem programas
  • A-001-004-M-ok Pedir para ver um programa que não existe e interpretador tem programas
  • A-002-001-M-ok Import de Operações Primitivas e listar programa
  • A-002-002-M-ok Import de Operações Aritméticas e listar programa
  • A-002-003-M-ok Import de Operações Lógicas e listar programa
  • A-002-004-M-ok Import de Operações if, ciclo , atribuição, IO, sequência e call e listar programa
  • A-002-005-M-ok Import de itodas as operações com argumentos do tipo expressão composta e listar programa
  • A-003-001-M-ok Criar um programa com um nome novo e listar
  • A-003-002-M-ok Criar um programa com um nome repetido (import)
  • A-004-001-M-ok Ler um programa com operações primitivas com um nome novo
  • A-004-002-M-ok Ler um programa com operações primitivas com um nome repetido
  • A-005-001-M-ok Escrever um programa existente com operações primitivas com um nome novo
  • A-005-002-M-ok Ler o programa escrito no teste anterior
  • A-005-003-M-ok Escrever um programa que não existe
  • A-006-001-M-ok Selecionar um nome inexistente (sem programas)
  • A-006-002-M-ok Selecionar um nome inexistente (com programas)
  • A-007-001-M-ok Começa com Import. Cria um interpretador novo. Verificar que programas existentes desaparecem
  • A-008-001-M-ok Começar aplicação com import com expressões primitivas e fazer save saved01
  • A-008-002-M-ok Carregar Open saved01
  • A-008-003-M-ok Fazer Load de ficheiro que não existe
  • A-008-004-M-ok 12 Fazer Save duas vezes
  • A-008-005-M-ok Começar aplicação com import com expressões todas e fazer save saved02
  • A-008-006-M-ok Carregar Open saved02
  • A-009-001-M-ok Testa if true valor positivo
  • A-009-002-M-ok Testa if false
  • A-009-003-M-ok Testa if true valor negativo
  • A-009-004-M-ok Testa Add com valores positivos e negativos
  • A-009-008-M-ok Testa Mod com valores positivos
  • A-009-009-M-ok Testa And executa os dois argumentos (true/true e true/false)
  • A-009-010-M-ok Testa And executa só o primeiro argumento (false/true e false/false)
  • A-009-011-M-ok Testa Or executa os dois argumentos (false/true e false/false)
  • A-009-013-M-ok Testa Not com valor true (maior que 0 e menor que 0)
  • A-009-018-M-ok Testa Print de um argumento, vários argumentos
  • A-009-019-M-ok Testa Seq de um argumento, vários argumentos
  • A-009-020-M-ok Testa set de um inteiro (simples e composto) e set de uma string (simples e composto)
  • A-009-022-M-ok Testa identificador após atribuição de inteiro e string
  • A-009-024-M-ok Testa Eq com inteiros iguais e diferentes
  • A-009-025-M-ok Testa Ne com inteiros iguais e diferentes
  • A-009-026-M-ok Testa Lt com inteiros iguais, menores e maiores
  • A-009-027-M-ok Testa Le com inteiros iguais, menores e maiores
  • A-009-031-M-ok Testa while com execução do ciclo 3 vezes condição maior que 0
  • A-009-033-M-ok Testa Call com programa existente
  • A-009-036-M-ok Testa Execução de Programa vazio
  • A-010-001-M-ok Teste escrita dos identificadores inseridos por ordem correcta só com sets
  • A-010-002-M-ok Teste escrita dos identificadores inseridos por ordem inversa
  • A-010-003-M-ok Teste escrita dos identificadores inseridos por ordem aleatória só com referências
  • A-010-004-M-ok Teste escrita dos identificadores inseridos por ordem correcta com referências e set
  • A-011-001-M-ok Substituir 1º e última expressão
  • A-011-002-M-ok Substituir expressão do meio
  • A-011-003-M-ok Substituir expressão com indíce inválido (negativo e maior que tamanho e igual ao tamanho)
  • A-011-005-M-ok Adicionar expressão ao meio e no início
  • A-011-009-M-ok Adicionar expressão num programa vazio
  • A-012-001-M-ok Teste escrita dos identificadores não inicializados inseridos por ordem correcta

Resultados dos Testes (Época Normal)

Os resultados da execução dos vários testes estão disponíveis nos seguintes locais:

Pacotes de Testes para a Entrega Intermédia (Época Normal)

Os pacotes de testes para o projecto são os seguintes:

Descrição dos testes
  • A-001-001-M-ok Ver 1º Menu
  • A-001-002-M-ok Ver 2º Menu (implica import a funcionar)
  • A-001-003-M-ok Pedir para ver um programa que não existe e interpretador não tem programas
  • A-001-004-M-ok Pedir para ver um programa que não existe e interpretador tem programas
  • A-002-001-M-ok Import de Operações Primitivas e listar programa
  • A-002-002-M-ok Import de Operações Aritméticas e listar programa
  • A-002-003-M-ok Import de Operações Lógicas e listar programa
  • A-002-004-M-ok Import de Operações if, ciclo , atribuição, IO, sequência e call e listar programa
  • A-002-005-M-ok Import de itodas as operações com argumentos do tipo expressão composta e listar programa
  • A-003-001-M-ok Criar um programa com um nome novo e listar
  • A-003-002-M-ok Criar um programa com um nome repetido (import)
  • A-004-001-M-ok Ler um programa com operações primitivas com um nome novo
  • A-004-002-M-ok Ler um programa com operações primitivas com um nome repetido
  • A-005-001-M-ok Escrever um programa existente com operações primitivas com um nome novo
  • A-005-002-M-ok Ler o programa escrito no teste anterior
  • A-005-003-M-ok Escrever um programa que não existe
  • A-006-001-M-ok Selecionar um nome inexistente (sem programas)
  • A-006-002-M-ok Selecionar um nome inexistente (com programas)
  • A-007-001-M-ok Começa com Import. Cria um interpretador novo. Verificar que programas existentes desaparecem
  • A-008-001-M-ok Começar aplicação com import com expressões primitivas e fazer save saved01
  • A-008-002-M-ok Carregar Open saved01
  • A-008-003-M-ok Fazer Load de ficheiro que não existe
  • A-008-004-M-ok 12 Fazer Save duas vezes
  • A-008-005-M-ok Começar aplicação com import com expressões todas e fazer save saved02
  • A-008-006-M-ok Carregar Open saved02

Resultados dos testes

Os resultados da execução dos vários testes estão disponíveis nos seguintes locais: