viernes, 12 de abril de 2013

Téc D P - Caja Blanca - Cobertura de Decisión (K4).



Objetivos:
  1. Describir el concepto y el valor de la cobertura de código (K2).
  2. Explicar los conceptos de sentencia y cobertura de decisión y explicar por qué estos conceptos pueden utilizarse también en niveles de prueba que no sean pruebas de componente (por ejemplo, en procedimientos de negocio a nivel de sistema)(K2).
  3. Escribir casos de prueba a partir de flujos de control de datos utilizando técnicas de diseño de pruebas de decisión y sentencia (K3).
  4. Evaluar la cobertura de sentenca y decisión para la integridad por lo que respecta a los criterios de salida definidos (K4).
Términos usados en este artículo: COBERTURA DE CÓDIGO, COBERTURA DE DECISIÓN, COBERTURA DE SENTENCIA, PRUEBAS BASADAS EN LA ESTRUCTURA.

Explicando la cobertura de decisión ("decision coverage").
  • En lugar de las sentencias , la cobertura de decisión de centra en el flujo de control en un segmento de programa (no los nodos sino las aristas del diagrama de flujo de control).

  1. - Todas las aristas del diagrama de flujo de control tiene que ser cubiertas al menos una vez.
  2. - ¿Qué casos de pruebas son necesarias para cubrir cada arista del diagrama de flujo de control al menos una vez?.

  • El propósito de esta prueba (criterio de salida) es lograr la cobertura de un porcentaje específico de todas las decisiones, denominado cobertura de decisión (C1 cobertura de decisión - "decision coverage" ; cobertura de rama - "branch coverage").

Cobertura de decisión C1 = Número de decisiones ejecutadas * 100%

                                                                      ------------------------------------------------

                                     Número total de decisiones
Es sinónimo de:

Cobertura de decisión C1 = Número de decisiones ejecutadas - 100%
                                                                      ------------------------------------------------
                                     Número total de decisiones
Ejemplo 1: 




    El gráfico ("diagrama") de flujo de control (imagen de arriba) representa el segmento de un programa de objeto de la evaluación.

    Tres caminos diferentes conducen a través del diagrama de este segmento de programa.
    1. La primera sentencia "if" conduce a dos direcciones diferentes.
    2. Un camino de la priemra sentencia "if" se divide nuevamente en dos caminos diferentes, uno de los cuales contiene un bucle.
    3. Solamente se puede alcanzar todas las aristas a través de una combinación de los tres caminos posibles.
    4. Son necesarios tres casos de prueba para alcanzar una cobertura de decisión del 100%.
    5. Utilizando solamente las dos direcciones de la derecha, pueden ser cubiertas nueve de diez aristas (C1 = 90%).
    Ejemplo 2:



    En este ejemplo el gráfico ("diagrama") es ligeramente más complejo.

    Cuatro "caminos" diferentes conducen a través del segmento de programa.
    1. La primera sentencia "if" permite dos direcciones.
    2. En ambas ramas de la sentencia "if" otra sentencia "if" permite nuevamente dos direcciones diferentes.
    3. En este ejemplo, el bucle no se cuenta como una decisión adicional.
    4. Utilizando sólo un caso de pruebas, pueden ser cubiertas; de 15 aristas. Esto resulta en un valor de C1 = 46, 67%.
    5. Son necesarios cuatro casos de pruebas para lograr una cobertura de decisión de 100%.
    6. En este ejemplo , son necesarias el mismo conjunto de casos de prueba para lograr una cobertura de sentencia del 100%.

    No hay comentarios:

    Publicar un comentario