Caja Negro y Blanca

5

Click here to load reader

description

comprobación de software

Transcript of Caja Negro y Blanca

  • Comprobacin de Software

    Francisco Silva Cern Ingeniera de Sistemas e Informtica Ciclo VII

    CAJA NEGRO Y BLANCA CAJA NEGRA En teora de sistemas y fsica, se denomina caja negra a aquel 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. En otras palabras, de una caja negra nos interesar su forma de interactuar con el medio que le rodea (en ocasiones, otros elementos que tambin podran ser cajas negras) entendiendo qu es lo que hace, pero sin dar importancia a cmo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los detalles internos de su funcionamiento.

    Un sistema formado por mdulos que cumplan las caractersticas de caja negra ser ms fcil de entender ya que permitir dar una visin ms clara del conjunto. El sistema tambin ser ms robusto y fcil de mantener, en caso de ocurrir un fallo, ste podr ser aislado y abordado ms gilmente. CAJA BLANCO Un tipo de pruebas de software que se realiza sobre las funciones internas de un mdulo. As como las pruebas de caja negra ejercitan los requisitos funcionales desde el exterior del mdulo, las de caja blanca estn dirigidas a las funciones internas. Entre las tcnicas usadas se encuentran; la cobertura de caminos (pruebas que hagan que se recorran todos los posibles caminos de ejecucin), pruebas sobre las expresiones lgico-aritmticas, pruebas de camino de datos (definicin-uso de variables), comprobacin de bucles (se verifican los bucles para 0,1 e interacciones, y luego para las interacciones mximas, mximas menos uno y ms uno). Las pruebas de caja blanca se llevan a cabo en primer lugar, sobre un mdulo concreto, para luego realizar las de caja negra sobre varios subsistemas (integracin). En los sistemas orientados a objetos, las pruebas de caja blanca pueden aplicarse a los mtodos de la clase, pero segn varias opiniones, ese esfuerzo debera dedicarse a otro tipo de pruebas ms especializadas (un argumento podra ser que los mtodos de una clase suelen ser menos complejos que los de una funcin de programacin estructurada). Dentro de las Pruebas de Caja Blanca encontramos las llamadas coberturas (sentencia, decisin, condicin y mltiple adems de los mencionados caminos ciclomticos propuestos por McCabe) EJEMPLO 1 Aplicado a nuestro ecosistema. MODELO DE CAJA NEGRA: Si nos fijamos slo en las entradas y salidas de energa, materia, e informacin en el sistema, y no en sus elementos ni en las interacciones que se establecen

  • Comprobacin de Software

    Francisco Silva Cern Ingeniera de Sistemas e Informtica Ciclo VII

    entre ellos. Por tanto, no interesan los elementos del sistema ni sus interacciones. Utilizando la tierra como un sistema de caja negra, podemos considerarla como un sistema en el que entra y sale energa, la energa que entra es radiacin electromagntica (luz, etc.) y la energa que sale es radiacin infrarroja (calor) procedente de la superficie terrestre. La materia que entra procedente de un meteorito. Se trata de un sistema abierto que autorregula su temperatura, manteniendo una media de unos 15 C, lo cual permite la existencia de agua lquida y por tanto de vida.

    MODELO DE CAJA BLANCA O TRANSPARENTE: Si estudiamos no slo las entrada y las salidas del sistema, sino tambin los elementos del sistema y sus interacciones. Lo primero que hay que hacer es marcar las variables que lo componen y unirlas con flechas que las relacionen entres s, al disear un modelo debemos tener cuidado de incluir solamente las variaciones que sean estrictamente necesarias, ya que si aumenta mucho su nmero, se pierde claridad debido al complejo de entramado de las flechas que unen variables. Si analizamos la Tierra como un sistema de caja blanca, al ser un sistema complejo, cuando se elabora un modelo lo consideramos formado por la interaccin de 4 subsistemas: Atmsfera: capa ms externa del planeta en estado gaseoso. Hidrosfera: capa discontinua de agua que envuelve la superficie slida del planeta.

    Comprende fundamentalmente el agua lquida, continental y ocenica, y el hielo glacial, aunque una pequea cantidad forma parte de la atmsfera y de los seres vivos.

    Geosfera: de estructura rocosa. Es el sistema terrestre de mayor volumen, para nosotros presenta especial inters slo su parte ms externa o litosfera.

    Biosfera: sistema constituido por todos los seres vivos que habitan la Tierra y que ocupa la parte inferior de la atmsfera, la parte superior de la litosfera y una parte de la hidrosfera. La interaccin entre todos estos sistemas terrestres da como resultado la regulacin del clima.

    Lo primero que se hace es identificar las diferentes variables y relacionarlas entre s mediante flechas formando un diagrama causal. Cada variable se puede considerar como un subsistema del inicial y se puede entender como sistema caja negra. LA TIERRA COMO SISTEMA CAJA NEGRA Se considera como un modelo de sistema cerrado en el que entra y sale energa pero no materia (se desprecia la cantidad que puede llegar con los meteoritos).

  • Comprobacin de Software

    Francisco Silva Cern Ingeniera de Sistemas e Informtica Ciclo VII

    La energa entrante es radiacin electromagntica (luz solar visible mayoritariamente) La energa que sale es radiacin reflejada y radiacin infrarroja (calor) La Tierra es un sistema en equilibrio dinmico desde el punto de vista trmico (temperatura en torno a 15C). LA TIERRA COMO SISTEMA CAJA BLANCA La mquina climtica es el sistema que regula el clima planetario y est formada por un conjunto de subsistemas terrestres que interaccionan entre s: Atmsfera (A) Hidrosfera (H) Geosfera (G) Biosfera (B) y Criosfera (C) El clima terrestre S (clima) = A U H U B U G U C, es decir el clima es el resultado de la interaccin o acoplamiento de los subsistemas. El smbolo U representa esa interaccin. Dependiendo de cul sea el objetivo se incluyen ms o menos subsistemas: Para hacer predicciones meteorolgicas a muy corto plazo (horas o das) se considera S

    = A Para predicciones de cambios de clima ms lentos (1-10 aos), S = A U H U G Para predicciones a largo plazo (10 a100 aos), S = A U H U G U B U C Las predicciones a mayor plazo (miles o millones de aos) son complicadas porque

    incluyen desigual distribucin de tierras y mares y variaciones de la rbita terrestre. EJEMPLO 2 Veamos el plan de pruebas para el mtodo siguiente: publicboolean Busca ( char C, char V [ ] ) El procedimiento devuelve TRUE si C est en V,y FALSE si no Nueva versin de la especificacin:A este procedimiento se le proporciona un carcter C y un array V de caracteres. Se admitir cualquier carcter de 8bits de los representables en un PC con Java. El array podr tener entre 0 y 10.000 caracteres y deber estar ordenadoalfabticamente, en orden ascendente. Es admisiblecualquier cadena de caracteres. El procedimiento devuelveTRUE si C est en V, y FALSE si no. Pruebas de caja negra: valores lmite 1. Buscar el carcter k en el ARRAY debe devolver FALSE 2. Buscar el carcter k en el ARRAY k debe devolver TRUE 3. Buscar el carcter k en el ARRAY j debe devolver FALSE 4. Buscar el carcter k en el ARRAY kl debe devolver TRUE 5. Buscar el carcter k en el ARRAY jk debe devolver TRUE 6. Buscar el carcter k en el ARRAY de 10.000 a debe devolver FALSE( y pruebas

    referentes a la ordenacin del array) Pruebas de caja negra: valores normales 1. Buscar el carcter k en el ARRAY abc debe devolver FALSE 2. Buscar el carcter k en el ARRAY jkl debe devolver TRUE

  • Comprobacin de Software

    Francisco Silva Cern Ingeniera de Sistemas e Informtica Ciclo VII

    Pruebas de caja blanca:

    Si ejecutamos las pruebas anteriores marcandopor dnde vamos pasando sobre el cdigo, slo nos queda por probar la rama de la lnea 12 Hay que aadir un caso adicional para pruebas de caja blanca: 1. Buscar el carcter k en el ARRAY l debe devolver FALSE Cobertura del 100% de segmentos y de condiciones. Formalizacin del banco de pruebas: If (Busca(k, )) System.out.println(falla 1.1); If (!Busca(k, k)) System.out.println(falla 1.2); If (Busca(k, j)) System.out.println(falla 1.3); If (!Busca(k, kl)) System.out.println(falla 1.4); If (!Busca(k, jk)) System.out.println(falla 1.5); If (Busca(k, aaaa)) System.out.println(falla 1.6); If (Busca(k, abc)) System.out.println(falla 2.1); If (!Busca(k, jkl)) System.out.println(falla 2.2); If (Busca(k, l)) System.out.println(falla 3.1); EJEMPLO 3: Este es un ejemplo que se da en una situacin acadmica. Usted tiene 48 alumnos y decide ponerles un trabajo, se plantea dos opciones: Los alumnos realizan los trabajos de forma individual.

  • Comprobacin de Software

    Francisco Silva Cern Ingeniera de Sistemas e Informtica Ciclo VII

    Formar 8 grupos de 6 alumnos y que hagan el trabajo en grupo. Qu opcin requerir ms esfuerzo para el profesor? Quiz convengamos todos que requiere menos esfuerzo para el profesor tener 8 trabajos en grupo que 48 individuales. Vamos a aplicar el enfoque caja negra frente a caja blanca. El enfoque de caja negra para el trabajo en grupo. Se centra en el resultado del trabajo de los alumnos; evidentemente corregir 48 trabajos debe suponer ms esfuerzo que corregir 8, aunque estos ltimos sean ms completos y complejos que los individuales. Este planteamiento se centra en la calidad del trabajo conseguido y a partir del mismo deducir el esfuerzo realizado por los alumnos. El enfoque de caja blanca para el trabajo en grupo. Se centra en la participacin del profesor en el grupo de trabajo; en ese momento el rol del profesor es de asesor, supervisor, gua y suele actuar como un miembro ms del equipo, eso s, un miembro del equipo con mucha ms experiencia que el resto. Finalizado el trabajo en grupo su rol cambia a evaluador; en esa evaluacin se tiene en cuenta la calidad del trabajo, su planificacin, el reparto de tareas, la coordinacin, las responsabilidades asumidas por cada miembro del equipo, etc. En este planteamiento el profesor tiene que dedicar un tiempo considerable a cada grupo de trabajo; por tanto requiere ms esfuerzo atender a 8 grupos de 6 personas que limitarse a evaluar los 48 trabajos individuales.