Difference between revisions of "Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2021-2022"

From Wiki**3

< Programação com Objectos‎ | Projecto de Programação com Objectos
(Pacotes de Testes para a Entrega Final)
(Pacotes de Testes para a Entrega Final)
Line 234: Line 234:
  
 
{{CollapsedCode|Descrição dos testes da entrega final (diários)|<source lang="text">
 
{{CollapsedCode|Descrição dos testes da entrega final (diários)|<source lang="text">
(a publicar)
+
Main
 +
 
 +
Guardar /Abrir Estado
 +
 
 +
A-01-01-M-ok - Abrir aplicação sem import e ver os menus todos
 +
A-01-02-M-ok - Abrir aplicação com Parceiros e vê e guardar em app01.dat
 +
A-01-03-M-ok - Abrir aplicação vazia, carrega app01.dat e vê Parceiros
 +
A-01-04-M-ok - Abrir aplicação com produtos simples e Parceiros, vê produtos e guarda em app02.dat
 +
A-01-05-M-ok - Abrir aplicação vazia, carrega app02.dat e vê Parceiros e produtos
 +
A-01-06-M-ok - Abrir ficheiro não existente
 +
A-01-07-M-ok - Abrir aplicação com parceiros, guarda app03.dat, cria parceiro, guarda
 +
A-01-08-M-ok - Abrir aplicação vazia, carrega app03.dat e vê. Altera data e guarda
 +
A-01-09-M-ok - Abrir aapp03.dat e ver data
 +
 
 +
Mostrar Data/Avançar
 +
 
 +
A-02-01-M-ok - Mostrar data inicial
 +
A-02-02-M-ok - Avançar data válida e Mostrar data
 +
A-02-03-M-ok - Avançar data inválida e Mostrar data
 +
A-02-04-M-ok - Avançar data duas vezes e Mostrar data
 +
 
 +
Menu Produtos
 +
 
 +
Visualizar todos os produtos
 +
 
 +
A-03-01-M-ok - Ver caso sem produtos
 +
A-03-02-M-ok - Ver um só com um produto simples
 +
A-03-03-M-ok - Ver com vários produtos simples inseridos de forma ordenada
 +
A-03-04-M-ok - Ver com vários produtos simples inseridos de forma desordenada
 +
A-03-05-M-ok - Ver com vários produtos simples inseridos com maiúsculas e minúsculas
 +
A-03-06-M-ok - Ver um produto simples com vários lotes
 +
A-03-07-M-ok - Ver vários produtos simples com vários lotes misturados, mas com lotes ordenados
 +
 
 +
Visualizar todos os lotes
 +
 
 +
A-04-01-M-ok - Ver caso sem produtos
 +
A-04-02-M-ok - Ver caso de um produto com um lote
 +
A-04-03-M-ok - Ver caso de um produto com vários lotes
 +
A-04-04-M-ok - Ver caso de vários produtos com vários lotes ordenados
 +
A-04-05-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por parceiro
 +
A-04-06-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por preço e existências
 +
A-04-07-M-ok - Ver lotes inseridos desordenados por produto e por lote
 +
 
 +
Menu de Parceiros
 +
 
 +
Mostrar Parceiro
 +
 
 +
A-07-01-M-ok - Ver Parceiro existente com uma chave igual à indicada
 +
A-07-02-M-ok - Ver Parceiro existente com uma chave só com minúsculas, maiúsculas, misturadas
 +
A-07-03-M-ok - Ver Parceiro não existente com parceiros carregados
 +
A-07-04-M-ok - Ver Parceiro não existente sem parceiros carregados e ver parceiros vazio
 +
 
 +
Mostrar Parceiros
 +
 
 +
A-08-01-M-ok ver lista de parceiros importados por ordem
 +
A-08-02-M-ok ver lista de parceiros importados desordenado
 +
A-08-03-M-ok ver lista de parceiros importados desordenado com maiúsculas e minúsculas
 +
 
 +
Registar Parceiro
 +
 
 +
A-09-01-M-ok registar parceiro em entreposto com parceiro
 +
A-09-02-M-ok registar parceiro no fim da lista de parceiros
 +
A-09-03-M-ok registar parceiro no início da lista/no meio da lista
 +
A-09-04-M-ok registar parceiro com chave duplicada
 +
A-09-05-M-ok registar parceiro com chave diferente mas duplicada.
 +
A-09-06-M-ok registar parceiro com chave minúsculas/maiúsculas no meio e ver que está bem ordenado
 
</source>
 
</source>
 
}}
 
}}

Revision as of 01:09, 30 October 2021

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: 2021/10/08 12:00 (inicial); 2021/10/29 12:00 (intercalar); 2021/11/12 12:00 (final); 2021/11/12 (early bird) 2021/11/15 (normal) (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-uilib e o conteúdo inicial do CVS são de uso obrigatório:
  • po-uilib (classes de base) po-uilib-202110212142.tar.bz2 (não pode ser alterada) - javadoc
  • ggc-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
  • ggc-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).

Ficheiros removidos do módulo ggc-core (durante os testes) e substituídos por versões canónicas
ggc-core/
├── Makefile
└── src
    └── ggc
        └── exceptions
            ├── BadEntryException.java
            ├── ImportFileException.java
            ├── MissingFileAssociationException.java
            └── UnavailableFileException.java
Ficheiros removidos do módulo ggc-app (durante os testes) e substituídos por versões canónicas
ggc-app/
├── Makefile
└── src
    └── ggc
        └── app
            ├── App.java
            ├── exceptions
            │   ├── DuplicatePartnerKeyException.java
            │   ├── FileOpenFailedException.java
            │   ├── InvalidDateException.java
            │   ├── Message.java
            │   ├── UnavailableProductException.java
            │   ├── UnknownPartnerKeyException.java
            │   ├── UnknownProductKeyException.java
            │   ├── UnknownServiceLevelException.java
            │   ├── UnknownServiceTypeException.java
            │   └── UnknownTransactionKeyException.java
            ├── lookups
            │   ├── Label.java
            │   ├── Menu.java
            │   └── Prompt.java
            ├── main
            │   ├── Label.java
            │   ├── Menu.java
            │   ├── Message.java
            │   └── Prompt.java
            ├── partners
            │   ├── Label.java
            │   ├── Menu.java
            │   ├── Message.java
            │   └── Prompt.java
            ├── products
            │   ├── Label.java
            │   ├── Menu.java
            │   ├── Message.java
            │   └── Prompt.java
            └── transactions
                ├── Label.java
                ├── Menu.java
                ├── Message.java
                └── Prompt.java

Testes de Presença de Diagramas UML

Durante o período que antecede a primeira entrega (UML), são executados testes de presença dos diagramas no repositório.

Os projectos não são executados, mas são comunicados erros de compilação para projectos que já tenham commits.

Resultados dos testes

Os resultados dos testes de presença estão disponíveis nos seguintes locais:

Grupos que tenham as anotações NOTHING COMMITTED ou UML MISSING (estando em falta o diagrama ggc-core) não estão em condições de aprovação à disciplina.

Pacotes de Testes para a Entrega Intermédia

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

Resultados dos testes

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

Grupos que tenham a anotação NOTHING COMMITTED não estão em condições de aprovação à disciplina.

Descrição dos testes da entrega intermédia (diários)
Main

Guardar/Abrir Estado

A-01-01-M-ok - Abrir aplicação sem import e ver os menus todos
A-01-02-M-ok - Abrir aplicação com Parceiros e vê e guardar em app01.dat
A-01-03-M-ok - Abrir aplicação vazia, carrega app01.dat e vê Parceiros
A-01-04-M-ok - Abrir aplicação com produtos simples e Parceiros, vê produtos e guarda em app02.dat
A-01-05-M-ok - Abrir aplicação vazia, carrega app02.dat e vê Parceiros e produtos
A-01-06-M-ok - Abrir ficheiro não existente
A-01-07-M-ok - Abrir aplicação com parceiros, guarda app03.dat, cria parceiro, guarda
A-01-08-M-ok - Abrir aplicação vazia, carrega app03.dat e vê. Altera data e guarda
A-01-09-M-ok - Abrir app03.dat e ver data

Mostrar Data/Avançar

A-02-01-M-ok - Mostrar data inicial
A-02-02-M-ok - Avançar data válida e Mostrar data
A-02-03-M-ok - Avançar data inválida e Mostrar data
A-02-04-M-ok - Avançar data duas vezes e Mostrar data

Menu Produtos

Visualizar todos os produtos

A-03-01-M-ok - Ver caso sem produtos
A-03-02-M-ok - Ver um só com um produto simples
A-03-03-M-ok - Ver com vários produtos simples inseridos de forma ordenada

Visualizar todos os lotes

A-04-01-M-ok - Ver caso sem produtos
A-04-02-M-ok - Ver caso de um produto com um lote
A-04-03-M-ok - Ver caso de um produto com vários lotes
A-04-04-M-ok - Ver caso de vários produtos com vários lotes ordenados

Menu de Parceiros

Mostrar Parceiro

A-07-01-M-ok - Ver Parceiro existente com uma chave igual à indicada
A-07-02-M-ok - Ver Parceiro existente com uma chave só com minúsculas, maiúsculas, misturadas

Mostrar Parceiros

A-08-01-M-ok ver lista de parceiros importados por ordem

Registar Parceiro

A-09-01-M-ok registar parceiro em entreposto com parceiro
A-09-02-M-ok registar parceiro no fim da lista de parceiros
A-09-04-M-ok registar parceiro com chave duplicada
Descrição dos testes da entrega intermédia (avaliação)
Main

Guardar /Abrir Estado

A-01-01-M-ok - Abrir aplicação sem import e ver os menus todos
A-01-02-M-ok - Abrir aplicação com Parceiros e vê e guardar em app01.dat
A-01-03-M-ok - Abrir aplicação vazia, carrega app01.dat e vê Parceiros
A-01-04-M-ok - Abrir aplicação com produtos simples e Parceiros, vê produtos e guarda em app02.dat
A-01-05-M-ok - Abrir aplicação vazia, carrega app02.dat e vê Parceiros e produtos
A-01-06-M-ok - Abrir ficheiro não existente
A-01-07-M-ok - Abrir aplicação com parceiros, guarda app03.dat, cria parceiro, guarda
A-01-08-M-ok - Abrir aplicação vazia, carrega app03.dat e vê. Altera data e guarda
A-01-09-M-ok - Abrir aapp03.dat e ver data

Mostrar Data/Avançar

A-02-01-M-ok - Mostrar data inicial
A-02-02-M-ok - Avançar data válida e Mostrar data
A-02-03-M-ok - Avançar data inválida e Mostrar data
A-02-04-M-ok - Avançar data duas vezes e Mostrar data

Menu Produtos

Visualizar todos os produtos

A-03-01-M-ok - Ver caso sem produtos
A-03-02-M-ok - Ver um só com um produto simples
A-03-03-M-ok - Ver com vários produtos simples inseridos de forma ordenada
A-03-04-M-ok - Ver com vários produtos simples inseridos de forma desordenada
A-03-05-M-ok - Ver com vários produtos simples inseridos com maiúsculas e minúsculas
A-03-06-M-ok - Ver um produto simples com vários lotes
A-03-07-M-ok - Ver vários produtos simples com vários lotes misturados, mas com lotes ordenados

Visualizar todos os lotes

A-04-01-M-ok - Ver caso sem produtos
A-04-02-M-ok - Ver caso de um produto com um lote
A-04-03-M-ok - Ver caso de um produto com vários lotes
A-04-04-M-ok - Ver caso de vários produtos com vários lotes ordenados
A-04-05-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por parceiro
A-04-06-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por preço e existências
A-04-07-M-ok - Ver lotes inseridos desordenados por produto e por lote

Menu de Parceiros

Mostrar Parceiro

A-07-01-M-ok - Ver Parceiro existente com uma chave igual à indicada
A-07-02-M-ok - Ver Parceiro existente com uma chave só com minúsculas, maiúsculas, misturadas
A-07-03-M-ok - Ver Parceiro não existente com parceiros carregados
A-07-04-M-ok - Ver Parceiro não existente sem parceiros carregados e ver parceiros vazio

Mostrar Parceiros

A-08-01-M-ok ver lista de parceiros importados por ordem
A-08-02-M-ok ver lista de parceiros importados desordenado
A-08-03-M-ok ver lista de parceiros importados desordenado com maiúsculas e minúsculas

Registar Parceiro

A-09-01-M-ok registar parceiro em entreposto com parceiro
A-09-02-M-ok registar parceiro no fim da lista de parceiros
A-09-03-M-ok registar parceiro no início da lista/no meio da lista
A-09-04-M-ok registar parceiro com chave duplicada
A-09-05-M-ok registar parceiro com chave diferente mas duplicada.
A-09-06-M-ok registar parceiro com chave minúsculas/maiúsculas no meio e ver que está bem ordenado

Pacotes de Testes para a Entrega Final

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

Resultados dos testes

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

Grupos que tenham a anotação NOTHING COMMITTED não estão em condições de aprovação à disciplina.

Descrição dos testes da entrega final (diários)
Main

Guardar /Abrir Estado

A-01-01-M-ok - Abrir aplicação sem import e ver os menus todos
A-01-02-M-ok - Abrir aplicação com Parceiros e vê e guardar em app01.dat
A-01-03-M-ok - Abrir aplicação vazia, carrega app01.dat e vê Parceiros
A-01-04-M-ok - Abrir aplicação com produtos simples e Parceiros, vê produtos e guarda em app02.dat
A-01-05-M-ok - Abrir aplicação vazia, carrega app02.dat e vê Parceiros e produtos
A-01-06-M-ok - Abrir ficheiro não existente
A-01-07-M-ok - Abrir aplicação com parceiros, guarda app03.dat, cria parceiro, guarda
A-01-08-M-ok - Abrir aplicação vazia, carrega app03.dat e vê. Altera data e guarda
A-01-09-M-ok - Abrir aapp03.dat e ver data

Mostrar Data/Avançar

A-02-01-M-ok - Mostrar data inicial
A-02-02-M-ok - Avançar data válida e Mostrar data
A-02-03-M-ok - Avançar data inválida e Mostrar data
A-02-04-M-ok - Avançar data duas vezes e Mostrar data

Menu Produtos

Visualizar todos os produtos

A-03-01-M-ok - Ver caso sem produtos
A-03-02-M-ok - Ver um só com um produto simples
A-03-03-M-ok - Ver com vários produtos simples inseridos de forma ordenada
A-03-04-M-ok - Ver com vários produtos simples inseridos de forma desordenada
A-03-05-M-ok - Ver com vários produtos simples inseridos com maiúsculas e minúsculas
A-03-06-M-ok - Ver um produto simples com vários lotes
A-03-07-M-ok - Ver vários produtos simples com vários lotes misturados, mas com lotes ordenados

Visualizar todos os lotes

A-04-01-M-ok - Ver caso sem produtos
A-04-02-M-ok - Ver caso de um produto com um lote
A-04-03-M-ok - Ver caso de um produto com vários lotes
A-04-04-M-ok - Ver caso de vários produtos com vários lotes ordenados
A-04-05-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por parceiro
A-04-06-M-ok - Ver lotes inseridos ordenados por produto mas fora de ordem por preço e existências
A-04-07-M-ok - Ver lotes inseridos desordenados por produto e por lote

Menu de Parceiros

Mostrar Parceiro

A-07-01-M-ok - Ver Parceiro existente com uma chave igual à indicada
A-07-02-M-ok - Ver Parceiro existente com uma chave só com minúsculas, maiúsculas, misturadas
A-07-03-M-ok - Ver Parceiro não existente com parceiros carregados
A-07-04-M-ok - Ver Parceiro não existente sem parceiros carregados e ver parceiros vazio

Mostrar Parceiros

A-08-01-M-ok ver lista de parceiros importados por ordem
A-08-02-M-ok ver lista de parceiros importados desordenado
A-08-03-M-ok ver lista de parceiros importados desordenado com maiúsculas e minúsculas

Registar Parceiro

A-09-01-M-ok registar parceiro em entreposto com parceiro
A-09-02-M-ok registar parceiro no fim da lista de parceiros
A-09-03-M-ok registar parceiro no início da lista/no meio da lista
A-09-04-M-ok registar parceiro com chave duplicada
A-09-05-M-ok registar parceiro com chave diferente mas duplicada.
A-09-06-M-ok registar parceiro com chave minúsculas/maiúsculas no meio e ver que está bem ordenado
Descrição dos testes da entrega final (avaliação)
(a publicar)