martes, 10 de noviembre de 2015

Pruebas de Caja Negra

La prueba de caja negra lo que permite obtener es un conjunto de condiciones de entrada para así poder probar los funcionamientos de un sistema. A diferencia de la caja blanca que se enfoca en analizar cada uno de los caminos que puede recorrer el programa y ver qué hace en cada uno de ellos, en la caja negra, como bien dice su nombre, no se va a poder observar qué es lo que ocurre dentro de la caja (programa), sólo se va a poder observar qué es lo que entra y qué es lo que sale. Es debido a esto que este tipo de pruebas tienen ese nombre, y podría considerarse que son complementarias entre si, normalmente llevando a cabo primero la de caja blanca y después la de caja negra.

La utilidad de las pruebas de caja negra es bastante notoria, y dentro de las utilidades que ofrece, se encuentra el encontrar:
  • Funciones incorrectas o ausentes.
  • Errores de interfaz.
  • Errores en estructuras de datos o en accesos a las Bases de Datos externas.
  • Errores de rendimiento.
  • Errores de inicialización y terminación.
Dentro de las pruebas de caja negra, existen principalmente 4 técnicas para llevarlas a cabo:
  • Método Gráfico.
  • Partición Equivalente.
  • Análisis de Valores Límite.
  • Tabla Ortogonal
Método Gráfico.

El método gráfico de caja negra, como bien dice su nombre se basa en tomar el programa en cuestión y hacer una representación gráfica del mismo, con la diferencia respecto a la caja blanca, de que aquí el enfoque va a ser principalmente a los objetos que conforman el programa y lógicamente, las entradas y las salidas.

Existen 5 tipos de modelados que se pueden utilizar en esta técnica, los cuales son:
  • Modelado del flujo de transacción: Los nodos representan los pasos de alguna transacción, y los enlaces representan las conexiones lógicas entre los pasos.
  • Modelado de estado finito: Los nodos representan diferentes estados del software observables por el usuario, y los enlaces representan las transiciones que ocurren para moverse de estado a estado.
  • Modelado de flujo de datos: Los nodos son objetos de datos y los enlaces son las transformaciones que ocurren para convertir un objeto de datos en otro.
  • Modelado de Planificación: Los nodos son objetos de programa y los enlaces son las conexiones secuenciales entre esos objetos. Los pesos de enlace se usan para especificar los tiempos de ejecución requeridos al ejecutarse el programa.
  • Gráfica Causa-efecto: La gráfica Causa-efecto representa una ayuda gráfica en seleccionar, de una manera sistemática, un gran conjunto de casos de prueba. Tiene un efecto secundario beneficioso en precisar estados incompletos y ambigüedades en la especificación. Un gráfico de causa- efecto es un lenguaje formal al cual se traduce una especificación.
Con estos 5 tipos de modelados, es posible utilizar la técnica del método gráfico de una manera versátil y así permitir que se adapte a nuestras necesidades.

Partición Equivalente.

Lo que se hace en esta técnica, es dividir los datos de entrada en clases de equivalencia, esto quiere decir que dependiendo del tipo de dato que teóricamente acepta el programa, se creen clases de equivalencia de datos que sean válidos para lo que está esperando el programa e inválidos para el mismo:
  1. Si una condición de entrada específica un rango de datos, existen 3 clases de equivalencia; dentro del rango (válido), debajo del rango (inválido) y por encima del rango (inválido).
  2. Si la condición de entrada especifica un valor, existen 3 clases de equivalencia; el valor (válido), debajo del valor (inválido) y por encima del valor (inválido).
  3. Si la condición de entrada especifica a un miembro de un conjunto, existen 2 clases de equivalencia; dentro del conjunto (válido) y fuera del conjunto (inválido).
  4. Si la condición es booleana, existen 2 clases de equivalencia, verdadero y falso.

Análisis de Valores Límite.

Como dice su nombre, esta técnica maneja los valores límite que puede aceptar el programa, de cierta forma es algo similar a la partición equivalente, nada más que en este caso los datos de entrada con los que se trabajan se encuentran al borde de lo que puede aceptar el programa antes de provocar un error en su funcionamiento (aunque también puede utilizar los que están fuera de lo que puede aceptar, pero se acercan a ello), por ejemplo si un programa aceptara valores desde 1 hasta 10, el análisis de valores límite crearía los casos de prueba en base a los valores límite, es decir, tomando como datos 1 y 10, además de posiblemente, un 0.99 y un 10.1111, dado que así probaría los valores límite de la clase de equivalencia inválida para el programa.

Una característica que no debe olvidarse es que como se observó, en esencia se puede decir que el análisis de valores límite lo que hace es probar los extremos de cada clase de equivalencia que se podrían obtener para el programa.

Tabla Ortogonal.

Existen programas en donde el número de parámetros de entrada es pequeño y los valores de cada uno de los parámetros está claramente delimitado (es decir, no sé tiene que lidiar con un gran rango de posibilidades de datos de entrada). Cuando estas posibilidades son muy pocas, la prueba de tabla ortogonal permite proporcionar una buena cobertura de pruebas con bastantes menos casos de prueba que en la estrategia exhaustiva, esto debido más que otra cosa a que resultaría innecesario llevar a cabo una precisamente porque las posibilidades de entrada y salida del programa son muy pocas.

Fuentes:

http://www.innosupport.net/index.php?id=2084&L=6

http://www.innosupport.net/index.php?id=2080&L=6

http://www.ecured.cu/index.php/Pruebas_de_caja_negra

http://avanzada.idict.cu/index.php/avanzada/article/view/357

No hay comentarios.:

Publicar un comentario