Uma solução computacional submetida que executa mas não consegue mostrar POR QUE funciona recebe pouca nota: a evidência, o rastro e os testes de limite fazem parte da entrega, não são decoração.
Construa o modelo
Defina o problema como um contrato: condições de entrada e saídas esperadas.
Escolha uma abordagem e uma organização de dados que se adequem ao contrato.
Implemente o procedimento de forma legível; declare a convenção de indexação.
Evidencie-o com testes de limite: coleções vazias (onde permitido), duplicatas e valores inválidos.
Solução computacional: um programa funcional junto com o contrato declarado e as evidências de que ele atende ao contrato.
Uma solução computacional percorre do problema declarado à abordagem, às evidências testadas e à documentação
Escolha evidências que possam testá-lo
Rastreie a solução em um exemplo resolvido pequeno no relatório.
Documente cada teste de fronteira e o que ele demonstra.
Diagnose qualquer lacuna como algoritmo incorreto, implementação errada ou requisito incompleto.
No laboratório: O relatório segue a sequência: problema declarado, abordagem, evidências testadas, documentação; o avaliador pode reexaminar o raciocínio.
Trabalhe a partir de quantidades conhecidas
Exemplo resolvido: consulta de registro sobre [3, 9, 14, 20, 27] com indexação baseada em 1.
Tabela de rastreamento: três linhas (intervalo, meio, decisão) mostrando o encolhimento do intervalo.
Testes de fronteira: registro vazio retorna mensagem de não encontrado; IDs duplicados resolvem para a primeira entrada (declarado); ID inválido é rejeitado na entrada.
Cada teste corresponde a uma cláusula do contrato.
Sua vez: Redija a cláusula do contrato que um registro com IDs duplicados deve especificar antes que qualquer código seja avaliado.
Verifique a conclusão e seus limites
A solução é avaliada conforme o contrato declarado: comportamento não declarado não pode ser testado posteriormente.
Os requisitos do cliente podem exceder o contrato (velocidade, privacidade, escala): esses pertencem ao problema declarado, não à lista de erros.
Falso: Um programa em execução significa que o requisito foi atendido. O requisito inclui o contrato de fronteira; uma execução apenas em entradas favoráveis satisfaz parte dele.
Chave:
O entregável é o programa, o contrato e as evidências juntos.
Todo teste de fronteira mapeia-se a uma cláusula do contrato.
Cuidado com: comportamentos não declarados testados após o envio.
Mais tópicos em International Baccalaureate · IB Diploma · Computer Science · SL