cobertura de la prueba para muchos y / o las condiciones en una declaración

Rajan:

Ejemplo declaración:

if (conditionA && conditionB && conditionC && conditionD) {
    return true;
}

Podría escribir pruebas unitarias para todas las combinaciones de 2 ^ 4, pero eso sería fácil salir de las manos si se añaden más condiciones.

¿Cuál debe ser mi estrategia de la unidad de pruebas para cubrir todas las condiciones para una declaración como esta? ¿Hay alguna otra manera de hacer el código más robusto?

Adam Bates:

La forma en que veo este escenario es 1 camino feliz, y 4 puntos potenciales de fallo. Si cada condición es fundamental para permitir cierto que ser devueltos, entonces sería razonable para escribir:

  1. Una prueba de unidad feliz-camino único, el único caso en el que la lógica retorna verdadero. Y
  2. Una unidad de prueba para cada variable que podría causar el cheque a fallar, afirmando que la única variable tiene el poder de evitar que la enfermedad que pasa.

Entiendo que es posible escribir la lógica que pasa estos controles, pero en realidad devuelve verdadero cuando múltiples variables son falsas ... pero realmente no me preocuparía por casos como el que a menos que usted está trabajando en una nave espacial o algo donde la vida / muerte es involucrado. En casi todos los casos, el probador está haciendo una prueba de que la aplicación no funciona en el fracaso de cualquier variable.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=171976&siteId=1
Recomendado
Clasificación