Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Quiénes Somos?
BMT se dedica a brindar Servicios de Ingeniería a las empresas privadas y entidades
gubernamentales mediante consultorías, capacitaciones y certificaciones.
Gerencia de TI
PMO
Desarrollo de
Software
Operaciones TI
Seguridad de
la información COBIT – TOGAF - DEVOPS
Gestión de Gestión de Control de
Mesa de Ayuda
Proyectos Requerimientos accesos
Soporte Base de
Datos PMI SCRUM ITIL ISO RUP XP ISTQB
Soporte de
Aplicaciones
Portafolio Certificaciones & Entrenamiento TI
PROGRAMA DE CERTIFICACIÓN ISTQB – Foundation
Introducción
12
ISTQB Foundation Level Syllabus 2011 vs 2018
2011 2018
• Versión 2011 disponible hasta 03.12.2019. • Más centrada en las revisiones.
• Más centrada en la Gestión de Pruebas. • 15 Objetivos de Aprendizaje
• 27 Objetivos de Aprendizaje. • Prioridad de pruebas WhriteBox se redujo
• Aborda Análisis estático con el uso de de K4 a K3
herramientas. • No Aborda temas éticos.
• Aborda temas éticos. • Glosario con nuevas terminologías:
• Agile methods
• Continuous Integration/Continuous Delivery
• Delivery pipelines
• IoT
13
OBJETIVOS DEL PROGRAMA
14
OBJETIVOS DEL PROGRAMA
15
TEMARIO
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III. Técnicas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
16
CAPITULO I
Fundamentos de Pruebas
17
¿Dónde está el Software?
Trabajo
Analizando data,
haciendo presentaciones,
transaccionando negocios,
Comunicando.
Casa
Comprando online,
pagando servicios,
Mirando televisión,
Jugando video juegos.
Cuando salimos
Celulares,
GPS,
tablets,
relojes.
¿Porqué es
¿Qué son las
necesario realizar
pruebas?
pruebas?
19
¿Cómo pueden causar daño los defectos?
A las personas,
A la Empresa Al Entorno sociedades y
estados
20
¿De dónde vienen los defectos y qué ocasionan?
22
¿Las Pruebas gestionan riesgos de calidad?
Proporcionar información suficiente a los interesados para que puedan tomar decisiones informadas.
Respecto al Buscan reducir el nivel de riesgo de una calidad de software inadecuada (por ejemplo,
fallas previamente no detectadas que ocurre en la operación)
Nivel de
Calidad Buscan cumplir con los requisitos o estándares contractuales, legales o reglamentarios, y /
o verificar pruebas de cumplimiento del objeto con dichos requisitos o estándares
26
Fases y Objetivos de las Pruebas
Pruebas de Unidad / de Componente: Encuentran defectos en partes individuales del sistema
sometido a pruebas antes de que las partes sean integradas en el sistema.
Pruebas de Integración / Cadena: Encuentran defectos en las relaciones e interfaces entre pares
y grupos de componentes en el sistema sometido a pruebas a medida que las partes van
juntándose.
Pruebas de Sistema: Encuentran defectos en los comportamientos, funciones y respuestas
totales y parciales del sistema sometido a pruebas como un todo.
Pruebas de Aceptación / Piloto: Demuestran que el producto está listo para su
despliegue/versión o para evaluar la calidad y dar información sobre el riesgo de
despliegue/versión.
Pruebas de Mantenimiento: Comprueban los defectos introducidos durante el desarrollo de los
cambios.
Pruebas Operacionales: Evalúan las características del sistema no funcionales tales como la
fiabilidad o disponibilidad usualmente en el entorno operativo.
27
Términos:
Bug Falta
Defecto Equivoc
ación
Error Calidad
Falla Riesgo
28
Efectividad y Eficiencia
Efectiva Eficiente
29
Pruebas y depuración
Las pruebas…
Encuentran fallas que son
causadas por los Defectos.
La depuración…
Las confirmación…
• Identifica la causa Raíz de un
defecto. - Asegura que la
• Repara el código corrección resuelve las
• Comprueba que se haya fallas observadas.
corregido
30
Encontrar – Depurar - Confirmar
• Identificar el problema
• Diagnosticar el error
• Corregir el Error
• Probar la corrección Informe /
del Error Resultados
• Reiniciar el programa
(Por Errores previos o Depuración
Generados)
Pruebas
31
Encontrar – Depurar - Confirmar
Marco Tradicional
Marco Ágil
• El uso de técnicas de prueba apropiadas puede reducir la frecuencia de fallas o incumplimiento con
las necesidades de los interesados.
• Las pruebas deben realizarse según la experiencia y los niveles de prueba apropiados y durante el
ciclo de vida
34 de desarrollo de software.
7 Principios Generales de las Pruebas
35
Conceptos Clave
36
Pruebas revelan la Presencia de Defectos: Una Metáfora
• Se piensa que la misión del equipo de pruebas es "Solo asegurar que el software
funcione antes de enviarlo“, ese privilegio es imposible por las siguientes razones:
• Los caminos de ejecución en un software no-trivial son casi infinitos.
• Diferente complejidad y flujo de datos.
• Los cambios pueden causar regresiones significativas no obviamente
relacionadas al cambio.
• Variedad de perfiles de uso y configuración, algunos desconocidos o imposibles
de conocer.
Las pruebas exhaustivas son aquellas que • Las malas expectativas crean problemas
prueban todas las combinaciones de para los equipos de prueba:
entradas y precondiciones. – Demandas altas inalcanzables
– Percepción de incompetencia cuando no se
38
atienden las demandas.
Beneficios del Aseguramiento de la Calidad y las Pruebas tempranas
39
Agrupamiento de Defectos
40
La paradoja del pesticida
41
Las pruebas deberían adaptarse a las necesidades
42
La falacia de la Ausencia de Errores
43
Proceso de pruebas básico
44
Proceso de pruebas básico
Realizar
Planificar
Perfeccionar
Preparar
• Guiar
• Comprender
Adaptación
el esfuerzo
y mejorade pruebas
• Realizar
• Organizar
pruebas
las personas
y juntar yresultados
las pruebas
45
Proceso de pruebas básico del ISTQB
• Planificación y control
• Análisis y diseño
• Implementación y ejecución
• Evaluación de criterios de salida de
pruebas y generación de informes
• Actividades de cierre de pruebas
46
Planificación y Control
47
Análisis y Diseño
48
Implementación y Ejecución
Implementación
Ejecución
priorizar los casos de Registrar resultados de
prueba, crear datos, escribir prueba, versiones,
procedimientos. herramientas y testware.
Crear armaduras de Comparar resultados reales
pruebas, guiones. y esperados.
Organizar juegos de Reportar y analizar las
pruebas y secuencia de incidencias.
procedimientos.
Repetir las pruebas
Verificar el entorno de corregidas y/o Actualizadas.
pruebas.
Ejecutar pruebas de
confirmación y/o regresión
49
Criterios de Salida, Generación de informes y Cierre
Revisar los registros de pruebas Confirmar los entregables de
Salida e Informes
Cierre
contra los criterios de salida del las pruebas, la resolución final
Plan de Pruebas. o la postergación de los
Evaluar si se necesitan más informes de defectos, y la
pruebas o si el criterio de salida aceptación del sistema.
especificado debería ser Finalizar y archivar el testware,
modificado. el entorno de pruebas y la
Escribir un informe del infraestructura de pruebas.
resumen de pruebas para los Entregar el testware a la
interesados del negocio. organización de
mantenimiento.
Realizar una retrospectiva para
capturar mejoras para futuras
versiones de proyectos y
procesos de pruebas.
50
51
La psicología de las pruebas
52
Atributos del Buen Probador
• Curiosidad
• Pesimismo Profesional
• Ojo crítico
• Atención al detalle
• Buenas habilidades de comunicación
53
Habilidades del Tester
• Lectura
– Especificaciones, correos electrónicos, casos de prueba, etc.
• Escritura
– Casos de pruebas, informes de defectos, documentación de pruebas, etc.
• Habilidades en tecnologías, proyectos y pruebas
– Tecnología: Lenguajes de programación, sistemas operativos, redes, etc.
– Dominio de aplicación: banca, factores humanos, aplicaciones de oficina,
etc.
– Pruebas: Construcción de Scripts, exploración, automatización, etc.
54
Los diferentes modos de pensar
• La separación de funciones (a través
Verificación/Revisión Validación
de pruebas independientes) ayuda a
enfocar las pruebas. • Proceso de mejora • Comprobación al
continua. final del ciclo de vida
• Busca asegurar que del desarrollo.
• Los probadores profesionales son se satisface los • Satisfacción de
requisitos durante el requisitos y
más eficaces en las actividades de ciclo de vida de expectativas.
pruebas, encontrando fallas al ser software • Puede realizarse en
más objetivos y no tener parcialidad • Presta atención a la ambientes de
trazabilidad entre operación.
del autor. componentes y • Participa un
especificaciones. especialista y/o el
cliente.
55
Grados de Independencia
Alto
Por persona(s)
de otra
Bajo Por persona(s) organización o
de un equipo empresa
Por persona(s) diferente o por
en el mismo especialistas de
Por el autor equipo pruebas
56
Objetivos Claros
• ¿Las pruebas deberían encontrar
defectos o confirmar que el
software funciona?
– ¿Qué %? ¿Qué Nivel?
• Una política de pruebas puede
ayudar a establecer claramente los
objetivos.
Personas
Proyecto
57
Enfoque
60
Temario del Taller
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III. Pruebas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
61
CAPITULO II
Pruebas a través del Ciclo de Vida de Software
62
Modelos de desarrollo de software
63
Características que hacen que las pruebas sean adecuadas:
Asociación
• Para cada actividad de desarrollo, hay una actividad de prueba asociada.
Nivel
• Cada nivel de prueba tiene objetivos de prueba específicos para ese nivel.
Inicio
• El análisis y diseño de la prueba para un nivel de prueba dado comienza durante la actividad de
desarrollo correspondiente
Participación
• Los probadores participan en discusiones para definir y refinar los requisitos y el diseño, y están involucrados en la
revisión de los productos de trabajo (por ejemplo, requisitos, diseño, historias de usuario, etc.) tan pronto como las
versiones borrador estén disponibles.
64
Modelo Cascada
65
Modelo en “V” o Secuencial
Describe el proceso de desarrollo de software como un flujo lineal y secuencial de
actividades.
Esto significa que cualquier fase del proceso de desarrollo debe comenzar cuando se haya
completado la fase anterior.
• Scrum: Cada iteración tiende a ser relativamente corta (Ej, horas, días o pocas
semanas), y los incrementos son proporcionalmente pequeños, como unas
pocas mejoras y/o dos o tres prestaciones nuevas.
69
Verificación y validación
• Verificación CONCEPTO
– ¿Estamos construyendo el
correctamente el producto?
Req
a
– Buscar defectos en las fases
em
u is
ist
itos
t. S
Tes
n
ció
• Validación
Dis
gra
eñ
nte
o
– ¿Estamos construyendo el producto
t. I
Tes
correcto?
Im
– Buscar defectos en el sistema, basado en
ple
s o
ari
me
la fase de entregas.
ni t
nta
t. U
ció
Tes
n
70
Verificación y validación
Estándar de Procesos de Software IEEE 12207
• Alcance
– Propósito, aplicación adaptación, conformidad, limitaciones.
– Referencias normativas
– Definiciones
– Aplicación
• Procesos de ciclo de vida, adaptación
– Procesos de ciclo de vida
• Adquisición, suministro, desarrollo, operación, mantenimiento
– Procesos de Apoyo
• Publicaciones técnicas, CM, QA, etc,
– Procesos de ciclo de vida organizaciones.
72
Madurez del proceso CMMI
• El CMMI es un enfoque de
mejora de procesos que provee a
las organizaciones de los
elementos esenciales para
un proceso efectivo.
• Mide la madurez del desarrollo
del software en una escala del 1
al 5
73
Independencia de los Modelos
74
Niveles o Fases de Pruebas
75
Pruebas de componentes (o Unidad)
76
Proceso de pruebas de unidad / componente
• Pruebas que…
– Implican acceso al código
– Se ejecutan en un entorno de desarrollo
– Necesitan drivers, stubs..
– Se realizan por el programador que esquivó el código
• A menudo los defectos se corrigen sin haber sido informados,
ello reduce la transparencia del proceso
77
Drivers y Stubs
78
Pruebas de Integración
79
Niveles de pruebas de integración
80
Pruebas de Sistema
81
Pruebas de aceptación
83
Subtipos de pruebas dinámicas
84
Tipos de Prueba de comportamiento
Las Pruebas Funcionales: Prueban el “Qué” del comportamiento del item, mientras las No
Funcionales pruebas el “Cómo” del comportamiento del ítem.
EL programa de estudios básico del ISTQB utiliza el estándar ISO 9126 para clasificar las
pruebas de comportamiento (funcionales o no funcionales)
85
Pruebas no funcionales
86
Pruebas de caja Blanca
87
Pruebas Asociadas al Cambio
88
Tipos de Prueba - Resumen
89
Pruebas de Mantenimiento
• Amenazas de seguridad
– Virus
– Infiltración de servidores
– Denegación de servicios(Acciones que saturan una aplicación, servicio o sistema)
– Ramsomware
• Supuestos equivocados:
– La Encriptación HTTPS resuelve problemas de seguridad.
– La compra de un Firewall resuelve los problemas.
– Los administradores de sistemas o redes calificados pueden resolver todos los
problemas
92
Interoperatividad
Incluye:
Interfaces
Intercambio de datos.
Puede ser uno a uno o como colección de componentes
93
Rendimiento y fiabilidad
• Rendimiento:
– “Demasiado lento”: Degradación de rendimiento inaceptable en el
tiempo.
• Fiabilidad
– En caso de fallas debe poder completar las funciones normales.
– “Sistema se cae o cuelga aleatoriamente.
94
Estrés, capacidad y volumen
95
Usabilidad e interfaz de usuarios
• UX
• Las interfaces deben ser
coherentes con:
– Flujo de trabajo.
– Especificaciones.
– Usuario, público objetivo.
96
Configuración y portabilidad
– Cambios de configuraciones
– Añadir espacio al disco
– Agregar memoria
– Actualizar y agregar CPU
97
Otras pruebas Funcionales / No funcionales
98
Regresión
99
Estrategia de regresión 1: Repetir todas las pruebas
100
Estrategia 2: Repetir algunas pruebas
101
Otras tres estrategias de regresión
102
TEMARIO
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III.Pruebas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
103
III. Pruebas Estáticas
Consisten en evaluación del código o productos de trabajo de forma manual o basada en herramientas.
104
Diferenciando pruebas estáticas y dinámicas
Pruebas estáticas
• Detectan defectos en los productos de trabajo
• Usadas para mejorar la consistencia y la calidad interna de los
productos de trabajo
Pruebas dinámicas
• Identifican los fallos causados por defectos cuando se ejecuta el
software
• Valida comportamientos visibles desde el exterior
Pruebas y Análisis para la búsqueda de defectos
Análisis Estático
Pruebas Estáticas Pruebas Dinámicas
• Análisis de artefactos de • Pruebas de un componente o • Requiere ejecución de la
software, requisitos o código. sistema en un nivel de la aplicación
• Permite detectar errores en fase especificación o • Es más lento y necesita un
temprana de escritura implementación sin ejecución proceso completo de testeo
• Implica análisis por medio de de ese software. • Permite ver muchos errores
una herramienta • Involucra la utilización de las
• Puede referirse a la revisión y que quedan ocultos en un
mantenimiento de revisiones y las herramientas. análisis estático
documentación
• Encuentra defectos, no síntomas Búsqueda de defectos
Análisis Estático
Código del programa Detección temprana y más Defectos en las especificaciones
Defectos Típicos
Beneficios del Análisis Estático
¿Qué podemos analizar?
• Flujo de control barata de defectos Defectos en el diseño y arquitectura
del software
• Flujo de datos Advertencias sobre Defectos en las especificaciones de
Modelos del programa agrupaciones de defectos interfaces
• Simulaciones por programación peligrosa Mantenibilidad insuficiente
• Antipatrones o alta complejidad Desviaciones con respecto
Salidas generadas Detección de dependencias a estándares acordados
• Html/XML e inconsistencias Variables con valor no definido
Documentos de requisitos y Inconsistencia de interfaz entre
Prevención basada en módulos y componentes
diseño métricas y lecciones Variables no utilizadas
• Esquemas de bases de datos aprendidas
• Arquitectura Lógica faltante o errónea
Complejidad excesiva
Código inaccesible (muerto)
Vulnerabilidades de seguridad
Insuficiencia de Cobertura de
pruebas
107
Proceso de análisis estático
Compilador
Complejidad
Flujo de
control
Flujo de
datos
Herramientas para las pruebas estáticas
Facilitador Líder de
Autor Director (Moderador) Revisión
Revisores
• Crea el producto de • Responsable de la • Asegura el • Asume la • Pueden ser expertos en
trabajo bajo revisión planificación de la funcionamiento responsabilidad la materia, personas que
revisión. efectivo de las general de la revisión trabajan en el proyecto,
• Corrige los defectos implicados, y/o personas
en el producto de • Decide acerca de la reuniones de • Decide quiénes con antecedentes
trabajo bajo revisión ejecución de las revisión. estarán involucrados técnicos o de negocio
(si fuera necesario) revisiones. • Si fuera necesario, y organiza cuándo y específicos
• Asigna personal, realiza una dónde se llevará a • Identifican posibles
presupuesto y mediación entre los cabo defectos en el producto
distintos puntos de de trabajo bajo revisión
tiempo.
vista. • Pueden representar
• Supervisa la diferentes perspectivas
rentabilidad en curso • A menudo, es la
• Ejecuta las persona de la que
decisiones de control depende el éxito de
en caso de la revisión
resultados
inadecuados
Tipos de revisión
REVISIÓN INFORMAL REVISIÓN GUIADA REVISIÓN TÉCNICA INSPECCIÓN
• Objetivo principal: detectar defectos • Objetivos principales: detectar defectos y • Objetivos principales: lograr un consenso, • Objetivos principales: detectar defectos
potenciales. evaluar la conformidad con estándares y detectar defectos potenciales. potenciales, evaluar la calidad y generar
• Posibles objetivos adicionales: generar especificaciones. • Posibles objetivos adicionales: evaluar la confianza en el producto de trabajo,
nuevas ideas o soluciones, resolver de • Posibles objetivos adicionales: calidad y generar confianza en el producto prevenir futuros defectos similares
forma rápida problemas menores. intercambio de ideas sobre técnicas o de trabajo, generar nuevas ideas, motivar mediante el aprendizaje del autor y el
• No se basa en un proceso formal variaciones de estilo, formación de los y capacitar a los autores para mejorar los análisis de la causa raíz.
(documentado). participantes, alcanzar un consenso. futuros productos de trabajo, considerar • Posibles objetivos adicionales: motivar y
• Puede no implicar una reunión de • La preparación individual antes de la implementaciones alternativas. capacitar a los autores para que mejoren
revisión. reunión de revisión es opcional. • Los revisores deben ser pares técnicos del los futuros productos de trabajo y el
• Puede ser realizado por un compañero de • Normalmente, la reunión de revisión está autor y expertos técnicos en la misma u proceso de desarrollo de software,
trabajo del autor (comprobación entre dirigida por el autor del producto de otras disciplinas. alcanzar un consenso.
amigos) o por más personas. trabajo. • Es necesario que haya una preparación • Sigue un proceso definido con resultados
• Se pueden documentar los resultados. • El escriba es obligatorio. individual antes de la reunión de revisión. documentados formales, basados en
• El uso de listas de comprobación es • La reunión de revisión es opcional, lo reglas y listas de comprobación.
• Varía en utilidad dependiendo de los
opcional. ideal es que la dirija un facilitador • Utiliza roles claramente definidos, que son
revisores.
• Se pueden elaborar registros de posibles capacitado (normalmente no el autor). obligatorios.
• El uso de listas de comprobación es
defectos e informes de revisión. • El escriba es obligatorio, lo ideal es que no • Es necesario que haya una preparación
opcional.
• En la práctica puede variar de bastante sea el autor. individual antes de la reunión de revisión.
• Utilizado con mucha frecuencia en el
informal a muy formal. • El uso de listas de comprobación es • Los revisores son pares del autor o
desarrollo Ágil.
opcional. expertos en otras disciplinas que son
• Normalmente se elaboran registros de relevantes para el producto de trabajo.
defectos potenciales e informes de • Se utilizan criterios especificados de
revisión. entrada y salida.
• El escriba es obligatorio.
• La reunión de revisión es dirigida por un
facilitador capacitado (no el autor).
• El autor no puede actuar como líder de
revisión, lector o escriba.
• Se elaboran registros de defectos
potenciales e informes de revisión.
• Se recopilan y utilizan métricas para
mejorar el proceso de desarrollo.
Proceso de revisión de productos de trabajo
Comunicar y
Iniciar Revisión
• Definir Alcance y • Revisar todo o parte del Analizar Cuestiones • Elaborar informes de defecto
• Corregir defectos
Objetivo producto de trabajo
• Recopilar Métricas
• Estimar esfuerzo y • Distribuir producto de • Notificar posibles • Comunicar defectos
• Comprobar cumplimiento de
plazos trabajo defectos, • Evaluar y documentar criterios de salida
• Definir Criterios de • Explicar objetivos, recomendaciones y características de • Aceptar Producto de Trabajo
alcance, proceso… preguntas Calidad cuando se alcanza los criterios
Entrada y Salida de salida
• Evaluar los hallazgos de
la revisión
Planificar Revisión Individual Corregir e Informar
Factores de éxito para las revisiones
• Las revisiones se deben desarrollar orientadas al logro de objetivos , es decir, las desviaciones en el objeto
revisado deben ser establecidas de forma imparcial
• El autor del objeto revisado deberá ser motivado de una forma positiva por la revisión (“su documento será
aún mejor” en lugar de “su documento es de baja calidad”)
• Para la ejecución apropiada de las revisiones será necesario un presupuesto apropiado(10% al 15% del costo
total del desarrollo)
• Hacer uso del efecto de las lecciones aprendidas, utilizar la retroalimentación para implementar un proceso de
Mejora continua
TEMARIO
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III. Pruebas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
115
IV. Técnicas de Prueba
Son procedimientos, reglas, normas o protocolos que ayudan a identificar las condiciones de prueba, los
casos de prueba y los datos de prueba.
116
Especificaciones IEEE829
Diseño de Pruebas
Plan de Diseño del Diseño del Diseño Pruebas Diseño Pruebas Pruebas
Requisitos Sistema detallado existentes detallado existentes tempranas
proyecto Sistema
Riesgos
Riesgos de producto o calidad
Posibilidad de un resultado
negativo o indeseable. Pruebas basadas en Riesgos
Posibilidad de que el sistema
falle para satisfacer a los
Probabilidad de que llegue a clientes, usuarios u otros Reducen riesgos de calidad a
ser un resultado interesados. lo largo de todo el proyecto
• >0, < 1 en el futuro Guían el proceso de pruebas
• 0 o 1 en el pasado
Involucra a interesados del
negocio a través del proyecto
Parte de la gestión de riesgos
¿Cómo analizar los riesgos de Calidad?
Agrupaciones clásicas: Funcionalidad, Fiabilidad, Usabilidad, Los interesados clave listan los
Funcionalidad, estados y Eficiencia, Mantenibilidad, modos de falla posible, predicen sus
transacciones, calidad de datos, Portabilidad. (FFUEMP) efectos en el sistema, en los usuarios,
capacidad y volumen, manejo de en la sociedad, etc. Asignan
errores y recuperación, rendimiento, Descomponerlos en características severidad, prioridad, probabilidad,
estándares y localización, usabilidad, clave del sistema. luego calculan el número de
etc. prioridad de riesgo (NPR)
Establecer prioridad de pruebas en Establecer prioridad de pruebas por Interesados usan el NPR para guiar la
función a cada riesgo con los subcaraterística con los interesados amplitud y profundidad de las
interesados clave clave pruebas
Pautas para el Análisis de Riesgos
Funcionales o No Basadas en la
• Crean pruebas por medio del análisis de estructura del Funcionales especificación
componente o sistema (código fuente, arquitectura, diseño
detallado u otros)
Basadas en la estructura • Buscan defectos de la manera en que el sistema es construido
• Las especificaciones se utilizan como una fuente adicional de
(caja blanca) información para determinar el resultado esperado de los casos Basadas
de prueba. en la
• La cobertura se mide en base a los elementos probados. experiencia
DESVENTAJA
VENTAJAS
Técnicas basadas en Experiencia
S
• Se basan en:
• Habilidad e intuición Cobertura incompleta,
Efectivas para encontrar defectos
especialmente bajo presión
• Experiencia con aplicaciones similares
• Experiencia con tecnologías similares
Resisten la paradoja del pesticida
• Más que prediseñadas, son creadas durante la ejecución de debido a la alta varianza
Difícil de estimar
pruebas, es decir la estrategia es dinámica
• Son encajonadas en el tiempo (periodos cortos enfocadas en
Eficiente (Mantenimiento liviano
condiciones) de registros)
No hay prevención de defectos
• Ejemplos:
• Predicción de errores, cacería de defectos, “rompimiento del Informes extensos y las
Buena comprobación de pruebas
software”, y pruebas exploratorias. discusiones no escalan a grandes
separadas
equipos
Listas de comprobación
Taxonomía de defectos
Lista de ataques
La documentación disponible
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III.Pruebas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
143
V. Gestión de Pruebas
144
Organización del proceso de Pruebas
Planificación y Estimación
Seguimiento y Control
Gestión de la configuración
Riesgo y proceso de pruebas
Gestión de incidencias
Organización del proceso de pruebas
Pruebas e independencia
• Para proyectos grandes, complejos y críticos para la seguridad, normalmente lo mejor es contar
con varios niveles de pruebas y poner alguno o todos los niveles a cargo de probadores
independientes
• El personal de desarrollo puede participar en las pruebas, especialmente en niveles más bajos
• Los probadores independientes pueden tener potestad para exigir y definir procesos y reglas de
prueba
Prueba Independiente
Los probadores pueden ser más efectivos para encontrar defectos debido a las diferencias entre los sesgos
asociados al conocimiento del autor y del probador, sin embargo, la independencia no es un sustituto de la
familiaridad.
Para la mayoría de los tipos de proyectos, generalmente es mejor que tengan diferentes niveles de prueba,
con algunos de estos niveles tratados por probadores independientes.
La forma en que se implementa la independencia de la prueba varía dependiendo del modelo de ciclo de vida
de desarrollo de software.
En algunas organizaciones que utilizan métodos Ágiles, estos probadores también pueden ser considerados
parte de un equipo de prueba independiente más grande.
los propietarios de producto pueden realizar la prueba de aceptación para validar las historias de usuario al
final de cada iteración
Grado de independencia
- Probadores
+
Probadores Probadores Probadores
Ausencia de probadores independientes Especialistas en
independientes independientes independientes
independientes pero pruebas
(compañeros) (usuarios) externos
desarrolladores
“Sino hay
probadores Ventajas Desventajas
• Aumenta número de • Aislamiento del equipo de
independientes, defectos detectados desarrollo
• Comprueba casos • Dispersión de
entonces los planteados en fases de responsabilidades
desarrolladores especificación e
implementación
• Los programadores pierden
sentido de la responsabilidad
prueban su propio • Credibilidad
• Currículo del probador
para la calidad
• Cuellos de botella
código”
Organización del proceso de pruebas
Enfoques:
• Analítico
• Basado en modelos
• Metódico
• Conforme a Proceso
• Dirigida / consultiva
• Adversa a la regresión (Orientado a la toma de decisiones)
• Reactiva
Criterios de Entrada
Se basa en:
• Entorno
• Herramientas
• Código
• Datos de prueba
Criterios de Entrada
“Definición de Preparado”
Criterios de Continuación
Miden si las
pruebas pueden
Problemas del
seguir entorno de
eficientemente y pruebas
efectivamente
Defectos que
bloquean las
pruebas
Criterios de Salida
Los costos
“Definición de Hecho”
Calendario de Ejecución de Prueba
Ejemplos:
• Repriorización de pruebas originadas por
riesgos.
• Ajustes del calendario debido a la
disponibilidad del entorno de pruebas
• Establecimiento de un criterio de entrada
que necesita la repetición de pruebas de
las correcciones de defectos por los
desarrolladores antes de la integración
en una compilación.
Métricas de pruebas
Resumen / Analizan los resultados El % de finalización de la
Registro de Pruebas
fase de pruebas, e incluye las la ejecución de pruebas, e incluye
siguientes secciones: las siguientes secciones:
• Identificador del informe • Identificador
• Resumen (ej. Lo que fue probado, las • La descripción (Ítems sometidos a pruebas
conclusiones, etc.) con números de versiones, entorno de
• Varianzas (del plan, de los casos, de los pruebas, etc)
procedimientos) • Las entradas de actividades y eventos
• Evaluación comprensiva (Prueba tras prueba, la información de
• Resumen de resultados (ej. Métricas evento tras evento sobre el proceso de
finales, conteos) ejecución de pruebas, los resultados de
• Evaluación (de cada ítem con respecto a los pruebas, los cambios o las cuestiones de
criterios paso/falla) entorno, los defectos, los incidentes o
anomalías observadas, los probadores
• Resumen de actividades (utilización de
involucrados, alguna suspensión o
recursos, eficiencia, etc) obstrucción de las pruebas, los cambios de
• Aprobaciones plan, el impacto del cambio , etc.)
• Establecer y mantener la • La gestión de testware y los • Guardar y controlar acceso a ítems que
integridad del componente o constituyen el sistema
resultados • Identificar y documentar ítems bajo
sistema • Asegurar relación de ítems de control
• Implica: • Permitir cambio de los ítem bajo un
prueba con componentes
• Garantizar la trazabilidad proceso ordenado (ej. Comité de control
conocidos de cambios)
• Elementos de Prueba
• La entrega de una versión de • Informar sobre cambios pendientes, en
• Productos de Prueba proceso, y completos.
• Mantener la documentación
pruebas al laboratorio de
• Verificar completitud de la
pruebas implementación
182
Resumir
- Introducción y Objetivos
I. Fundamentos de Pruebas
II. Pruebas a través del Ciclo de Vida de Software
III.Pruebas Estáticas
IV.Técnicas de Prueba
V. Gestión de Pruebas
VI.Soporte de Herramientas para Pruebas
191
VI. Soporte de Herramientas para Pruebas
192
Propósito de las herramientas de pruebas
• Proporcionan trazabilidad de las pruebas, los resultados y las incidencias para las bases de pruebas
• Permiten el registro de los resultados de pruebas y la generación de informes de progreso
• Ayudan la gestión de pruebas y del proceso de pruebas
• Proporcionan una interfaz para la ejecución de pruebas, el seguimiento de defectos, y las
herramientas de gestión de requisitos
• Proporcionan el control de versiones o la interfaz con una herramienta externa de gestión de
configuraciones
• Realizan un análisis cuantitativo (métricas) relacionado con las pruebas
Pueden incluir:
• Herramientas de diseño de pruebas.
• Herramientas de Prueba Basada en Modelos.
Ayudan a crear productos de trabajo mantenibles • Herramientas de preparación de datos de
en el diseño e implementación de pruebas, prueba.
incluyendo casos de prueba, procedimientos de • Herramientas de desarrollo guiado por prueba
prueba y datos de prueba de aceptación (ATDD) y de desarrollo guiado por
el comportamiento (TDD)
• Herramientas de desarrollo guiado por pruebas
(D)
Clasificación de Herramientas según Actividades que soportan
Pueden incluir:
• Herramientas de ejecución de pruebas
(para ejecutar pruebas de regresión)
Mejoran las actividades de ejecución y registro de • Herramientas de cobertura (D)
pruebas.
• Arneses de prueba (D)
• Herramientas de marco de trabajo de
pruebas unitarias (D)
Clasificación de Herramientas según Actividades que soportan
Pueden incluir:
• Herramientas para la prueba de
son esenciales para dar soporte a las actividades de
pruebas de rendimiento y de carga, ya que estas rendimiento.
actividades no se pueden realizar de forma eficaz • Herramientas de
de forma manual.
monitorización.
• Herramientas de análisis
dinámico (D).
Clasificación de Herramientas según Actividades que soportan
Pueden ser:
• Evaluación de la calidad de los datos.
• Conversión y migración de datos.
Dan soporte a cuestiones más • Prueba de usabilidad.
específicas de la prueba • Prueba de accesibilidad.
• Prueba de localización.
• Prueba de seguridad.
• Prueba de portabilidad.
Otras herramientas de pruebas
• Manipulan o crean bases de datos, archivos o datos para utilizar durante la ejecución
de pruebas
• Crean grandes volúmenes de datos de pruebas útiles
• Validan los datos de pruebas según reglas específicas
• Analizan los datos por la frecuencia de condiciones, etc.
• Mezclan y anonimizan los datos en vivo o de clientes
Herramientas de Seguridad
Beneficios Riesgos
Un sistema relativamente
estable
Eligiendo Pruebas Manuales o Automatizadas
Pruebas adecuadas para Las pruebas manuales
Pruebas adecuadas para Manual, automatizado o inapropiadas engañan a la
las pruebas
las pruebas manuales combinado gente sobre la cobertura de las
automatizadas
pruebas.
• Operaciones y • Regresión y • Funcional
mantenimiento confirmación • Casos de Uso
• Configuración y • Pruebas de Mono (o (escenarios de La automatización inapropiada
compatibilidad aleatorias) usuarios) normalmente falla. Algunas
• Manejo de errores y • Carga, volumen y • Manejo de fecha y hora pruebas mezclan las técnicas.
recuperación capacidad
• Localización • Rendimiento y
• Usabilidad fiabilidad
• Instalación y • Cumplimiento de
configuración estándares
• Documentación y ayuda • Caja blanca,
especialmente de
unidad basadas en un
API, de componente,
integración
• Complejidad estática y
análisis de código
Pruebas para el Éxito con Herramientas de Ejecución de Pruebas
Evalúe el entrenamiento
Considerar otras
Realizar prueba de
herramientas que ya se Evaluar con respecto a
concepto y
encuentran en uso. requisitos claros y
consideraciones de
(compilación e criterios objetivos.
cambios necesarios
integración)
Rompiendo las Barreras para la Automatización
Selección de
Proceso de pruebas Personal Estabilidad Expectativas
herramientas
Ponga Comunique de
primero el manera No hay una
Construya su
Caótico, proceso de Sistema Estabilice el Poco efectiva los apropiada u
propia
reactivo, pruebas Habilidad Contrate o inestable, sistema, GUI realistas por beneficios y oráculo para
herramienta
falto de manual bajo insuficiente capacite que cambia y API parte de la limitaciones de los riesgos
la u oráculo o
tiempo control, rápidamente primero gerencia de calidad
automatizació espere
después n
importantes
automatice
Objetivos y factores de éxito
Objetivos de un Proyecto piloto de automatización