Proyecto de ISIII. Pruebas Extra Pruebas de Caja Blanca InfoMedia 27 de mayo de 2009 Índice Historial .......................................................................................................................................... 3 División del método en nodos ......................................................................................................... 4 Diagrama de Flujo de Control del método ...................................................................................... 6 Diseño y realización de Pruebas...................................................................................................... 7 Búsqueda de los caminos de prueba ............................................................................................... 7 Conjunto de pruebas ....................................................................................................................... 7 Historial Versión Fecha Comentarios 1 Versión Inicial 27/05/09 División del método en nodos El método usado por nuestro grupo para realizar la asignación de horario a programas es el método añadirEmision, el cual asigna una hora y un día del mes al programa deseado. Vamos a realizar pruebas de caja blanca para ello primero voy a realizar una separación en bloques del método. public static int añadirEmision(Programa p,int dia, Time hora,Canal can) throws Exception { 1 2 3 4 String calificacionMoral = p.ObtenerClasificacionMoral(); int indice =0; int idcanal = can.obtenerID(); boolean valido = true; Emision e; Time horaE; float duracionE; Canal c; try { valido = comprobarCalificacionMoral(calificacionMoral, hora); } catch (Exception a) { } if(!valido) return 0; float dur = p.obtenerDuracion(); ArrayList<Emision> emisiones; emisiones = AccesoBD.AccesoBDEmisiones.obtenerEmisiones(dia, can); if(emisiones.size()!=0){ indice=0; e = emisiones.get(indice); valido = true; 5 6 while(indice < emisiones.size()&& valido && e!= null){ 7 horaE =e.ObtenerHora(); duracionE= e.ObtenerDuracion(); valido = comprobarSolapamiento(horaE,duracionE,hora,dur); indice++; if(indice!= emisiones.size()){ 8 e=emisiones.get(indice); } 9 } if(!valido) 10 return 1; //Si hay solapamiento } 11 // c = AccesoBD.AccesoBDCanal.buscar() int id =0; try { Emision emi = new Emision(id, can, p, dur, hora, dia); AccesoBD.AccesoBDEmisiones.incluir(emi); } catch (Exception exception) { 10 return 1; } 12 return 2; Diagrama de Flujo de Control del método Diseño y realización de Pruebas Búsqueda de los caminos de prueba La complejidad ciclomatica del sistema es 7 por lo que como mínimo se deberán diseñar 7 caminos de prueba. Los caminos de pruebas elegidos son los siguientes: Camino 1: Camino 2: Camino 3: Camino 4: Camino 5: Camino 6: Camino 7: 1, 2 1, 3, 4, 5, 6, 7, 8, 4, 9, 11, 12 1, 3, 4, 5, 6, 7, 4, 9, 10 1, 3, 4, 9, 11, 10 1, 3, 11, 12 1, 3, 4, 5, 6, 7, 8, 4, 5, 9, 11, 12 1, 3, 4, 5, 6, 7, 8, 4, 5, 6, 9, 11, 12 Conjunto de pruebas Prueba 1 Programa Día Noticias 2 Simplemente se muestran datos relacionados con la prueba 20 Hora 17:00:00 Canal Antena 3 Resultados +18 El método ha recorrido el camino adecuado, indicando la interfaz con un mensaje que el programa no se ha introducido en el horario adecuado. Esta prueba se debe realizar teniendo en cuenta que debemos tener dos emisiones introducidas en el sistema. En el camino hemos obviado que se deben dar dos vueltas al bucle, ya que es una repetición del camino. Prueba 2 Programa Día El Intermedio +7 40min Simplemente se muestran datos relacionados con la prueba 19 Hora 21:30:00 Canal La Sexta Resultados El método ha recorrido el camino adecuado, indicando la interfaz con un mensaje que el programa se ha introducido correctamente. Esta prueba se debe realizar teniendo en cuenta que debemos tener una emisión introducida en el sistema, que debería ser la emisión introducida anteriormente. Prueba 3 Programa Día El Hormiguero +7 50min Simplemente se muestran datos relacionados con la prueba 19 Hora 21:35:00 Canal La Sexta Resultados El método ha recorrido el camino adecuado, la interfaz indica que la emisión introducida se solapa con otra. Para esta prueba no se puede saber exactamente la reacción que puede tener el sistema ya que hace uso de una función de menor nivel que puede causar fallo, por otro lado podría dar fallo en caso de no existir el canal introducido aunque el método superior se encargar de evitar eso. Prueba 4 Programa Día El Hormiguero +7 50min Simplemente se muestran datos relacionados con la prueba 19 Hora 21:35:00 Canal Cuatro Resultados El programa se introduce correctamente en el sistema, mostrándolo a través de un mensaje de la interfaz. Este caso de prueba se debe realizar sin ninguna emisión en el canal indicado. Prueba 5 Programa Día Los simpson +7 24min Simplemente se muestran datos relacionados con la prueba 10 Hora 14:35:00 Canal Antena 3 Resultados El programa se introduce correctamente en el sistema, mostrándolo a través de un mensaje de la interfaz. En el sistema se han añadido dos emisiones más, una de ellas solapa con la emisión de prueba. Prueba 6 Programa Día Los simpson +7 24min Simplemente se muestran datos relacionados con la prueba 17 Hora 21:35:00 Canal Neox Resultados El programa se introduce correctamente en el sistema, mostrándolo a través de un mensaje de la interfaz. Este caso de prueba es difícil de realizar ya que depende de un método inferior que debe fallar al devolver el id de una emisión introducida anteriormente. Prueba 7 Programa Día El señor de los anillos La comunidad del anillo +7 160min Simplemente se muestran datos relacionados con la prueba 14 Hora 22:00:00 Canal Antena 3 Resultados El programa se introduce correctamente en el sistema, mostrándolo a través de un mensaje de la interfaz.