Clase 05b pruebas introduccion

Click here to load reader

  • date post

    28-Jun-2015
  • Category

    Technology

  • view

    306
  • download

    1

Embed Size (px)

Transcript of Clase 05b pruebas introduccion

  • 1. Pruebas de Software(to err is human but to really foul things up requires a computer) Universidad de los Andes Demin GutierrezFebrero 2013 1

2. qu es unaprueba de software?2 3. Pruebas de Software3 4. Qu es una Prueba? Manejador de la Prueba(Test Driver) estructura general de una prueba Hay Frameworks como JUnit que facilitan escribir pruebas 4 5. qu es una prueba ad-hoc?qu es una prueba automatizada? 5 6. quin prueba el software?6 7. quin?desarrolladores / programadores o un equipo separado de pruebas? 7 8. quin prueba?aunque los mtodos giles han cambiado un poco esta visin 8 9. tiposde pruebas de software(tcnicas) 9 10. Pruebas de Software Caja Negra (entradas vssalidas, sin vercdigo) Caja Blanca(viendo cdigo, PruebasDe Defectos en base alcdigo) De Regresin(Automatizadas) 10 11. Pruebas Caja NegraEntrada ?SalidaSe desconoce cmo funciona internamentela unidad de software bajo prueba, la idea es aplicar un conjunto de entradas y obtener un conjunto de salidas si las salidas concuerdan con las especificaciones entonces la prueba pasa11 12. cmo se seleccionan los valores de entrada?(para las pruebas caja negra)12 13. como se seleccionan los valores de entrada?(para las pruebas caja negra)valores representativos del conjuntode entradas posibles valores fronterasvalores o combinaciones de valoresconflictivos 13 14. Pruebas de Software Caja Negra (entradas vssalidas, sin vercdigo) Caja Blanca(viendo cdigo, PruebasDe Defectos en base alcdigo) De Regresin(Automatizadas) 14 15. Pruebas Caja Blancawhile ((line = rd.readLine()) != null) {line = line.trim();if (line.startsWith("#")) {continue;}if (line.equals("")) {continue; Entrada} SalidaString[] values = line.split("(s)+");int r = Integer.parseInt(values[0]);int g = Integer.parseInt(values[1]);int b = Integer.parseInt(values[2]);colorList.add(new Color(r, g, b));} el conocimiento del cdigo define laspruebas y las entradaslas pruebas se disean de manera que se garantice la cobertura de cierta cantidad de cdigo 15 16. Pruebas de Software Caja Negra (entradas vssalidas, sin vercdigo) Caja Blanca(viendo cdigo, PruebasDe Defectos en base alcdigo) De Regresin(Automatizadas) 16 17. De Regresin La idea es contar con un conjunto depruebas automatizadas que formen unared de seguridady permitan verificarcon un slo click que el sistema est funcionando correctamente y que no se ha roto nada de forma inesperadaprueba prueba prueba pruebaprueba prueba prueba prueba pruebaprueba prueba prueba prueba prueba prueba prueba 17 18. pueden las pruebasmostrar la ausencia totalde errores en el softwarebajo prueba?18 19. Pruebas de Software Las pruebas pueden mostrarla presencia de errores,pero no su ausencia, de hecho,no es posible demostrar la ausencia de errores en un sistema Dijkstra Esto, curiosamente, tiene mucho que ver con los conceptos dedecidibilidad y computabilidad19 20. Pruebas de Softwarelas pruebas permiten detectar errores luego...estos errores de deben registrar (bugtracking) se deben corregir (depuracin)y se les debe hacer seguimiento(bugtracking)aunque el seguimiento no se hace slo al final, sino al lo largo de todo el proceso20 21. y sin embargo...probar es mucho ms queencontrar bugs, probar esgenerar conocimiento (aprender sobre el sistema bajo prueba) Agile Testing Quadrantshttp://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/ 21 22. Costos de las Pruebas? Las pruebas de software representan la actividad ms extenuante y costosa deldesarrollo de software, se estima que: 30% - 50% de los recursos requeridos en un proyecto de desarrollo de software son asignados a las pruebas 60% del tiempo de los desarrolladores es utilizado en lacorreccin de errores (Capers Jones, 1996)22Curso IS-412 Unidad 1 V2.0.ppt CEISOFT/BIOSOFT 23. Costos de las Pruebas? sin embargo... Un estudio realizado por el Instituto de Estndares de EEUU (NIST) en el 2002 encontr que:El costo de realizar inadecuadamente pruebas de software oscilaentre 22-60 millardos de dlares por ao (slo en EEUU)Se ha estimado que el costo ocasionadopor las fallas de software se puedereducir en ms de un tercio (1/3)mejorando las pruebas (NIST, 2002)23 Curso IS-412 Unidad 1 V2.0.ppt CEISOFT/BIOSOFT 24. Mtodos / Procesos / Tcnicas proceso depruebas /plan de pruebas Curso IS-412 Unidad 1 V2.0.ppt Lmina 40-4224 25. Concepto: El proceso de pruebas Las actividades requeridas para llevar a cabo el proceso de pruebasse representan mediante un modelo de procesosEl Modelo de Procesos de Prueba de Pfleeger (1998)25 26. Concepto: El plan de pruebas Plan de Pruebas Es un documento que describe en detalle lo siguiente: Los objetivos de las pruebas Los niveles y tipos de pruebas que debern realizarse Los criterios de terminacin de cada tipo de prueba El modelo de proceso que se seguir para ejecutar las pruebas El cronograma de actividades de pruebas Las responsabilidades de los miembros del grupo de pruebas Las tcnicas y estrategias que se emplearn Los recursos requeridos para ejecutar las pruebas Los documentos que deben producirse durante las pruebas Los procedimientos de pruebas: casos de pruebas 26 27. Gracias Gracias! 27