Metodologia di debug per lo sviluppo di regole business

  • Eseguire sempre il test unità della regola business su un set di dati di piccole dimensioni di cui si conoscono i dati di origine e i risultati previsti e per cui è possibile seguire manualmente il calcolo.
  • Eseguire la regola business in Calculation Manager ed esaminare i messaggi di log. Tali messaggi vengono visualizzati in una nuova scheda dopo che la regola è stata completata e può essere esportata o salvata. L'analisi dei file di log facilita l'identificazione dei punti in cui viene impiegato il tempo di calcolo.
  • Eseguire singolarmente ciascuna regola di un set di regole in Calculation Manager ed esaminare i messaggi di log.
  • Utilizzare Calculation Manager in modalità di debug per eseguire il debug delle regole durante la fase di sviluppo.
  • Se la regola aziendale utilizza CALCPARALLEL o FIXPARALLEL, in particolare quando si utilizza una delle funzioni di allocazione (@ALLOCATE o @MDALLOCATE), eseguire un test rimuovendo il calcolo parallelo per verificare se la regola funziona e se le performance migliorano.
  • Assicurarsi che tutti i dati necessari (ad esempio, il totale per le allocazioni) siano presenti e vengano calcolati preliminarmente in base alle esigenze prima che il calcolo venga eseguito.
  • Per gli script lunghi, iniziare a eseguire il debug dalla parte superiore e procedere verso il basso. Un problema all'inizio dello script può dare luogo a problemi più in basso. Eseguire il debug sezione per sezione per assicurarsi che tutti i dati vengano creati correttamente. Verificare che le sezioni successive dello script non sovrascrivano le sezioni precedenti.

    Durante il debug degli script, considerare la lunghezza della sintassi all'interno di ogni passo di calcolo. In caso di dubbi sulla parte del calcolo che presenta problemi, impostare le sezioni come commenti, una alla volta, partendo dal fondo e rieseguire il calcolo finché non viene elaborato e non fornisce i risultati corretti. A questo punto, rimuovere i simboli dei commenti dalle sezioni, una alla volta, partendo dall'inizio del calcolo e verificando ogni modifica man mano che si procede.

  • Utilizzare la modalità di debug per assicurarsi che ogni sezione dello script venga calcolata in modo sequenziale, ove necessario.
  • Per verificare che tutti i blocchi vengano creati correttamente, cancellare i dati e ripetere il caricamento in modo manuale. Non utilizzare uno script di cancellazione perché ciò non consente di verificare adeguatamente la creazione dei blocchi.
  • Effettuare sempre il test rieseguendo uno script per assicurarsi che la sintassi crei risultati corretti per i dati di input e popolati.
  • Eseguire sempre il test di tutti i risultati dati con più di un set di dati. Durante lo sviluppo, eseguire sempre il test modificando i dati di input da un valore a un altro e quindi a #missing e poi da #missing a un valore e infine a un altro valore. Eseguire di nuovo la regola per ogni modifica e verificare i risultati.
  • Se l'input utente può cambiare i set di dati (ad esempio, per le allocazioni), eseguire il test dei dati passando da #missing a un valore e quindi da un valore a #missing. In questo modo, si può essere certi che i risultati calcolati in precedenza vengano rimossi, se necessario, durante le riesecuzioni. Ad esempio, se si inseriscono dati per i prodotti A, B e C nella prima esecuzione e per i prodotti B, C e D (ma non per A) nella seconda esecuzione, modificando il valore in #missing prima della seconda esecuzione, ci si assicura che il risultato dell'allocazione per il prodotto A venga rimosso correttamente nella seconda esecuzione.