MAÑANA TENGO EXAMEN: "Caja Blanca/Cristal" y "Caja Negra"...

Pues como dice el titulo mañana tengo examen de una asignatura llamada ADAI (Analisis y Diseño de Aplicaciones Informaticas) del curo DAI 1 (Desarrollo de Aplicaciones Informaticas, modulo superior de informatica).

El examen va sobre: Las cajas Negras y Las Cajas Blancas/Cristal... Para ser mas exactos el temario se llama "Pruebas del software y Control de Calidad".
Pero Bien me he leido el tema (el mas corto de todos lo que he dado en estos ultimos 3 años xD) y me quedo igual... Osea no me dan ejemplos ni ejercicios ni nada de nada y no se por donde tirar ni que me va a preguntar ni para que me sirve en la practica una caja blanca o una caja negra... ¿para encontrar fallos? Eso est claro pero ¿como?.


He adjuntado el PDF de mi temario por si le quereis hechar un vistazo (8 Paginas)... Haber si me podeis orientar o ayudar a hacer ejemplos graficos porque mañana me van a poner un examen y no se que piensa preguntarme o ponerme en este ni como resolverlos... Esque soy asi hasta que no ve el uso practico de algo y lo uso por mi mismo me es muy abstracta la cosa y no lo termino de cojer...

Gracias.

Adjuntos

unidad7.pdf (140.49 KB)

Unidad 7: Caja Blanca y Caja Negra.
Caja blanca - tienes acceso al código, luego pruebas datos que sepas que recorren todas las alternativas (Que se evalue a cierto un if en un caso, y luego a falso en otro).

Caja negra - no tienes acceso al código, luego los casos de prueba debes repartirlos en conjuntos que mas o menos presentan el mismo comportamiento.
p.ej. tienes una función que calcula el factorial, pues deberias probarla para números negativos (debería de dar error),y números positivos.

Esto es muy a groso modo, hay mucha teoria detras de esto, pero creo que con esa explicación basta.
Tienes que probar datos validos, pero también datos no validos, y ver como reacciona el módulo.
demnim escribió:Caja blanca - tienes acceso al código, luego pruebas datos que sepas que recorren todas las alternativas (Que se evalue a cierto un if en un caso, y luego a falso en otro).

Caja negra - no tienes acceso al código, luego los casos de prueba debes repartirlos en conjuntos que mas o menos presentan el mismo comportamiento.
p.ej. tienes una función que calcula el factorial, pues deberias probarla para números negativos (debería de dar error),y números positivos.

Esto es muy a groso modo, hay mucha teoria detras de esto, pero creo que con esa explicación basta.
Tienes que probar datos validos, pero también datos no validos, y ver como reacciona el módulo.


Vale asi a modo de teoria abstracta lo entiendo pero, mañana cuando llegue al examen y me de una simple hoja de papel y me digan saca el boli y haz el ejercicio que este escrito que crees que habra en el sabiendo que va a ser de caja blanca y caja negra...

Es decir "No vamos a usar un pc y probar la calculadora escribiendo el numero" solo tenemos "un papel y un boli"...
pues si te ponen algo como

funcion factorial(n)
if(n<0) error;
if(n>0) return n*factorial(n-1)
return 1;

Caja negra, se lo que la funcion debe retornar, no tengo ni idea de como debe ser por dentro, pero sabiendo lo que la función hace puedo predecirlo
el factorial de 0 también se que es 1
el factorial de cualquier numero mayor que 1 se calcula haciendo no se qué, el programa saca esa salida
el factorial de cualquier número menor que cero debe dar error.

luego que deberias probar pues el caso de n=0, coger algunos casos de n>'0 como n=4 y n=27 y comparar la salida del programa con lo que debe dar en verdad y luego ver que si le metes n<0 peta, por ejemplo n=-1 o cosas así.

Caja blanca, propongo algún caso que cubra las alternativas

n = 4 cumple el if, luego la funcion debe retornar factorial(4)
n = 0 no cumple el primer if, la funcion debe retornar 1 (la definición natural de factorial de 0)
n < 0 no es una entrada valida, cumple el primer if y retorna error.

(Para seleccionar un conjunto de casos de prueba debes fijarte en como lo hace el código, a ver si puedes forzar cosas raras).
A ver CAJA NEGRA:

Como bien te han dicho son pruebas que se hacen sin saber el codigo que anda debajo, pero tu sabes las salidas que te deberia dar la aplicacion, script etc.. Las pruebas en general se basan en realizar pruebas de valores limite, valores fuera de rango (intentar que casque por algun lado)

Imaginate que te dan una aplicacion, de la cual desconoces el codigo que tiene debajo, tu sabes las salidas que te deberia dar el programa pero tienes que hacer prubas para intentar que casque.

Caja Blanca, como bien te han dicho tienes acceso al codigo, y puedes hacer las pruebas mas exactas pasando por todos los caminos del codigo (if's case's etc...).
Ya tube el examen y esto idiota... el examen mas facil de todo el curso... solo 2 preguntas!, cada uno 5 puntakos....

Una sobre caja blanca y otra sobre caja negra... Un ejercicio a completar.

En prueba de caja blanca me daban unas salida...
edad menor a 6 años... cod alumno entre 0 y 9999, nombre y apellidos (campo de 50 caracteres)....
Nos pedian hacer una "Prueba de equivalencia"

Una tabla en la que tenia que poner la condicion (entre 0 y 9999) el valor posible (n>=0 y n<=9999) los no posibles (n<0 y n>9999), la regla usada ¿WTF?, y que los recuadrara con un circulito segun la cantidad de opciones o no se que... por ejemplo en este proceso el nº1 se lo llevaria el cojunto de los valores posibles y el nº2 el (n<0) y el nº3 el(n>9999).

Asi con los 4 o 5 posibles...



El de caja blanca me daban un cacho de codigo de un programa (una funcion) que leia de un archivo y hacia una serie de cosas...
Habia que hacer un dibujito con los procesos y su orden con flechitas (¿Diagrama de Constantine, puede ser?) y poner los procesos que hay que seguir en orden para realizar:
a) todos los bucles
b) todos las condiciones
c) todas las instrucciones
d) todo

Lo peor esque habia que pone ademas que llevaba en cada momento el fichero y eso me lo comi (por idiota) puesto que no lei bien el ejercicio y es lo que me pedian mas que nada....



Lo de caja blanca lo he aprendido de milagro 5 minutos antes de entrar mirando apuntes de un compañero, puesto que ayer por msn ni me los pasaron ni me dijeron que existian ni encontre solucion preguntado.


Gracias de todos modos, haber si apruebo (imagino que si) pero tiene delito pudiendo subir nota por 1 vez en el curso en esta asignatura que la apruebo por los pelos... y la cago T____T.
Diagramas de constantaine, aunque la verdad no me acuerdo como se llaman pero me imagino que te refieres a los diagramas en los cuales dibujas todos los caminos posibles por los que puedes pasar por el codigo. Bueno eso ya te lo dije en el anterior post.

De todas formas suerte, que por lo que veo no parecia nada complicado el examen.
pues yo tengo el titulo de dai y en mi p vida oí lo de caja negra y caja blanca jejejejje
7 respuestas