Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 JB Istqb P01 PDF
1 JB Istqb P01 PDF
ALEX VIDAURRE
Curso Taller
ISTQB Foundation
“Taller de Preparación para la Certificación”
Módulo 01
Fundamentos de Pruebas de Software
P-1
www.jbenterprisegroup.com
Agenda
• Fundamentos de Pruebas de SW
– Conceptos y definiciones.
– ¿Por qué es necesario probar?
– ¿Qué son las pruebas?
– Problemática de la comprobación y las pruebas.
– Siete principios de las pruebas.
– Proceso de pruebas fundamental.
– Psicología de las pruebas.
– Código de buenas prácticas.
• ¿QUÉ ES UN “BUG"?
P-2
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
ERROR - DEFECTO - FALLA
P-3
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
– El software no es "lineal":
• Una entrada pequeña puede tener un efecto muy grande
P-4
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
– Permanecer en el negocio
P-5
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
¿POR QUÉ NO "PROBARLO TODO"?
3 opcionesProm. 4 menús
/ menú
• PRUEBAS EXHAUSTIVAS
P-6
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
– Nunca es suficiente
– Cuando se hizo lo planificado
– Cuando el cliente/usuario es feliz
– Cuando se ha demostrado que el sistema funciona
correctamente
– Cuando se tiene la certeza de que el sistema funciona
correctamente
– Depende de los riesgos del sistema
P-7
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
P-8
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
CALIDAD
DEFINICIONES DE CALIDAD
P-9
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
CALIDAD
Calidad
Propiedades
(facilidad de
Cumplir requerimientos mantenimiento, Producto libre de defectos
confiabilidad, rendimiento,
etc.)
P-10
www.jbenterprisegroup.com
¿POR QUÉ ES NECESARIO PROBAR?
• PRUEBAS Y CALIDAD
P-11
www.jbenterprisegroup.com
07 PRINCIPIOS DE LAS PRUEBAS
• PRINCIPIO 1: LAS PRUEBAS DEMUESTRAN LA PRESENCIA DE DEFECTOS
– Las pruebas muestran que los defectos están presentes, pero no pueden
comprobar su ausencia.
– Las pruebas reducen la probabilidad de la presencia de defectos no
descubiertos pero eso no demuestra su ausencia, incluso cuando no se
encontraron defectos durante las pruebas.
– La ausencia de fallos no demuestra que un producto software es correcto.
– El mismo proceso de pruebas puede contener errores.
– Las condiciones de las pruebas pueden ser inapropiadas para detectar
errores.
P-12
www.jbenterprisegroup.com
07 PRINCIPIOS DE LAS PRUEBAS
• PRINCIPIO 3: PROBAR LO MÁS TEMPRANAMENTE POSIBLE
– Las actividades de pruebas deben comenzar tan pronto como sea posible
en el ciclo de vida del desarrollo del software o sistema y deben ser
orientados sobre objetivos definidos.
– La corrección de un defecto es menos costosa en la medida en que su
detección se realice en fases tempranas del proceso software.
– Se obtiene una máxima rentabilidad cuando los errores son corregidos
antes de la implementación.
– Los conceptos y especificaciones pueden ser probados.
– Los defectos detectados en la fases iniciales son corregidos con menor
esfuerzo y costos.
– La preparación de una prueba también consume tiempo.
– El proceso de pruebas implica más que sólo la ejecución de pruebas.
– Las actividades de pruebas pueden ser preparadas antes de que el
desarrollo se haya completado.
– Las actividades de pruebas (incluidas las revisiones) deben ser ejecutadas
en paralelo a la fase de requerimientos y diseño software.
Diseño acorde
Requerimiento Construcción Producto con
Requerimiento 2 con los
correcto con errores bugs
requerimientos
Error en la
Diseño acorde Construcción Producto
especificación
Requerimiento 4 del
con los acorde con el entregado con
requerimientos Diseño deficiencias
requerimiento
P-13
www.jbenterprisegroup.com
07 PRINCIPIOS DE LAS PRUEBAS
PRINCIPIO 3: PROBAR LO MÁS TEMPRANAMENTE POSIBLE
COSTO
Costo de Reparación
1X 10X 100X
TIEMPO
Requerimientos Diseño Construcción Pruebas Tiempo de Uso
P-14
www.jbenterprisegroup.com
07 PRINCIPIOS DE LAS PRUEBAS
• PRINCIPIO 5: LA PARADOJA DEL PESTICIDA
– Si el mismo test se repite una y otra vez, eventualmente el mismo grupo de casos
de prueba ya no encontrará nuevos errores. Para vencer esta “paradoja del pesticida”,
los casos de prueba necesitan ser regularmente revisados y estudiados, y se necesitan
escribir nuevos casos de prueba para ejercitar diferentes partes del software o
sistema para encontrar mas defectos potenciales.
– Repetir pruebas en las mismas condiciones no es efectivo.
– Cada caso de prueba debe contar con una combinación única de parámetros de
entrada para un objeto de pruebas particular, de lo contrario no se podrá obtener
información adicional.
– Si se ejecutan las mismas pruebas de forma reiterada no se podrán encontrar
nuevos defectos.
– Las pruebas deben ser revisadas/modificadas regularmente para los distintos
módulos (código).
– Es necesario repetir una prueba tras una modificación del código (corrección de
defectos, nueva funcionalidad).
– La automatización de pruebas puede resultar conveniente si un conjunto de casos
de prueba se deben ejecutar frecuentemente.
P-15
www.jbenterprisegroup.com
07 PRINCIPIOS DE LAS PRUEBAS
• PRINCIPIO 7: LA FALACIA DE LA AUSENCIA DE ERRORES
– Encontrar y reparar defectos no permite prevenir que el sistema
construido no satisfaga las necesidades y expectativas de los usuarios.
– Un proceso de pruebas adecuado detectará los fallos más importantes.
– En la mayoría de los casos el proceso de pruebas no encontrará todos los defectos del
sistema (ver Principio 2), pero los defectos más importantes deberían ser detectados.
– Esto en sí no prueba la calidad del sistema software.
– La funcionalidad del software puede no satisfacer las necesidades y expectativas de los
usuarios.
– No se puede introducir la calidad a través de las pruebas, ella tiene que
construirse desde el principio.
P-16
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
Implementación y Evaluación de
Planificación Análisis y Diseño Cierre
Ejecución Criterios de Salida
•Determinar el alcance, •Revisar la base de pruebas •Desarrollar, implementar •Comprobar los registros •Confirmar los entregables
riesgos, objetivos y y priorizar casos de de las pruebas contra los de pruebas
•Identificar y priorizar las prueba
estrategia criterios de salida
condiciones y requisitos •Finalizar y archivar el
•Determinar los recursos •Crear datos de prueba •Evaluar si son necesarias testware
•Evaluar la “testability” de más pruebas o si los
•Implementar estrategia los requisitos •Crear procedimientos •Entregar el testware
criterios de salida
•Crear cronograma •Diseñar y priorizar casos •Preparar suites especificados deben ser •Mejorar los procesos
de pruebas modificados.
•Determinar criterios de •Verificar el entorno de
salida •Identificar los datos de pruebas •Elaborar y distribuir los
prueba Informes de Pruebas
•Ejecutar pruebas
•Diseñar el entorno de •Registrar resultados
pruebas
•Analizar los resultados
•Identificar la
infraestructura y •Elaborar los informes y el
herramientas análisis de las incidencias
•Ejecutar las pruebas de
confirmación y regresión
Monitoreo y Control
PLANIFICACIÓN
Monitoreo y control
Planificación
Evaluación de
Análisis y Diseño Ejecución Cierre
Criterios
P-17
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
PLANIFICACIÓN
– Determinar el alcance y riesgos
– Identificar los objetivos de las pruebas y el criterio de finalización de
pruebas
– Determinar el test approach (enfoque de pruebas)
– técnicas de pruebas, elementos a probar, cobertura, identificación
de las interfaces entre los equipos involucrados en las pruebas, y
testware (productos de trabajo producidos durante el proceso de
pruebas)
– Implementar las políticas de pruebas y/o la estrategia de pruebas
– Planificar las tareas de: análisis y diseño; implementación y ejecución de
pruebas; y evaluación
– Adquirir / obtener y programar recursos requeridos por las pruebas:
– Personal, entorno de pruebas, herramientas, presupuesto de
pruebas
– Definir los exit criteria (criterios de salida)
Política de
Pruebas
A Nivel de Empresa
Estrategia de
Pruebas
P-18
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
MONITOREO Y CONTROL
– El monitoreo y control de pruebas es una actividad continua que influye
en la planificación de las pruebas.
• El plan de pruebas puede ser modificado en función de la
retroalimentación proporcionada por esta actividad
– El estado del proceso de pruebas se determina comparando el progreso
logrado con respecto a lo planificado en el plan de pruebas. Se
iniciarán aquellas actividades que se consideraran consecuentemente
necesarias.
– Actividades:
• Medir y analizar los resultados de las revisiones y pruebas
• Proveer información de las pruebas
• Iniciar medidas correctivas
• Tomar decisiones
P-19
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
ANALISIS Y DISEÑO
Monitoreo y control
Evaluación de
Análisis y Diseño Ejecución Cierre
Criterios
Planificación
Construir pruebas
• Evolucionable
Fácil de mantener
• Económico
Barato de usar
P-20
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
P-21
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
Importancia
4 Mejor
grupo
8
Primer grupo Tiempo
P-22
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
Condiciones de Prueba
más importantes
EL DISEÑO DE CASOS DE PRUEBA
Condiciones de Prueba menos
importantes
Importancia
Casos de prueba
Tiempo
P-23
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
Monitoreo y control
Planificación
Evaluación de
Análisis y Diseño Ejecución Cierre
Criterios
EJECUCIÓN
P-24
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
REGISTRO DE PRUEBAS 1
– Siga el plan
• Marcan el progreso en el script de pruebas.
• Documentar los resultados actuales de la prueba.
• Capturar cualquier otra idea que se tenga para los casos de prueba nuevos.
• Observemos que estos registros se utilizan para establecer que todas las
actividades de prueba se han llevado a cabo tal como se especifica.
REGISTRO DE PRUEBAS 2
P-25
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
EVALUACIÓN DE CRITERIOS
Monitoreo y control
Planificación
Evaluación de
Análisis y Diseño Ejecución Cierre
Criterios
Comprobar
Especificación Ejecución Registro
termino
Cobertura
OK
P-26
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
CIERRE
Monitoreo y control
Planificación
Evaluación de
Análisis y Diseño Ejecución Cierre
Criterios
P-27
www.jbenterprisegroup.com
PROCESO DE PRUEBAS FUNDAMENTAL
CIERRE
Intelectual
Planificación
Actividad
única
Análisis y Diseño
Es bueno
Actividades automatizar
repetidas
Ejecución muchas
veces
P-28
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
– Crear confianza
– Demostrar que el software es correcto
– Demostrar conformidad con los requisitos
– Encontrar defectos
– Reducir costos
– Demostrar que el sistema cumple con las necesidades del
usuario
– Evaluar la calidad del software
Confianza
Error encontrado
Tiempo
¿sin fallas encontradas = confianza?
P-29
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
¿Crees que
está aquí?
LA EVALUACIÓN DE LA CALIDAD DEL SOFTWARE
Pocas Pocas
Fallas Fallas
Usted puede
estar aquí
Bajo
Calidad de las pruebas
Resultado: fallas no
identificadas
P-30
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
P-31
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
– Es un proceso destructivo.
– Lleva malas noticias (“tu bebé es feo")
– Se trabaja bajo presión (al final).
– Necesidad de tener una visión diferente, una mentalidad diferente
("¿Qué pasa si no lo es?", "¿Qué podría salir mal?")
– ¿Cómo deben ser comunicadas las fallas? (a los autores y gestores).
P-32
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
• LOS PROBADORES TIENEN LA RESPONSABILIDAD DE:
– Seguir los planes de pruebas, scripts, etc. tal y como están
documentados.
– Informar de manera objetiva y con evidencias las fallas (¡sin abuso!)
– Comprobar si las pruebas son correctas antes de informar sobre las
fallas.
– Recordar que es el software, no al programador, el objeto bajo
pruebas.
– Evaluar el riesgo de manera objetiva.
– Priorizar lo que se informa.
– Comunicar la verdad.
• INDEPENDENCIA
P-33
www.jbenterprisegroup.com
PSICOLOGÍA DE LAS PRUEBAS
NIVELES DE INDEPENDENCIA
EL CLIENTE Y Los probadores de software certificados deberían actuar de una manera que esté en coherencia con el mejor
EMPLEADOR interés de su cliente, empleador e interés público.
EL PRODUCTO Los probadores de software certificados deberían asegurar que los entregables que proporcionan (en
referencia a los productos y sistemas que prueban) cumplan con los mas altos estándares posibles.
EL JUICIO Los probadores de software certificados deberían mantener la integridad e independencia en su juicio
profesional.
LA GESTIÓN Los jefes y líderes de pruebas de software certificados suscribirán y promoverán un método ético para la
gestión de pruebas de software.
LA PROFESIÓN Los probadores de software certificados deberían promover la integridad y reputación de la profesión en
conformidad con el interés público.
LOS COLEGAS Los probadores de software certificados deberían ser justos con sus colegas además de ser de gran ayuda
para ellos y promover la cooperación con los desarrolladores de software.
UNO MISMO Los probadores de software certificados deberían participar en el aprendizaje permanente con relación a la
práctica de su profesión y debería promover la adopción de un enfoque ético en la práctica de la profesión.
P-34
www.jbenterprisegroup.com
Gracias por su
atención!
Preguntas?
P-35
www.jbenterprisegroup.com