Software caja negra y caja blanca

14
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre

Transcript of Software caja negra y caja blanca

Page 1: Software caja negra y caja blanca

Pruebas de Funcionalidad

de Software:

Caja Negra y

Caja Blanca

Curso: Diseño de

Sistemas9no. Semestre

Page 2: Software caja negra y caja blanca

ANALOGÍA DEL CONCEPTO DE CAJA NEGRA Y CAJA

BLANCA

Un vendedor quiere ofrecernos una máquina

que al momento de ingresarle cualquier

cantidad de dinero, sale el doble de la cantidad

ingresada. ¿Cómo comprobamos que sirve?

OTRO EJEMPLO

RETROEXCAVADORA:

Caja Negra? Probar Excavar.

Caja Blanca? No excava porque se

quedó sin combustible, cable

desconectado, descarga de batería.

Page 3: Software caja negra y caja blanca

Comprobación:

Si el vendedor nos dijera que podemos destapar la máquina

comprobaríamos su funcionamiento interno:

Caja

Negra

Caja

Blanca

Page 4: Software caja negra y caja blanca

Caja negra

Elemento que es estudiado desde el punto de vista delas entradas que recibe y las salidas o respuestas queproduce, sin tener en cuenta su funcionamientointerno.

Qué es lo que hace, pero sin dar importancia a cómolo hace.

Define las entradas y salidas, es decir, su interfaz; encambio, no se precisa definir ni conocer losdetalles internos de su funcionamiento."

Page 5: Software caja negra y caja blanca

Caja negra

Es el estudio de un módulo o elemento de un

sistema, desde su parte externa.

Estudia de qué forma las entradas y salidas de

un módulo interactúan y funcionan con otros

módulos cercanos.

Page 6: Software caja negra y caja blanca

Técnicas usadas en

Caja negra

Disponible el Ejecutable, el DLL, el JAR, el Lib, el Bin,o cualquier archivo ejecutable (que no sea códigofuente).

Se proporcionan las entradas y se verifican las salidas.

No se enfoca en lo que el ejecutable hagainternamente, ya que no hay acceso al código fuentedel ejecutable.

Verificar que la salida es la esperada, según losrequerimientos bajo los cuales el ejecutable fue

implementado.

Page 7: Software caja negra y caja blanca

Ejemplos:

Ejemplos típicos de pruebas de caja negra son la

comprobación de valores límite (por ejemplo que se

permita sólo valores positivos), pruebas de integridad

de la base de datos (comprobar que los datos

ingresados a una tabla sean los correctos), pruebas de

situaciones de excepción (comprobar que al momento

de un error se muestre el error y permita regresar al

programa), o pruebas de rendimiento del sistema

(comprobar si al momento de cargar cierta cantidad de

datos el sistema no se pone lento).

Page 8: Software caja negra y caja blanca

Caja Blanca

En programación, se denomina caja

blanca a un tipo de pruebas de software

que se realiza sobre las funciones

internas de un módulo.

Las pruebas de caja blanca están

dirigidas a las funciones internas.

Page 9: Software caja negra y caja blanca

Técnicas usadas en

Caja blanca

La cobertura de caminos (pruebas que haganque se recorran todos los posibles caminos deejecución).

Pruebas sobre las expresiones lógico-aritméticas.

Pruebas de camino de datos (definición-uso devariables).

Comprobación de bucles (se verifican los buclespara 0, 1 y n iteraciones, y luego para lasiteraciones máximas, máximas menos uno y másuno.

Page 10: Software caja negra y caja blanca

Técnicas usadas en

Caja blanca

Las pruebas de caja blanca se llevan a cabo en primer lugar,sobre un módulo concreto, para luego realizar las de caja negrasobre varios subsistemas (integración).

En los sistemas orientados a objetos, las pruebas de caja blancapueden aplicarse a los métodos de la clase, pero según variasopiniones, ese esfuerzo debería dedicarse a otro tipo de pruebasmás especializadas (un argumento podría ser que los métodos deuna clase suelen ser menos complejos que los de una función deprogramación estructurada).

Puede utilizar recursos como el Debugging.

En pruebas de Caja Blanca, puedo proveer la solución a cualquierdesperfecto que se encuentre en el código a la hora de probar, oreportar a los desarrolladores la solución al desperfecto y no solola existencia del mismo.

Page 11: Software caja negra y caja blanca

Ejemplos:

Los ejemplos típicos de esta tipo de pruebas son las

pruebas unitarias, entre éstas se puede citar:

Evaluar si el funcionamiento de cada uno de los

métodos de una clase se comporta como se espera.

Cuando una parte del código ha sido modificado y se

desea ver que el nuevo código cumple con los

requerimientos anteriores y que no se ha alterado su

funcionalidad después de la nueva modificación.

Si existen variables o librerías inutilizables.

Page 12: Software caja negra y caja blanca

Herramientas más

utilizadas

Junit: Entorno de pruebas para

Java.

PHPunit: Entorno de pruebas

para el lenguaje PHP.

Nunit: Entorno de pruebas para

.NET.

Page 13: Software caja negra y caja blanca

Ventajas y desventajas

Para la Caja Negra se requiere menos habilidadtécnica, menos tiempo y menos herramientas. Porende, menos costo. Pero solo permite detectar erroresy fallos pero no se acerca a la solución de éstos.

Para la Caja Blanca se requiere más habilidad técnica(en específico, habilidad con la tecnología con la quese implementó lo que se está probando), más tiempo(porque son más rigurosas) y más herramientas(requiere IDE's más poderosos, debuggers, ambientesde pruebas, etc). Pero, a cambio, provee la solución alos desperfectos que pueden encontrarse durante lafase de pruebas.

Page 14: Software caja negra y caja blanca

Gracias..!