Méthodologie de débogage pour le développement de règles métier

  • Effectuez toujours un test d'unité de la règle métier sur un petit ensemble de données où vous connaissez les données sources et les résultats attendus, et où vous pouvez suivre le calcul manuellement.
  • Exécutez la règle métier dans Calculation Manager et consultez les messages de journal. Les messages de journal s'affichent dans un nouvel onglet une fois la règle terminée et peuvent être exportés ou enregistrés. L'analyse des fichiers journaux vous permet d'identifier où le temps de calcul est utilisé.
  • Exécutez chaque règle individuellement dans ensemble de règles dans Calculation Manager et consultez les messages de journal.
  • Utilisez Calculation Manager en mode de débogage pour déboguer les règles au cours du développement.
  • Si la règle métier utilise CALCPARALLEL ou FIXPARALLEL, en particulier lorsque vous recourez à l'une des fonctions d'allocation (@ALLOCATE ou @MDALLOCATE), effectuez un test en enlevant le calcul parallèle pour voir si la règle s'exécute et si les performances s'améliorent.
  • Veillez à ce que toutes les données requises (par exemple, le total des allocations) soient présentes et précalculées si nécessaire avant que le calcul s'effectue.
  • Pour les scripts longs, commencez à déboguer en haut et descendez. Un problème au début du script peut engendrer des problèmes plus bas. Déboguez section par section pour vous assurer que toutes les données sont créées correctement. Vérifiez que les sections ultérieures du script n'écrasent pas les sections antérieures.

    Lors du débogage des scripts, prenez en compte la longueur de syntaxe de chaque passe de calcul. Si vous ne savez pas quelle partie du calcul pose problème, mettez les sections en commentaire une par une, en partant du bas, et réexécutez le calcul jusqu'à ce qu'il se lance et donne des résultats corrects. Enlevez ensuite la mise en commentaire, section par section, en partant du haut du calcul, pour tester progressivement chaque modification.

  • Utilisez le mode de débogage pour vous assurer que chaque section de script est calculée séquentiellement, le cas échéant.
  • Pour vous assurer que tous les blocs sont créés, effacez manuellement les données et rechargez-les. N'utilisez pas de script clair car il ne teste pas correctement la création de blocs.
  • Effectuez toujours les tests en réexécutant un script afin de vous assurer que la syntaxe crée des résultats corrects pour les données d'entrée et renseignées.
  • Testez toujours tous les résultats de données avec plusieurs ensembles de données. Lors du développement, effectuez toujours les tests en remplaçant la valeur d'une donnée d'entrée par une autre, puis par #missing, et #missing par une valeur, puis par une autre. Réexécutez la règle pour chaque modification et validez les résultats.
  • Lorsque l'entrée utilisateur peut modifier les ensembles de données (par exemple, pour les allocations), testez les données en remplaçant #missing par une valeur et une valeur par #missing. Cela garantit que les résultats calculés précédemment ont été enlevés, si nécessaire, pendant les réexécutions. Par exemple, si vous entrez des données pour Produit A, B et C lors de la première exécution, et pour Produit B, C et D (mais pas A) lors de la deuxième exécution, remplacer la valeur par #missing avant la deuxième exécution permet de garantir que le résultat de l'allocation pour Produit A est correctement enlevé lors de la deuxième exécution.