Las pruebas de comparación elemental ( ECT ) son una metodología de diseño de pruebas de caja blanca y flujo de control utilizada en el desarrollo de software . [ 1 ] [ 2 ] El propósito de ECT es permitir pruebas detalladas de software complejo. El código o pseudocódigo del software se prueba para evaluar el manejo adecuado de todos los resultados de decisión. Al igual que con la cobertura de condiciones múltiples [ 3 ] y las pruebas de ruta base , [ 1 ] la cobertura de todas las condiciones independientes y aisladas se logra a través de la cobertura de condición/decisión modificada (MC/DC) . [ 4 ] Las condiciones aisladas se agregan en situaciones conectadas creando casos de prueba formales . La independencia de una condición se muestra cambiando el valor de la condición de forma aislada. Cada valor de condición relevante está cubierto por casos de prueba.
Caso de prueba
Un caso de prueba consiste en una ruta lógica a través de una o varias decisiones desde el inicio hasta el final de un proceso. Las situaciones contradictorias se deducen de la matriz de casos de prueba y se excluyen. El enfoque MC/DC aísla cada condición, ignorando todas las posibles combinaciones de subrutas y la cobertura de rutas. [ 1 ] dónde
- T es el número de casos de prueba por decisión y
- en el número de condiciones.
La decisiónconsiste en una combinación de condiciones elementales
La función de transiciónse define como
Dada la transición
la ruta de prueba aisladaconsta de
Gráfico de caso de prueba
Un grafo de casos de prueba ilustra todas las rutas independientes necesarias (casos de prueba) para cubrir todas las condiciones aisladas. Las condiciones se representan mediante nodos y los valores de las condiciones (situaciones) mediante aristas. Una arista conecta todas las situaciones del programa. Cada situación está conectada a una condición precedente y a una sucesiva. Los casos de prueba pueden superponerse debido a las condiciones aisladas.
Demostración inductiva de varias trayectorias de condiciones
El método de prueba de comparación elemental puede utilizarse para determinar el número de rutas de condición mediante una demostración inductiva.

Hayposibles combinaciones de valores de condición
Cuando cada condiciónestá aislado, el número de casos de prueba requeridospor decisión es:

hayaristas desde nodos padresyaristas a nodos hijos desde.
Cada condición individualconecta con al menos un camino desde el máximo posibleconectando conaislamiento.
Todas las condiciones anterioresy las rutas respectivas están aisladas. Por lo tanto, cuando se agrega un nodo (condición), el número total de rutas y casos de prueba necesarios, desde el principio hasta el final, aumenta en: QED
Pasos para el diseño de casos de prueba
- Identificar decisiones
- Determinar las situaciones de prueba por punto de decisión ( Cobertura de condición/decisión modificada )
- Crear matriz de casos de prueba lógicos
- Crear matriz de casos de prueba físicos
Ejemplo


Este ejemplo muestra ETC aplicado a un sistema de reservas de vacaciones. El sistema de descuentos ofrece vacaciones a precio reducido. Los descuentos ofrecidos son:para miembros o para vacaciones costosas,para vacaciones moderadas con salidas entre semana, yDe lo contrario, el ejemplo muestra la creación de casos de prueba lógicos y físicos para todas las condiciones aisladas.
Pseudocódigo
Si días > 15 o precio > 1000 o miembro , entonces devolver -0.2; de lo contrario, si (días > 8 y días ≤ 15 o precio ≥ 500 y precio ≤ 1000) y día laborable , entonces devolver -0.1 ; de lo contrario, devolver 0.0
Factores
- Número de días:
- Precio (euros):
- Tarjeta de membresía: ninguna; plata; oro; platino
- Fecha de salida: día laborable; fin de semana; festivo
posibles combinaciones (casos de prueba).
Ejemplo en Python :
Si días > 15 o precio > 1000 o miembro : devolver -0.2 elif ( días > 8 y días <= 15 o precio > = 500 y precio <= 1000 ) y día laborable : devolver -0.1 else : devolver 0.0Paso 1: Decisiones
Paso 2: Matriz MC/DC
Las diagonales resaltadas en la matriz MC/DC describen las condiciones aisladas: Todas las situaciones duplicadas se consideran probadas y se eliminan.
Paso 3: Matriz de casos de prueba lógicos
Los casos de prueba se forman rastreando las rutas de decisión. Para cada decisiónSe busca un subcamino siguiente y anterior hasta que cada camino conectado tenga un inicio.y un final:
Paso 4: Matriz de casos de prueba físicos
Los casos de prueba físicos se crean a partir de casos de prueba lógicos rellenando las representaciones de valores reales y sus respectivos resultados.
Gráfico de casos de prueba

En el gráfico de casos de prueba de ejemplo, todos los casos de prueba y sus condiciones aisladas están marcados con colores, y las rutas restantes se pasan implícitamente.
Véase también
Referencias
- 1 2 3 Lee Copeland (2004). Guía práctica para el diseño de pruebas de software , capítulo 10. Artech House Publishers, Norwood. ISBN 0140289712.
- ↑ "Todo sobre la prueba de comparación elemental | Testlearning" . www.testlearning.net . Consultado el 2 de septiembre de 2022 .
- ↑ Glenford J. Myers (2004). El arte de las pruebas de software, Segunda edición , pág. 40, John Wiley & Sons, Nueva Jersey. ISBN 0-471-46912-2.
- ↑ Tim Kroom (2006). TMap Next, para pruebas basadas en resultados , pág. 668. UTN Publishers, Rotterdam. ASIN B01K3PXI5U .
- Pruebas de software