Caja Negro y Blanco

Actividades y Ejercicios COMPROBACION DE SOFTWARE–2da. UNIDAD Caja negro y blanca En un documento en Word realice 3 eje

Views 81 Downloads 0 File size 174KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 negra ejercitan los requisitos funcionales desde el exterior del módulo, las de caja blanca están dirigidas a las funciones internas. Entre las técnicas usadas se encuentran; 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 e interacciones, y luego para las interacciones máximas, máximas menos uno y más uno). 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 1 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,

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). Dentro de las Pruebas de Caja Blanca encontramos las llamadas coberturas (sentencia, decisión, condición y múltiple además de los mencionados caminos ciclomáticos propuestos por McCabe)

EJEMPLO 1 Aplicado a nuestro ecosistema. MODELO DE CAJA NEGRA: Si nos fijamos sólo en las entradas y salidas de energía, materia, e información 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 energía, la energía que entra es radiación electromagnética (luz, etc.) y la energía que sale es radiación 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 líquida y por tanto de vida.

MODELO DE CAJA BLANCA O TRANSPARENTE: Si estudiamos no sólo las entrada y las salidas del sistema, sino también 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 diseñar un modelo debemos tener cuidado de incluir solamente las variaciones que sean estrictamentenecesarias, ya que si aumenta mucho su número, 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 interacción de 4 subsistemas:  Atmósfera: capa más externa del planeta en estado gaseoso.  Hidrosfera: capa discontinua de agua que envuelve la superficie sólida del planeta. Comprende fundamentalmente el agua líquida, continental y oceánica, y el hielo glacial, aunque una pequeña cantidad forma parte de al atmósfera y de los seres vivos.  Geosfera: de estructura rocosa. Es el sistema terrestre de mayor volumen, para nosotros presenta especial interés sólo su parte más externa o litosfera. 2 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,

 Biosfera: sistema constituido por todos los seres vivos que habitan la Tierra y que ocupa la parte inferior de la atmósfera, la parte superior de la litosfera y una parte de la hidrosfera. La interacción entre todos estos sistemas terrestres da como resultado la regulación 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 energía pero no materia (se desprecia la cantidad que puede llegar con los meteoritos). • La energía entrante es radiación electromagnética (luz solar visible mayoritariamente) • La energía que sale es radiación reflejada y radiación infrarroja (calor) • La Tierra es un sistema en equilibrio dinámico desde el punto de vista térmico (temperatura en torno a 15ºC). LA TIERRA COMO SISTEMA CAJA BLANCA La máquina climática es el sistema que regula el clima planetario y está formada por un conjunto de subsistemas terrestres que interaccionan entre sí: Atmósfera (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 interacción o acoplamiento de los subsistemas. El símbolo U representa esa interacción. Dependiendo de cuál sea el objetivo se incluyen más o menos subsistemas:  Para hacer predicciones meteorológicas a muy corto plazo (horas o días) se considera S = A  Para predicciones de cambios de clima más lentos (1-10 años), S = A U H U G  Para predicciones a largo plazo (10 a100 años), S = A U H U G U B U C  Las predicciones a mayor plazo (miles o millones de años) son complicadas porque incluyen desigual distribución de tierras y mares y variaciones de la órbita terrestre. EJEMPLO 2 Veamos el plan de pruebas para el método siguiente: 3 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,

publicboolean Busca ( char C, char V [ ] ) El procedimiento devuelve TRUE si C está en V,y FALSE si no Nueva versión de la especificación:A este procedimiento se le proporciona un carácter C y un array V de caracteres. Se admitirá cualquier carácter de 8bits de los representables en un PC con Java. El array podrá tener entre 0 y 10.000 caracteres y deberá estar ordenadoalfabéticamente, 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 límite 1. 2. 3. 4. 5. 6.

Buscar el carácter “k” en el ARRAY “” debe devolver FALSE Buscar el carácter “k” en el ARRAY “k” debe devolver TRUE Buscar el carácter “k” en el ARRAY “j” debe devolver FALSE Buscar el carácter “k” en el ARRAY “kl” debe devolver TRUE Buscar el carácter “k” en el ARRAY “jk” debe devolver TRUE Buscar el carácter “k” en el ARRAY de 10.000 “a” debe devolver FALSE(… y pruebas referentes a la ordenación del array)

Pruebas de caja negra: valores normales 1. Buscar el carácter “k” en el ARRAY “abc” debe devolver FALSE 2. Buscar el carácter “k” en el ARRAY “jkl” debe devolver TRUE Pruebas de caja blanca:

Si ejecutamos las pruebas anteriores marcandopor dónde vamos pasando sobre el código, sólo nos queda por probar la rama de la línea 12 4 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,

Hay que añadir un caso adicional para pruebas de caja blanca: 1. Buscar el carácter “k” en el ARRAY “l” debe devolver FALSE Cobertura del 100% de segmentos y de condiciones. Formalización 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 situación académica. 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é opción requerirá más 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 más esfuerzo que corregir 8, aunque estos últimos sean más 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 participación del profesor en el grupo de trabajo; en ese momento el rol del profesor es de 5 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,

asesor, supervisor, guía y suele actuar como un miembro más del equipo, eso sí, un miembro del equipo con mucha más experiencia que el resto. Finalizado el trabajo en grupo su rol cambia a “evaluador”; en esa evaluación se tiene en cuenta la calidad del trabajo, su planificación, el reparto de tareas, la coordinación, 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 más esfuerzo atender a 8 grupos de 6 personas que limitarse a evaluar los 48 trabajos individuales.

6 INGENIERIA DE SISTEMAS E INFORMATICA Edwin Antonio

-

Alumno : Castro Rosado,