Download - Clase 05b pruebas introduccion
![Page 1: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/1.jpg)
1
Pruebas de Software(to err is human but to really foul things up requires a computer)
Universidad de los AndesDemián Gutierrez
Febrero 2013
![Page 2: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/2.jpg)
2
¿qué es unaprueba de software?
![Page 3: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/3.jpg)
3
Pruebas de Software
![Page 4: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/4.jpg)
4
¿Qué es una Prueba?
estructura general de una pruebaHay Frameworks como JUnit que facilitan escribir pruebas
Manejador de la Prueba(Test Driver)
![Page 5: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/5.jpg)
5
¿qué es una prueba “ad-hoc”?
¿qué es una prueba “automatizada”?
![Page 6: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/6.jpg)
6
¿quién pruebael software?
![Page 7: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/7.jpg)
7
¿quién?
¿desarrolladores / programadores o un equipo separado de pruebas?
![Page 8: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/8.jpg)
8
¿quién prueba?
aunque los métodos ágiles han cambiado un poco esta visión
![Page 9: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/9.jpg)
9
tiposde pruebas de software
(técnicas)
![Page 10: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/10.jpg)
10
Pruebas De Defectos
Caja Negra(entradas vs
salidas, sin vercódigo)
Caja Blanca(viendo código,
en base alcódigo)
De Regresión(Automatizadas)
Pruebas de Software
![Page 11: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/11.jpg)
11
Salida?Entrada
Se desconoce cómo funciona internamentela unidad de software bajo prueba, la idea es aplicar
un conjunto de entradas y obtener un conjunto de salidassi las salidas concuerdan con las especificaciones
entonces la prueba pasa
Pruebas Caja Negra
![Page 12: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/12.jpg)
12
¿cómo se seleccionan los valores de entrada?
(para las pruebas caja negra)
![Page 13: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/13.jpg)
13
¿como se seleccionan los valores de entrada?
(para las pruebas caja negra)
valores representativos del conjuntode entradas posibles
valores fronteras
valores o combinaciones de valores conflictivos
![Page 14: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/14.jpg)
14
Pruebas De Defectos
Caja Negra(entradas vs
salidas, sin vercódigo)
Caja Blanca(viendo código,
en base alcódigo)
De Regresión(Automatizadas)
Pruebas de Software
![Page 15: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/15.jpg)
15
Salida
while ((line = rd.readLine()) != null) { line = line.trim();
if (line.startsWith("#")) { continue; } if (line.equals("")) { continue; }
String[] 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));}
Entrada
el conocimiento del código define las pruebas y las entradas
las pruebas se diseñan de manera que se garanticela cobertura de cierta cantidad de código
Pruebas Caja Blanca
![Page 16: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/16.jpg)
16
Pruebas De Defectos
Caja Negra(entradas vs
salidas, sin vercódigo)
Caja Blanca(viendo código,
en base alcódigo)
De Regresión(Automatizadas)
Pruebas de Software
![Page 17: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/17.jpg)
17
De Regresión
pruebaprueba pruebapruebaprueba prueba prueba
pruebaprueba pruebapruebaprueba
prueba pruebapruebaprueba
La idea es contar con un conjunto de pruebas automatizadas que formen una “red de seguridad”y permitan verificar “con un sólo click” que el sistema está funcionando correctamente y que no se ha roto nada de forma inesperada
![Page 18: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/18.jpg)
18
¿pueden las pruebas mostrar la ausencia totalde errores en el software
bajo prueba?
![Page 19: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/19.jpg)
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 computabilidad
![Page 20: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/20.jpg)
20
Pruebas de Software
las pruebas permiten detectar errores
luego...
estos errores de deben registrar (bugtracking)
se deben corregir(depuración)
y se les debe hacer seguimiento(bugtracking)
aunque el seguimiento no se hace sólo al final, sino al lo largo de todo el proceso
![Page 21: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/21.jpg)
21
y sin embargo...probar es mucho más que encontrar bugs, probar es
generar conocimiento(aprender sobre
el sistema bajo prueba)
Agile Testing Quadrantshttp://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/
![Page 22: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/22.jpg)
22
¿Costos de las Pruebas?
Las pruebas de software representan la actividad más extenuante y costosa del desarrollo 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 la corrección de errores (Capers Jones, 1996)
Curso IS-412 Unidad 1 V2.0.ppt CEISOFT/BIOSOFT
![Page 23: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/23.jpg)
23
¿Costos de las Pruebas?
Curso IS-412 Unidad 1 V2.0.ppt CEISOFT/BIOSOFT
sin embargo...Un estudio realizado por el Instituto de Estándares de EEUU (NIST) en el 2002
encontró que:
El costo de realizar inadecuadamente pruebas de software oscila entre 22-60 millardos de dólares por año (sólo en EEUU)
Se ha estimado que el costo ocasionado por las fallas de software se puede
reducir en más de un tercio (1/3) mejorando las pruebas (NIST, 2002)
![Page 24: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/24.jpg)
24
Métodos / Procesos / Técnicas
proceso de pruebas /
plan de pruebasCurso IS-412 Unidad 1 V2.0.ppt
Lámina 40-42
![Page 25: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/25.jpg)
25
● Las actividades requeridas para llevar a cabo el proceso de pruebas
se representan mediante un modelo de procesos
El Modelo de Procesos de Prueba de Pfleeger
(1998)
Concepto: El proceso de pruebas
![Page 26: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/26.jpg)
26
● Plan de Pruebas– Es un documento que describe en detalle lo siguiente:
● Los objetivos de las pruebas● Los niveles y tipos de pruebas que deberán realizarse● Los criterios de terminación 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 técnicas y estrategias que se emplearán● Los recursos requeridos para ejecutar las pruebas● Los documentos que deben producirse durante las pruebas● Los procedimientos de pruebas: casos de pruebas
Concepto: El plan de pruebas
![Page 27: Clase 05b pruebas introduccion](https://reader033.vdocument.in/reader033/viewer/2022042502/558ffd091a28abc80d8b464e/html5/thumbnails/27.jpg)
27
Gracias
¡Gracias!