Cómo utilizar la automatización para la aplicación de las pruebas de la participación de los cálculos de alta complejidad?

StackOverflow https://stackoverflow.com/questions/545842

Pregunta

Quiero siguientes cosas para probar una aplicación que implica cálculos complejos:

  1. ¿Cómo utilizar las herramientas de automatización de pruebas para los cálculos de prueba? (Utilizando herramientas de automatización como herramientas QTP o de código abierto)
  2. ¿Cómo decidir la cobertura durante las pruebas de cálculos, cómo diseñar casos de prueba?

Gracias de antemano, Testmann

¿Fue útil?

Solución

Hemos tenido que probar algunos cálculos muy complejos en una aplicación que construimos. Para ello se utilizó una herramienta llamada FitNesse, que es un instrumento de prueba wiki (y de código abierto también). Funciona muy bien cuando usted le proporcione los datos en un formato de estilo de tabla.

Hemos tenido algo de código en C # que realizan algunos cálculos muy complejos. Así que lo que hicimos es decir escribió un arnés de prueba en FitNesse, y luego hemos suministrado con una gran cantidad de datos de prueba. Hemos trabajado muy duro para cubrir todos los casos, por lo que se utilizó un tipo de tabla de verdad interna para asegurar que estaban haciendo todas las combinaciones posibles de entrada de datos.

El instrumento de prueba FitNesse ha sido de gran valor para nosotros como la complejidad de los cálculos ha cambiado con el tiempo debido a los requisitos cambiantes. Hemos sido capaces de garantizar la exactitud de los cálculos porque nuestras pruebas FitNesse actúan como una suite de regresión muy agradable.

Otros consejos

A veces, hay que estimar la conclusión esperada y, a continuación, rellenar el caso de prueba de una ejecución del programa.

No se trata tanto de un pecado mortal, siempre y cuando usted está convencido de que es correcta. Esas pruebas serán entonces hacerle saber inmediatamente si un cambio de código rompe el código. Además, si se está probando un subconjunto, no es tan grande de un tramo de la confianza.

Y para la cobertura? Cubrir todas las ramas al menos una vez (es decir, cualquier caso o sentencias de bucle). Cubra cada umbral, ambos lados de la misma (por división de enteros que serían -1, 0, y 1 como denominadores). A continuación, añadir un poco más en una buena medida.

Para probar el código existente, se debe asumir que el código es (en su mayoría) correcta. Por lo que sólo le dan algunos datos, ejecutar y grabar el resultado. A continuación, utilice ese resultado registrado en un caso de prueba.

Al hacer el siguiente cambio, la salida debe cambiar también y la prueba fallará. Comparar el nuevo resultado con lo que cabría haber esperado. Si hay una discrepancia, entonces estás perdiendo algo -.> Escribir otra prueba para averiguar lo que está pasando

De esta manera, se puede construir conocimientos acerca de un sistema desconocido.

Cuando se le pregunta por la cobertura, supongo que no se puede crear datos de cobertura para los cálculos reales. En este caso, sólo asegúrese de que todos los cálculos se ejecutan y alimentarlos con varias entradas. Eso te dará una idea de cómo proceder.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top