Pregunta

Cuando se utilizan el método de prueba de caja blanca llamada cobertura de condición múltiple, ¿tomamos todas las declaraciones condicionales o solo las que tienen múltiples condiciones? Ahora tal vez las pistas en el nombre, pero no estoy seguro.

Entonces, si tengo el siguiente método

void someMethod()
  {

      if(a && b && (c || (d && e)) )  //Conditional A
      {

      }

      if(z && q)   // Conditional  B
      {
      }

  }

¿Genero la tabla de verdad solo para "condicional A", o también hago B?

Gracias,

¿Fue útil?

Solución

Podría estar perdiendo algo aquí, pero, la forma en que escribió el código en su pregunta, las condiciones A y B son completamente independientes entre sí. Por lo tanto, no cubrirá todo el código a menos que pruebe ambos condicionales.

Otros consejos

Encontré lo siguiente en la cobertura de múltiples condiciones. Esto parece indicar que la cobertura de condición múltiple, como su nombre indica, solo se aplica a condicionales con múltiples declaraciones.

Entonces, para el siguiente condicional:

if ((a>0)&&(b<=4)&&(c>0))

Creamos lo siguiente

Test Case   a > 0   b <= 4    c > 0
MCC1        F        F         F
MCC2        F        F         T
MCC3        F        T         F
MCC4        F        T         T
MCC5        T        F         F
MCC6        T        F         T
MCC7        T        T         F
MCC8        T        T         T
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top