Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca.

Slides:



Advertisements
Presentaciones similares
TECNICAS DE PRUEBA DEL SOFTWARE
Advertisements

ISF5501 Ingeniería de Software
Las Pruebas del Software y sus Fundamentos
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
Lenguaje de programación: Lua Fundamentos de lenguaje de programación. Iván Cardemil Patricio Tudela Camilo Rojas Llosect Moscoso.
ENFOQUE PRÁCTICO RECOMENDADO PARA EL DISEÑO DE CASOS Integrantes del equipo: Rosa Isela Gerónimo Miguel Ángel Cruz Juan Guadalupe Alegría Humberto Mendoza.
Diseño de esquema de pruebas Analisis y Diseño 2 Segundo Semestre 2008 Victor Leonel Orozco
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
¿Qué es y cómo se clasifica?. El software es un conjunto de programas y aplicaciones que forman el sistema informático (datos y programas de la computadora),
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Sistema de Información Gerencial - ERP(Planificación de recursos empresariales) Rolando Espinosa Annie Williams Joel Nieto
Nombre José Francisco Luna Jurado Matricula Asignatura
Herencia Multiple en Java
Ingreso , proceso y salida de datos
Clases y Objetos.
Visual ITP y Web ITP Raquel Sánchez Díaz Universidad de Salamanca.
Convenciones de nomenclatura y diseño
Diseño de interfases Sistemas de Información
Flujo de trabajo: Requerimientos
ACCESIBILIDAD WEB.
Tratamiento de Datos Capitulo Dos.
PHP Hypertext Preprocessor
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Polimorfismo subtipado
Programación Orientada a Eventos
U.T. 11: Introducción A Las Bases De Datos
Conceptos y definición básicos
PSEUDOCÓDIGO Prof. Rafael Mourglia.
Programación orientada a objetos
PRUEBA DIAGNÓSTICA GRADO SEXTO TECNOLOGÍA E INFORMÁTICA 1
CREAR DIAGRAMA DE FLUJO
Tema 3. Lenguaje unificado de modelado UML
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Lenguaje y representación técnica
LÓGICA DE PROGRAMACIÓN
Tipos de pruebas Hector Leonardo Arias.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Tema 1 El entorno de desarrollo de C#
INTRODUCCIÓN A JAVA.
Ingeniería del Software
EL SISTEMA OPERATIVO Es un conjunto de programas hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora.
HERRAMIENTAS DE PROGRAMACIÓN
Unidad 5: Evaluación de los sistemas
Ciclo de vida del Software
computadora Hoy en día resulta común encontrar máquinas electrónicas en todos los ambientes: las cajas registradoras en los mercados, los cajeros.
Programación lógica y funcional Unidad I Conceptos fundamentales.
Identificación y Clasificación de los Componentes Reutilizables.
Identificación y Clasificación de los Componentes Reutilizables.
El entorno de Desarrollo de Dev-C++
Pruebas República Bolivariana de Venezuela
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
Arquitectura Aplicaciones Web
INSTITUTO TECNOLOGICO DE VERACRUZ 1.5 El proceso de simulación
PROGRAMACIÓN ORIENTADA A OBJETOS ING. HEMERSON VILLACORTA M.
RESUMEN Este documento se especializa en la información necesaria para comprender de manera correcta la funcionabilidad de nuestro sistema de cancelaciones.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
DIAGRAMAS DE FLUJO. D I A G R A M A DE F L UJ O EL DI AGRAMA DE FLUJO ES LA REPRESENTACIÓN GRÁFICA DE DICHA SE CUENCIA DE INSTRUCCIONES QUE CONFORMAN.
Desarrollo de Sistemas de Información Contable - Sis USB 1 METODOLOGIAS DE DESARROLLO DE SOFTWARE.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Objetivo Que el estudiante estructure soluciones mediante una representación grafica a través de diagramas de flujos aplicando diferentes estructuras.
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

Pruebas de Funcionalidad de 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.

Comprobación: Si el vendedor nos dijera que podemos destapar la máquina comprobaríamos su funcionamiento interno: Caja Negra Caja Blanca

Caja negra  Elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno.  Qué es lo que hace, pero sin dar importancia a cómo lo hace.  Define las entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los detalles internos de su funcionamiento."

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.

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ódigo fuente).  Se proporcionan las entradas y se verifican las salidas.  No se enfoca en lo que el ejecutable haga internamente, ya que no hay acceso al código fuente del ejecutable.  Verificarquelasalidaeslaesperada,segúnlos requerimientosbajoloscualeselejecutablefue implementado.

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).

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.

Técnicas usadas en Caja blanca  La cobertura de caminos (pruebas que hagan que se recorran todos los posibles caminos de ejecución).  Pruebas sobre las expresiones lógico-aritméticas.  Pruebas de camino de datos (definición-uso de variables).  Comprobación de bucles (se verifican los bucles para 0, 1 y n iteraciones, y luego para las iteraciones máximas, máximas menos uno y más uno.

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 negra sobre varios subsistemas (integración).  En los sistemas orientados a objetos, las pruebas de caja blanca pueden aplicarse a los métodos de la clase, pero según varias opiniones, ese esfuerzo debería dedicarse a otro tipo de pruebas más especializadas (un argumento podría ser que los métodos de una clase suelen ser menos complejos que los de una función de programación estructurada).  Puede utilizar recursos como el Debugging.  En pruebas de Caja Blanca, puedo proveer la solución a cualquier desperfecto que se encuentre en el código a la hora de probar, o reportar a los desarrolladores la solución al desperfecto y no solo la existencia del mismo.

Ejemplos: Losejemplostípicosdeestatipodepruebassonlas 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.

Herramientas más utilizadas  Junit: Entorno de pruebas para Java.  PHPunit: Entorno de pruebas para el lenguaje PHP.  Nunit: Entorno de pruebas para.NET.

Ventajas y desventajas  Para la Caja Negra se requiere menos habilidad técnica, menos tiempo y menos herramientas. Por ende, menos costo. Pero solo permite detectar errores y 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 que se 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, ambientes de pruebas, etc). Pero, a cambio, provee la solución a los desperfectos que pueden encontrarse durante la fase de pruebas.

Gracias..!