¿Cuáles son las mejores prácticas para probar software matemático y científico?

Recogimos estos de Code Complete (Code Complete 2nd Edition) y algunas otras fuentes cuando lanzamos nuestro motor de cálculo de riesgos de mercado e informes. Ahora jura por ellos.

1. Funcionalidad de prueba de regresión automática que le permite ejecutar una prueba automática siempre que actualice su motor de cálculo.
2. Prueba de valores extremos y condiciones de contorno para todos los cálculos. Cree un conjunto de prueba de condición de límite e inclúyalo en su ejecución de prueba automática.
3. Crear un conjunto de datos de prueba de referencia para validar resultados en nuevas compilaciones y lanzamientos utilizando resultados establecidos y previamente validados.
4. Automatizar las comparaciones de salida para resaltar cualquier cambio en los valores de salida para una nueva compilación o lanzamiento en el conjunto de datos de referencia. Por ejemplo, tenemos 140 informes, algunos de ellos de hasta 15 páginas. Utilizamos una herramienta de comparación automática de PDF para resaltar la diferencia utilizando un conjunto de informes de referencia.
5. Construcciones diarias . No es específico del software científico, pero resalta los problemas al principio del ciclo de construcción y no más tarde.