Está en la página 1de 5

Comprobacin de Software

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
Francisco Silva Cern
Ingeniera de Sistemas e Informtica
Ciclo VII

Comprobacin de Software

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).
Francisco Silva Cern
Ingeniera de Sistemas e Informtica
Ciclo VII

Comprobacin de Software

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

Francisco Silva Cern


Ingeniera de Sistemas e Informtica
Ciclo VII

Comprobacin de Software

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.
Francisco Silva Cern
Ingeniera de Sistemas e Informtica
Ciclo VII

Comprobacin de Software

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.

Francisco Silva Cern


Ingeniera de Sistemas e Informtica
Ciclo VII

También podría gustarte