Caja Negra

8
Actividades y Ejercicios COMPROBACION DE SOFTWARE –2da. UNIDAD Caja negro y blanca En un documento en Word realice 3 ejemplos en los que la prueba de caja negra pueda dar la impresión de que «todo está bien», mientras que la prueba de caja blanca pudiera descubrir errores. Envía tu archivo a través de este medio. CAJA NEGRA En teoría de sistemas y física, 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 también podrían ser cajas negras) entendiendo qué es lo que hace, pero sin dar importancia a cómo 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 módulos que cumplan las características de caja negra será más fácil de entender ya que permitirá dar una visión más clara del conjunto. El sistema también será más robusto y fácil de mantener, en caso de ocurrir un fallo, éste podrá ser aislado y abordado más ágilmente. CAJA BLANCO un tipo de pruebas de software que se realiza sobre las funciones internas de un módulo. Así como las pruebas de caja

Transcript of Caja Negra

COMPROBACION DE SOFTWARE 2da. UNIDADActividades y Ejercicios

Caja negro y blancaEn un documento en Word realice 3 ejemplos en los que la prueba de caja negra pueda dar la impresin de que todo est bien, mientras que la prueba de caja blanca pudiera descubrir errores. Enva tu archivo a travs de este medio.

CAJA NEGRAEn 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 BLANCOun 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 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 estrictamentenecesarias, 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 al 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 NEGRASe 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). 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 BLANCALa 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 2Veamos 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 noNueva 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 lmite1. Buscar el carcter k en el ARRAY debe devolver FALSE2. Buscar el carcter k en el ARRAY k debe devolver TRUE3. Buscar el carcter k en el ARRAY j debe devolver FALSE4. Buscar el carcter k en el ARRAY kl debe devolver TRUE5. Buscar el carcter k en el ARRAY jk debe devolver TRUE6. 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 normales1. Buscar el carcter k en el ARRAY abc debe devolver FALSE2. Buscar el carcter k en el ARRAY jkl debe devolver TRUEPruebas 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 12Hay que aadir un caso adicional para pruebas de caja blanca:1. Buscar el carcter k en el ARRAY l debe devolver FALSECobertura 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. 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.