SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
5 . M É T O D O S D E
P R U E B A D E S O F T WA R E
I N G E N I E R Í A D E S O F T WA R E
U T M 2 0 1 7
M A Y O 2 0 1 5
¿ P O R Q U É P R O B A R E L S O F T WA R E ?
2
¿ Q U É E S P R O B A R S O F T WA R E ?
¿Qué hacen los ingenieros de pruebas? ¿Demostrar que
el software funciona correctamente? ¿Buscar fallas?
¿Mejorar la calidad del software?
Los expertos ofrecen diferentes definiciones para las
pruebas del software pero hay algo en lo que todos
parecen estar de acuerdo: probar software no consiste
en demostrar que éste funciona correctamente.
3
4
5
E D S G E R D D I J K S T R A
“Probar software es el proceso de ejecutar un
programa con el objetivo de encontrar errores”
6
G L E N F O R D J M Y E R S
“Las pruebas de software pueden ser usadas para
mostrar la presencia de errores, pero nunca para
demostrar la ausencia de errores!”
7
C E M K A N E R
“Las pruebas de software es la investigación
empírica como técnica que se desarrolla para
ofrecerle a los stakeholders con información sobre
la calidad del producto o servicio evaluado.”
8
5 . 1 E L P R O C E S O D E P R U E B A S
Las pruebas son básicamente un conjunto de actividades
dentro del desarrollo de software. Dependiendo del
tipo de pruebas, estas actividades podrán ser
implementadas en cualquier momento de dicho proceso
de desarrollo.
Como existen distintos modelos de desarrollo de
software, así también existen modelos para pruebas. A
cada uno corresponde un nivel distinto de
involucramiento en las actividades de desarrollo.
9
10
5 E L E M E N T O S E S E N C I A L E S
1. Una estrategia de pruebas que nos indique qué tipos de pruebas y la
cantidad de ellas que consideremos serán suficientes para encontrar
defectos en el software
2. Un plan de pruebas que nos diga cómo deberemos de llevar a cabo la
estrategia
3. Casos de prueba que preparemos con anterioridad en la forma de
ejemplos detallados que usaremos para comprobar si el software cumple
sus requerimientos
4. Datos de prueba, que consiste en los datos de entrada y las bases de
datos de prueba que se utilizarán para ejecutar los casos de prueba y
5. Un ambiente de pruebas que nos permitan llevar a cabo dichas pruebas
11
¿ C Ó M O S E H A C E N L A S P R U E B A S E N E L
M U N D O R E A L ?
1. Reunión inicial - ¿Quién es el cliente? ¿Duración del
proyecto y fecha de entrega? ¿Stakeholders?
2. Plan de pruebas - desarrollado en base al SRS: se
divide el diseño en módulos
3. Casos de Prueba y Escenarios - se crean pruebas
siguiendo una filosofía bottom-top (pruebas de
módulos y luego su integración)
4. Testing y debugging
12
P R U E B A S E N M E T O D O L O G Í A S Á G I L E S
13
5 . 3 M É T O D O S D E P R U E B A
• Diferentes técnicas de pruebas son apropiadas para
diferentes momentos en el desarrollo de software
• El primero en probar su código es el mismo
desarrollador que puede ser asistido por grupos de
pruebas independientes para proyectos grandes
• El papel del tester independiente es eliminar el
conflicto de interés inherente cuando el
desarrollador prueba su propio producto
14
Validación
¿Estamos construyendo el producto correcto?
Verificación
¿Estamos construyendo el proyecto correctamente?
15
E TA PA S D E P R U E B A S
• Pruebas de Módulo o unitarias
• Pruebas de Integración
• Pruebas del Sistema
• Pruebas de Rendimiento
• Pruebas de Aceptación
• Pruebas de Instalación
16
17
18
¿ C A J A N E G R A
O C A J A
B L A N C A ?
E L D I L E M A D E S I E M P R E …
• El número de caminos lógicos
determina si es caja blanca
• La naturaleza de los datos de
entrada
• La cantidad de
procesamiento necesario
• La complejidad de los
algoritmos
19
P R U E B A S U N I TA R I A S
• Se deben de probar los límites de los rangos de datos
• Los paths (rutas) básicas deben ser probadas
• Todos las rutas que generen errores deben ser
probadas
• Drivers y/o stubs deben ser desarrollados para
probar software incompleto
20
D AT O S D E P R U E B A
• Idealmente se deben alternar datos válidos e inválidos
• Particiones equivalentes (eg. fechas, edades, etc)
• Pruebas de Regresión
21
P R U E B A S D E I N T E G R A C I Ó N
• Proceso Bottom-Up (con Drivers)
• Proces Top-Down (con Stubs)
• Sandwich testing
22
P R U E B A S D E L S I S T E M A
Pruebas de Recuperación
• Checar las habilidades del sistema de recuperarse de fallas
Pruebas de seguridad
• Verifica los mecanismos de protección del sistema que prevenga accesos no
autorizados o la alteración de datos
Pruebas de Estrés
• El sistema es probado para ver cómo se comporta con demandas de trabajo no
planeadas
Pruebas de Rendimiento
• Prueba el desempeño del sistema por un largo periodo de tiempo
23
P R U E B A S D E R E N D I M I E N T O
• Pruebas de Estrés
• Pruebas de Volumen
• Pruebas de Configuración (hardware & software).
• Pruebas de Compatibilidad
• Pruebas de Regresión
• Pruebas de Seguridad
24
P R U E B A S D E R E N D I M I E N T O
• Pruebas de Tiempo
• Pruebas Ambientales
• Pruebas de Calidad
• Pruebas de Recuperación
• Pruebas de Mantenimiento
• Pruebas de Documentación
• Evaluación de Factores Humanos (Usabilidad)
25
P R U E B A S D E A C E P TA C I Ó N
26
P R U E B A S D E A C E P TA C I Ó N
Asegurarnos de que el software trabaja correctamente para los
stakeholders en su ambiente normal de trabajo
Pruebas Alfa
• El sistema completo es probado por el cliente, con la
presencia del equipo de desarrollo, en el sitio de desarrollo
Pruebas Beta
• El sistema completo es probado por el cliente, sin la
presencia del equipo de desarrollo, en el sitio del cliente
27
E S T R AT E G I A S PA R A P R U E B A S D E
A C E P TA C I Ó N
• Pruebas de Benchmark
• Pruebas Piloto
• Pruebas en Paralelo
28
H E R R A M I E N TA S D E P R U E B A
• Simuladores
• Programas monitores
• Analizadores de resultados
• Generadores de datos de prueba
29
E Q U I P O D E P R U E B A S
• Testers profesionales
• Analistas
• Diseñadores de sistema
• Especialistas de configuración
• Usuarios
30
5 . 3 D I S E Ñ O D E P R U E B A S
El objetivo del proceso de diseño de casos de prueba
es crear un conjunto de casos de prueba que sean
efectivos descubriendo defectos en los programas y
muestren que el sistema satisface sus requerimientos.
31
P R O C E S O D E D I S E Ñ O
• Para diseñar un caso de prueba, se selecciona una
característica del sistema o componente que se está
probando.
• A continuación, se selecciona un conjunto de
entradas que ejecutan dicha característica,
documenta las salidas esperadas o rangos de salida y,
donde sea posible, se diseña una prueba
automatizada que prueba que las salidas reales y
esperadas son las mismas.
32
T I P O S D E A P R O X I M A C I O N E S
• Pruebas basadas en requerimientos
• Pruebas de particiones
• Pruebas estructurales
• Pruebas de caminos
33
P R U E B A S B A S A D A S E N
R E Q U E R I M I E N T O S
• Los casos de prueba se diseñan para probar los
requerimientos del sistema
• Se usa generalmente en las pruebas del sistema
• Se identifican casos de prueba que puedan demostrar
que el sistema satisface ese requerimiento
34
P R U E B A S D E PA R T I C I O N E S
• Se identifican particiones de entrada y salida y se
diseñan pruebas para que el sistema ejecute entradas
de todas las particiones y genere salidas para todas
las particiones
• Las particiones son grupos de datos que tienen
características comunes
35
P R U E B A S E S T R U C T U R A L E S
• Se utiliza el conocimiento de la estructura del
programa para diseñar pruebas que ejecuten todas las
partes del sistema
• Cuando se prueba un sistema debería ejecutar cada
instrucción al menos una vez. Las pruebas
estructurales deben ayudar a hacer eso
36
P R U E B A S D E C A M I N O S
• Es una estrategia de pruebas estructurales cuyo
objetivo es probar cada camino de ejecución
independiente en un componente o programa
• Se pruebas cada instrucción al menos una vez. Las
condiciones se prueban en verdadero y falso
37
5 . 4 C A S O S D E E S T U D I O D E
P R U E B A S D E S O F T WA R E
38
C A S O 1 : G O O G L E Y S U S P R U E B A S D E
1 0 M I N U T O S
“Cada 10 minutos cambiaba de aplicación. Y a medida que los minutos
pasaban mi equipo iba entendiendo el mensaje: descartaron la idea de
describir el problema, la aplicación o cualquier cosa innecesaria. Cambiaron
prosa por listas de viñetas. Caso omiso a cualquier información no relevante
para el testing. Si no era importante, lo ignoraban. No había tiempo.”
Así creamos el método ACC (atributos, componentes y capacidades)
• Atributos (valor del producto para el usuario)
• Componentes (enumerar, de memoria, los componentes del software)
• Capacidades (las acciones que realiza el sistema)
Caso de estudio: Cómo hace Google sus planes de pruebas (y los hace en menos de 10 minutos) http://
www.javiergarzas.com/2012/12/google-pruebas.html
39
C A S O 2 : P O K E R O N L I N E A P P
Real Poker Online es una app cliente servidor desarrollada en Java que permite
a jugadores de todo el mundo jugar poker
Se busca validar los requerimientos, además de la escalabilidad del proyecto
(Eclipse IDE, Ant, JUnit, XDoclet, Hibernate JDO, Tapestry Web Application
Framework, Hessian RPC, Sun ONE J2EE 1.3 certified application server, Firebird
RDBMS y Tomcat)
La estimación inicial para las pruebas hecha por el cliente era de 8000 horas-
hombre
Bughuntress propuso pruebas automatizadas en vez de un proceso manual: caja
negra, simulación, funcionalidad, estrés, usabilidad y pruebas de apuestas
lógicas. Las pruebas finalmente requirieron 2500 horas-hombre
CASE STUDIES: ONLINE GAME: http://www.bughuntress.com/portfolio/case-studies/poker-online
40
C A S O 3 : U S O D E H E R R A M I E N TA S D E
S O F T WA R E L I B R E
Reto:
Las empresas deben entender los riesgos y mitigar los problemas que su desarrollo web enfrenta durante la
etapa de desarrollo y cuando la aplicación se encuentra en producción
Solución:
PushToTest Turnkey Testing Services identifica y resuelve las causas de problemas de rendimiento y seguridad
en ambientes de múltiples proveedores
Resultados:
• Desarrollo de scripts de pruebas y ejecución de pruebas funcionales y en pruebas de rendimiento y
volumen
• Costo: comparado con herramientas propietarias, las soluciones de PushToTest ahora el 895% en la
creación de pruebas y el 33% en las pruebas reales
• Certificación: PushToHelp ayuda a mitigar los riesgos en pruebas funcionales, de seguridad y rendimiento
PushToTest Case Studies: http://www.pushtotest.com/software-testing-case-studies.html
41
C A S O 4 : T E S T I N G Á G I L D E S O F T WA R E
C O N H E R R A M I E N TA S L I B R E S Y A B I E R TA S
El paper describe las pruebas de software mediante el uso de una metodología
ágil (SCRUM) y herramientas de software libre y abierto aplicadas a un proyecto
en particular: SWEST (Software para Empresas deServicios Temporales)
• Necesidad urgente del cliente por tener en producción la aplicación, en
concreto el módulo de nómina
• Antecedentes de fallos e incidencias en la primera versión del módulo de
nómina
• Necesidad de mostrar resultados en el menor tiempo posible.
Tres herramientas utilizadas y probadas: TestLink, Mantis y PangoScrum
Paper en: http://www.academia.edu/2332917/Testing_
%C3%81gil_de_Software_con_Herramientas_Libres_y_Abiertas
42
C A S O 5 : P R U E B A S D E C O M PAT I B I L I D A D
D E G U I
El cliente: proveedor líder de fotografía y contenidos para empresas en el ramo de
hoteles y viajes
El reto: asegurar la compatibilidad de su UI en varias plataformas sin ningún problema
La solución:
• Análisis de requerimientos utilizando la arquitectura y escenarios de alto nivel
• Pruebas de las interfaces con escenarios y prototipos
• Casos de prueba para diferentes medios ambientes y resoluciones
• Reportes diarios
• GUI COMPATIBILITY TESTING CASE STUDY: http://www.optimusinfo.com/case-
study/gui-compatibility-testing/
43

Más contenido relacionado

La actualidad más candente

Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Ades27
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
Juan Ravi
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Metricas de Codigo Fuente y Metricas de Prueba
Metricas de Codigo Fuente y Metricas de PruebaMetricas de Codigo Fuente y Metricas de Prueba
Metricas de Codigo Fuente y Metricas de Prueba
Kevin Castillo
 

La actualidad más candente (20)

Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Lenguaje unificado de modelado
Lenguaje unificado de modeladoLenguaje unificado de modelado
Lenguaje unificado de modelado
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebas
 
PLAN SQA
PLAN SQAPLAN SQA
PLAN SQA
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Métricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptxMétricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptx
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de software
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
IEEE 730 1989: Plan de aseguramiento de la calidad del software
IEEE 730 1989: Plan de aseguramiento de la calidad del softwareIEEE 730 1989: Plan de aseguramiento de la calidad del software
IEEE 730 1989: Plan de aseguramiento de la calidad del software
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de software
 
Reingeniería
ReingenieríaReingeniería
Reingeniería
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Plan de Pruebas
Plan de PruebasPlan de Pruebas
Plan de Pruebas
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Pruebas y Mantenimiento de Software
Pruebas y Mantenimiento de SoftwarePruebas y Mantenimiento de Software
Pruebas y Mantenimiento de Software
 
Gestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de SoftwareGestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de Software
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Metricas de Codigo Fuente y Metricas de Prueba
Metricas de Codigo Fuente y Metricas de PruebaMetricas de Codigo Fuente y Metricas de Prueba
Metricas de Codigo Fuente y Metricas de Prueba
 

Destacado

Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
Hermes Romero
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones web
paulinaaillon
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de Software
CARMEN
 

Destacado (14)

Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Etapas de las pruebas
Etapas de las pruebasEtapas de las pruebas
Etapas de las pruebas
 
Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones web
 
8.realizacion de pruebas
8.realizacion de pruebas8.realizacion de pruebas
8.realizacion de pruebas
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de Software
 
Pruebas de caja blanca y negra
Pruebas  de caja blanca y negraPruebas  de caja blanca y negra
Pruebas de caja blanca y negra
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 

Similar a 5. Métodos de Prueba de Software

Presentacion Pruebas
Presentacion PruebasPresentacion Pruebas
Presentacion Pruebas
dajigar
 
Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1
naviwz
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1
Vanessa Toral Yépez
 
Unidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de pruebaUnidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de prueba
Darleneperalta
 

Similar a 5. Métodos de Prueba de Software (20)

Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
15_pruebaSW.ppt
15_pruebaSW.ppt15_pruebaSW.ppt
15_pruebaSW.ppt
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
Entregables de pruebas
Entregables de pruebasEntregables de pruebas
Entregables de pruebas
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Curso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfCurso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdf
 
6.redes pruebas de software
6.redes pruebas de software6.redes pruebas de software
6.redes pruebas de software
 
Curso calidad software
Curso calidad softwareCurso calidad software
Curso calidad software
 
Presentacion Pruebas
Presentacion PruebasPresentacion Pruebas
Presentacion Pruebas
 
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
16-Unidad 4: Introducción a las Arquitecturas Web 4.3 NCAPAS 4.4 PRUEBAS UNIT...
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1
 
Segunda web conferencia
Segunda web conferenciaSegunda web conferencia
Segunda web conferencia
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1
 
Fases de prueba de software
Fases de prueba de softwareFases de prueba de software
Fases de prueba de software
 
Unidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de pruebaUnidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de prueba
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 

Más de Mario A Moreno Rocha

Más de Mario A Moreno Rocha (20)

UsaLab presentation (ENG)
UsaLab presentation (ENG)UsaLab presentation (ENG)
UsaLab presentation (ENG)
 
Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)Definición del Examen Final (UTM 2017)
Definición del Examen Final (UTM 2017)
 
¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?¿Cómo haría yo el 3er parcial?
¿Cómo haría yo el 3er parcial?
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de Software
 
Ingeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen ParcialIngeniería de Software (UTM) - Tercer Examen Parcial
Ingeniería de Software (UTM) - Tercer Examen Parcial
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 
3. Análisis de Requerimientos
3. Análisis de Requerimientos3. Análisis de Requerimientos
3. Análisis de Requerimientos
 
2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)2. Administración de Proyectos de Software (UTM 2071)
2. Administración de Proyectos de Software (UTM 2071)
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)Plan de Estudios Ingeniería de Software (2071)
Plan de Estudios Ingeniería de Software (2071)
 
Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)Presentación Ingeniería de Software (2071)
Presentación Ingeniería de Software (2071)
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
 
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
Una Aproximación a la Interacción Humano-Computadora (ITD 2015)
 
UX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios ContextualesUX Nights Vol. 4 Estudios Contextuales
UX Nights Vol. 4 Estudios Contextuales
 
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
Desarrollando un estudio de usabilidad para sitios gubernamentales mexicanos:...
 
Capítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuarioCapítulo 8: Usabilidad y experiencia de usuario
Capítulo 8: Usabilidad y experiencia de usuario
 
Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015Oportunidades de estancias y prácticas en la UTM 2014-2015
Oportunidades de estancias y prácticas en la UTM 2014-2015
 
Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)Taller de Desarrollo de Interfaces (Conalep 2014)
Taller de Desarrollo de Interfaces (Conalep 2014)
 

Último

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 

Último (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 

5. Métodos de Prueba de Software

  • 1. 5 . M É T O D O S D E P R U E B A D E S O F T WA R E I N G E N I E R Í A D E S O F T WA R E U T M 2 0 1 7 M A Y O 2 0 1 5
  • 2. ¿ P O R Q U É P R O B A R E L S O F T WA R E ? 2
  • 3. ¿ Q U É E S P R O B A R S O F T WA R E ? ¿Qué hacen los ingenieros de pruebas? ¿Demostrar que el software funciona correctamente? ¿Buscar fallas? ¿Mejorar la calidad del software? Los expertos ofrecen diferentes definiciones para las pruebas del software pero hay algo en lo que todos parecen estar de acuerdo: probar software no consiste en demostrar que éste funciona correctamente. 3
  • 4. 4
  • 5. 5
  • 6. E D S G E R D D I J K S T R A “Probar software es el proceso de ejecutar un programa con el objetivo de encontrar errores” 6
  • 7. G L E N F O R D J M Y E R S “Las pruebas de software pueden ser usadas para mostrar la presencia de errores, pero nunca para demostrar la ausencia de errores!” 7
  • 8. C E M K A N E R “Las pruebas de software es la investigación empírica como técnica que se desarrolla para ofrecerle a los stakeholders con información sobre la calidad del producto o servicio evaluado.” 8
  • 9. 5 . 1 E L P R O C E S O D E P R U E B A S Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de software. Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo. Como existen distintos modelos de desarrollo de software, así también existen modelos para pruebas. A cada uno corresponde un nivel distinto de involucramiento en las actividades de desarrollo. 9
  • 10. 10
  • 11. 5 E L E M E N T O S E S E N C I A L E S 1. Una estrategia de pruebas que nos indique qué tipos de pruebas y la cantidad de ellas que consideremos serán suficientes para encontrar defectos en el software 2. Un plan de pruebas que nos diga cómo deberemos de llevar a cabo la estrategia 3. Casos de prueba que preparemos con anterioridad en la forma de ejemplos detallados que usaremos para comprobar si el software cumple sus requerimientos 4. Datos de prueba, que consiste en los datos de entrada y las bases de datos de prueba que se utilizarán para ejecutar los casos de prueba y 5. Un ambiente de pruebas que nos permitan llevar a cabo dichas pruebas 11
  • 12. ¿ C Ó M O S E H A C E N L A S P R U E B A S E N E L M U N D O R E A L ? 1. Reunión inicial - ¿Quién es el cliente? ¿Duración del proyecto y fecha de entrega? ¿Stakeholders? 2. Plan de pruebas - desarrollado en base al SRS: se divide el diseño en módulos 3. Casos de Prueba y Escenarios - se crean pruebas siguiendo una filosofía bottom-top (pruebas de módulos y luego su integración) 4. Testing y debugging 12
  • 13. P R U E B A S E N M E T O D O L O G Í A S Á G I L E S 13
  • 14. 5 . 3 M É T O D O S D E P R U E B A • Diferentes técnicas de pruebas son apropiadas para diferentes momentos en el desarrollo de software • El primero en probar su código es el mismo desarrollador que puede ser asistido por grupos de pruebas independientes para proyectos grandes • El papel del tester independiente es eliminar el conflicto de interés inherente cuando el desarrollador prueba su propio producto 14
  • 15. Validación ¿Estamos construyendo el producto correcto? Verificación ¿Estamos construyendo el proyecto correctamente? 15
  • 16. E TA PA S D E P R U E B A S • Pruebas de Módulo o unitarias • Pruebas de Integración • Pruebas del Sistema • Pruebas de Rendimiento • Pruebas de Aceptación • Pruebas de Instalación 16
  • 17. 17
  • 18. 18
  • 19. ¿ C A J A N E G R A O C A J A B L A N C A ? E L D I L E M A D E S I E M P R E … • El número de caminos lógicos determina si es caja blanca • La naturaleza de los datos de entrada • La cantidad de procesamiento necesario • La complejidad de los algoritmos 19
  • 20. P R U E B A S U N I TA R I A S • Se deben de probar los límites de los rangos de datos • Los paths (rutas) básicas deben ser probadas • Todos las rutas que generen errores deben ser probadas • Drivers y/o stubs deben ser desarrollados para probar software incompleto 20
  • 21. D AT O S D E P R U E B A • Idealmente se deben alternar datos válidos e inválidos • Particiones equivalentes (eg. fechas, edades, etc) • Pruebas de Regresión 21
  • 22. P R U E B A S D E I N T E G R A C I Ó N • Proceso Bottom-Up (con Drivers) • Proces Top-Down (con Stubs) • Sandwich testing 22
  • 23. P R U E B A S D E L S I S T E M A Pruebas de Recuperación • Checar las habilidades del sistema de recuperarse de fallas Pruebas de seguridad • Verifica los mecanismos de protección del sistema que prevenga accesos no autorizados o la alteración de datos Pruebas de Estrés • El sistema es probado para ver cómo se comporta con demandas de trabajo no planeadas Pruebas de Rendimiento • Prueba el desempeño del sistema por un largo periodo de tiempo 23
  • 24. P R U E B A S D E R E N D I M I E N T O • Pruebas de Estrés • Pruebas de Volumen • Pruebas de Configuración (hardware & software). • Pruebas de Compatibilidad • Pruebas de Regresión • Pruebas de Seguridad 24
  • 25. P R U E B A S D E R E N D I M I E N T O • Pruebas de Tiempo • Pruebas Ambientales • Pruebas de Calidad • Pruebas de Recuperación • Pruebas de Mantenimiento • Pruebas de Documentación • Evaluación de Factores Humanos (Usabilidad) 25
  • 26. P R U E B A S D E A C E P TA C I Ó N 26
  • 27. P R U E B A S D E A C E P TA C I Ó N Asegurarnos de que el software trabaja correctamente para los stakeholders en su ambiente normal de trabajo Pruebas Alfa • El sistema completo es probado por el cliente, con la presencia del equipo de desarrollo, en el sitio de desarrollo Pruebas Beta • El sistema completo es probado por el cliente, sin la presencia del equipo de desarrollo, en el sitio del cliente 27
  • 28. E S T R AT E G I A S PA R A P R U E B A S D E A C E P TA C I Ó N • Pruebas de Benchmark • Pruebas Piloto • Pruebas en Paralelo 28
  • 29. H E R R A M I E N TA S D E P R U E B A • Simuladores • Programas monitores • Analizadores de resultados • Generadores de datos de prueba 29
  • 30. E Q U I P O D E P R U E B A S • Testers profesionales • Analistas • Diseñadores de sistema • Especialistas de configuración • Usuarios 30
  • 31. 5 . 3 D I S E Ñ O D E P R U E B A S El objetivo del proceso de diseño de casos de prueba es crear un conjunto de casos de prueba que sean efectivos descubriendo defectos en los programas y muestren que el sistema satisface sus requerimientos. 31
  • 32. P R O C E S O D E D I S E Ñ O • Para diseñar un caso de prueba, se selecciona una característica del sistema o componente que se está probando. • A continuación, se selecciona un conjunto de entradas que ejecutan dicha característica, documenta las salidas esperadas o rangos de salida y, donde sea posible, se diseña una prueba automatizada que prueba que las salidas reales y esperadas son las mismas. 32
  • 33. T I P O S D E A P R O X I M A C I O N E S • Pruebas basadas en requerimientos • Pruebas de particiones • Pruebas estructurales • Pruebas de caminos 33
  • 34. P R U E B A S B A S A D A S E N R E Q U E R I M I E N T O S • Los casos de prueba se diseñan para probar los requerimientos del sistema • Se usa generalmente en las pruebas del sistema • Se identifican casos de prueba que puedan demostrar que el sistema satisface ese requerimiento 34
  • 35. P R U E B A S D E PA R T I C I O N E S • Se identifican particiones de entrada y salida y se diseñan pruebas para que el sistema ejecute entradas de todas las particiones y genere salidas para todas las particiones • Las particiones son grupos de datos que tienen características comunes 35
  • 36. P R U E B A S E S T R U C T U R A L E S • Se utiliza el conocimiento de la estructura del programa para diseñar pruebas que ejecuten todas las partes del sistema • Cuando se prueba un sistema debería ejecutar cada instrucción al menos una vez. Las pruebas estructurales deben ayudar a hacer eso 36
  • 37. P R U E B A S D E C A M I N O S • Es una estrategia de pruebas estructurales cuyo objetivo es probar cada camino de ejecución independiente en un componente o programa • Se pruebas cada instrucción al menos una vez. Las condiciones se prueban en verdadero y falso 37
  • 38. 5 . 4 C A S O S D E E S T U D I O D E P R U E B A S D E S O F T WA R E 38
  • 39. C A S O 1 : G O O G L E Y S U S P R U E B A S D E 1 0 M I N U T O S “Cada 10 minutos cambiaba de aplicación. Y a medida que los minutos pasaban mi equipo iba entendiendo el mensaje: descartaron la idea de describir el problema, la aplicación o cualquier cosa innecesaria. Cambiaron prosa por listas de viñetas. Caso omiso a cualquier información no relevante para el testing. Si no era importante, lo ignoraban. No había tiempo.” Así creamos el método ACC (atributos, componentes y capacidades) • Atributos (valor del producto para el usuario) • Componentes (enumerar, de memoria, los componentes del software) • Capacidades (las acciones que realiza el sistema) Caso de estudio: Cómo hace Google sus planes de pruebas (y los hace en menos de 10 minutos) http:// www.javiergarzas.com/2012/12/google-pruebas.html 39
  • 40. C A S O 2 : P O K E R O N L I N E A P P Real Poker Online es una app cliente servidor desarrollada en Java que permite a jugadores de todo el mundo jugar poker Se busca validar los requerimientos, además de la escalabilidad del proyecto (Eclipse IDE, Ant, JUnit, XDoclet, Hibernate JDO, Tapestry Web Application Framework, Hessian RPC, Sun ONE J2EE 1.3 certified application server, Firebird RDBMS y Tomcat) La estimación inicial para las pruebas hecha por el cliente era de 8000 horas- hombre Bughuntress propuso pruebas automatizadas en vez de un proceso manual: caja negra, simulación, funcionalidad, estrés, usabilidad y pruebas de apuestas lógicas. Las pruebas finalmente requirieron 2500 horas-hombre CASE STUDIES: ONLINE GAME: http://www.bughuntress.com/portfolio/case-studies/poker-online 40
  • 41. C A S O 3 : U S O D E H E R R A M I E N TA S D E S O F T WA R E L I B R E Reto: Las empresas deben entender los riesgos y mitigar los problemas que su desarrollo web enfrenta durante la etapa de desarrollo y cuando la aplicación se encuentra en producción Solución: PushToTest Turnkey Testing Services identifica y resuelve las causas de problemas de rendimiento y seguridad en ambientes de múltiples proveedores Resultados: • Desarrollo de scripts de pruebas y ejecución de pruebas funcionales y en pruebas de rendimiento y volumen • Costo: comparado con herramientas propietarias, las soluciones de PushToTest ahora el 895% en la creación de pruebas y el 33% en las pruebas reales • Certificación: PushToHelp ayuda a mitigar los riesgos en pruebas funcionales, de seguridad y rendimiento PushToTest Case Studies: http://www.pushtotest.com/software-testing-case-studies.html 41
  • 42. C A S O 4 : T E S T I N G Á G I L D E S O F T WA R E C O N H E R R A M I E N TA S L I B R E S Y A B I E R TA S El paper describe las pruebas de software mediante el uso de una metodología ágil (SCRUM) y herramientas de software libre y abierto aplicadas a un proyecto en particular: SWEST (Software para Empresas deServicios Temporales) • Necesidad urgente del cliente por tener en producción la aplicación, en concreto el módulo de nómina • Antecedentes de fallos e incidencias en la primera versión del módulo de nómina • Necesidad de mostrar resultados en el menor tiempo posible. Tres herramientas utilizadas y probadas: TestLink, Mantis y PangoScrum Paper en: http://www.academia.edu/2332917/Testing_ %C3%81gil_de_Software_con_Herramientas_Libres_y_Abiertas 42
  • 43. C A S O 5 : P R U E B A S D E C O M PAT I B I L I D A D D E G U I El cliente: proveedor líder de fotografía y contenidos para empresas en el ramo de hoteles y viajes El reto: asegurar la compatibilidad de su UI en varias plataformas sin ningún problema La solución: • Análisis de requerimientos utilizando la arquitectura y escenarios de alto nivel • Pruebas de las interfaces con escenarios y prototipos • Casos de prueba para diferentes medios ambientes y resoluciones • Reportes diarios • GUI COMPATIBILITY TESTING CASE STUDY: http://www.optimusinfo.com/case- study/gui-compatibility-testing/ 43