Una ruta de decisión a decisión , o ruta DD , es una ruta de ejecución (normalmente a través de un gráfico de flujo que representa un programa, como un diagrama de flujo ) entre dos decisiones. Las versiones más recientes del concepto también incluyen las propias decisiones en sus propias rutas DD.
Definición
En el artículo de Huang de 1975, [1] una ruta de decisión a decisión se define como una ruta en el diagrama de flujo de un programa tal que se cumplen todas las siguientes condiciones (citando el artículo):
Su primer borde constituyente emana de un nodo de entrada o de un cuadro de decisión;
Su último borde constituyente termina en un cuadro de decisión o en un nodo de salida; y
No hay cuadros de decisión en el camino excepto aquellos en ambos extremos.
Los libros de texto más recientes de Jorgensen lo reformulan en términos de un gráfico de flujo de programa (llamado "gráfico de programa" en ese libro de texto). [2] Primero defina algunas nociones preliminares: cadena y cadena máxima. Una cadena se define como un camino en el que:
Los nodos iniciales y terminales son distintos y
Todos los nodos interiores tienen grado de entrada = 1 y grado de salida = 1.
Una cadena máxima es una cadena que no es parte de una cadena más grande.
Una ruta DD es un conjunto de nodos en un gráfico de programa tal que se cumple una de las siguientes condiciones (citando y manteniendo la numeración de Jorgensen, con comentarios agregados entre paréntesis): [2]
Consiste en un solo nodo con grado de entrada = 0 (nodo inicial)
Consiste en un solo nodo con grado de salida = 0 (nodo terminal)
Consiste en un solo nodo con grado de entrada ≥ 2 o grado de salida ≥ 2 (puntos de decisión/fusión)
Consiste en un solo nodo con grado de entrada = 1 y grado de salida = 1
De la última definición (de Jorgensen) podemos concluir lo siguiente:
Cada nodo de un gráfico de flujo de un programa pertenece a una ruta DD.
Si se recorre el primer nodo de una ruta DD, también se recorrerán todos los demás nodos de esa ruta.
El gráfico de ruta DD se utiliza para encontrar una ruta independiente para realizar pruebas.
Cada instrucción del programa se ha ejecutado al menos una vez.
Prueba de ruta DD
Según el libro de texto de Jorgensen de 2013, la prueba de ruta DD es el método de prueba basado en código más conocido, incorporado en numerosas herramientas comerciales. [2]
^ Huang, JC (septiembre de 1975). "Un enfoque para la prueba de programas". Computing Surveys . 7 (3): 118–119. doi :10.1145/356651.356652.
La definición que se da allí cita: "Sistema de verificación automatizada Fortran Nivel 1 — guía del usuario, Proyecto de Validación de Programas, General Research Corp., octubre de 1974".
^ abcd Paul C. Jorgensen (2013). Pruebas de software: un enfoque artesanal, cuarta edición . CRC Press. págs. 136-137. ISBN978-1-4665-6068-0.
^ Judith A. Clapp; Saul F. Stanten; WW Peng; DR Wallace; Deborah A. Cerino; Roger J. Dziegiel Jr. (1995). Control de calidad de software, error, análisis . William Andrew. págs. 347–348. ISBN978-1-4377-4484-2.
^ JC Huang (2009). Detección de errores de software mediante pruebas y análisis . John Wiley & Sons. págs. 164-165. ISBN978-0-470-46405-2.