Metodología de depuración para desarrollar reglas de negocio

  • Realice siempre pruebas de unidad de la regla de negocio en un juego de datos reducido en el que conozca los datos de origen y los resultados esperados y en el que pueda seguir manualmente el cálculo.
  • Ejecute la regla de negocio en Calculation Manager y revise los mensajes de registro. Se muestran mensajes de registro en un nuevo separador una vez finalizada la regla, que se pueden exportar o guardar. Analizar los archivos de registro les permite identificar dónde se está invirtiendo el tiempo de cálculo.
  • Ejecute cada cálculo de un conjunto de reglas de forma individual en Calculation Manager y revise los mensajes de registro.
  • Utilice Calculation Manager en modo de depuración para depurar las reglas durante el desarrollo.
  • Si la regla de negocio utiliza CALCPARALLEL o FIXPARALLEL, especialmente al usar una de las funciones de asignación (@ALLOCATE o @MDALLOCATE), pruebe a eliminar el cálculo paralelo para ver si se ejecuta la regla y si mejora el rendimiento.
  • Asegúrese de que todos los datos necesarios (por ejemplo, el total de asignaciones) estén presentes y se calculen previamente según sea necesario antes de que se realice el cálculo.
  • En el caso de scripts largos, empiece a depurar desde arriba y continúe hacia abajo. Un problema al inicio del script puede provocar problemas más adelante. Realice la depuración sección por sección para asegurarse de que todos los datos se creen correctamente. Compruebe que las secciones posteriores del script no sobrescriban las secciones anteriores.

    Al depurar los scripts, tenga en cuenta la longitud de la sintaxis en cada pasada de cálculo. Si no está seguro de la parte del cálculo que falla, introduzca comentarios en las secciones, de uno en uno, desde la parte inferior y vuelva a ejecutar el cálculo hasta que se ejecute y genere los resultados correctos. En este punto, elimine los comentarios de las secciones de uno en uno, desde la parte superior del cálculo, y realice pruebas de cada uno de los cambios conforme avance.

  • Use el modo de depuración para asegurarse de que cada sección del script se calcule secuencialmente cuando sea necesario.
  • Para asegurarse de que todos los bloques se creen correctamente, borre manualmente los datos y vuelva a cargarlos. No use un script nuevo ya que así no se prueba correctamente la creación del bloque.
  • Pruebe siempre mediante la nueva ejecución de un script para garantizar que la sintaxis cree resultados correctos para los datos introducidos y rellenos.
  • Pruebe siempre todos los resultados de los datos con más de un juego de datos. En desarrollo, pruebe siempre cambiando los datos de entrada de un valor a otro y, a continuación, a #missing, y de #missing a un valor y, a continuación, a otro valor. Vuelva a ejecutar la regla para cada cambio y valide los resultados.
  • Cuando los datos introducidos por el usuario pueden cambiar los juegos de datos (por ejemplo, para asignaciones), pruebe los datos de cálculos de #missing a un valor y de un valor a #missing. Esto garantiza que se eliminen los resultados calculados previamente, si es necesario, durante las nuevas ejecuciones. Por ejemplo, si introduce datos para Product A, B y C en la primera ejecución, y para Product B, C y D (pero no A) en la segunda ejecución, el cambio del valor por #missing antes de la segunda ejecución garantiza que el resultado de la asignación para Product A se elimine correctamente en la segunda ejecución.