Metodologia de Depuração para Desenvolver Regras de Negócios

  • Sempre teste cada parte da regra de negócios em um pequeno conjunto de dados em que você conheça os dados de origem, saiba os resultados esperados e possa acompanhar o cálculo manualmente.
  • Execute a regra no Calculation Manager e revise as mensagens de log. Depois que a regra é concluída, as mensagens de log são exibidas em uma nova guia e podem ser exportadas ou salvas. A análise dos arquivos de log ajuda você a identificar em que parte o tempo de cálculo está sendo gasto.
  • Execute cada regra individualmente em um conjunto de regras no Calculation Manager e revise as mensagens de log.
  • Use o Calculation Manager no modo de depuração para depurar regras durante o desenvolvimento.
  • Se a regra de negócios usar CALCPARALLEL ou FIXPARALLEL, especialmente ao usar uma das funções de alocação (@ALLOCATE ou @MDALLOCATE), teste removendo o cálculo paralelo para verificar se a regra executa e o desempenho melhora.
  • Certifique-se de que todos os dados necessários (por exemplo, total de alocações) estejam presentes e sejam pré-calculados, conforme necessário, antes de o cálculo ocorrer.
  • Para scripts muitos longos, comece a depuração de cima para baixo. Um problema que ocorra no início do script pode propagar problemas mais para o fim. Depure seção por seção para garantir que todos os dados sejam criados corretamente. Verifique se as últimas seções do script não substituem as anteriores.

    Ao depurar scripts, considere o tamanho da sintaxe em cada etapa de cálculo. Se você não tiver certeza de qual parte do cálculo está falhando, comente as seções, uma de cada vez, na parte inferior e execute novamente o cálculo até que ele seja executado e produza os resultados corretos. Neste ponto, remova os comentários das seções, um de cada vez, da parte superior do cálculo, testando cada alteração à medida que avança.

  • Use o modo de depuração para assegurar que cada seção do script seja calculada sequencialmente, quando necessário.
  • Para assegurar que todos os blocos sejam criados com sucesso, apague manualmente os dados e recarregue-os. Não use um script de limpeza porque ele não testa adequada a criação do bloco.
  • Sempre teste executando um script novamente, para garantir que a sintaxe crie resultados corretos para dados de entrada e preenchidos.
  • Teste todos os resultados de dados com mais de um conjunto de dados. Durante o desenvolvimento, sempre teste alterando os dados de entrada de um valor para outro e depois para #missing. Altere também de #missing para um valor e depois para outro valor. A cada alteração, execute a regra novamente e valide os resultados.
  • Quando houver a possibilidade de uma entrada do usuário alterar conjuntos de dados (por exemplo, em alocações), teste alterações nos dados de #missing para um valor e de um valor para #missing. Isso garantirá que os resultados calculados anteriormente sejam removidos, se necessário, durante as novas execuções. Por exemplo, se você inserir dados para os Produtos A, B e C na primeira execução e para os Produtos B, C e D (mas não para A) na segunda execução, a alteração do valor para #missing antes da segunda execução garantirá que o resultado da alocação para o Produto A seja removido corretamente na segunda execução.