ISO/IEC/IEEE 29119El nuevo estándar
internacional para pruebas
de software
Grupo de trabajo
AEN/CTN 71/SC7/GT26 – Ingeniería del Software y Sistemas de Información – Pruebas del Software
http://in2test.lsi.uniovi.es/gt26/
Madrid, 18 de Junio de 2014
Grupo de Trabajo
AEN/CTN71/SC7/GT26 Pruebas de Software
ISO/IEC/IEEE 29119 – Pruebas de software 2AEN/CTN 71/SC7/GT26 - AENOR
Javier Tuya
Universidad de Oviedo
(coordinador del GT26)
Mª José Escalona
Isabel Ramos
José Marañón
Awnaba Software
Celestina
Bianco
Xavier
Escudero
Ewout van Driel
Serial Testers
Ramón Lema
Juan M. Valera
Clara García
Manuel Fdez.
Lidia Cruz
Total: 18 miembros, 12 organizaciones diferentes
ISO/AENOR Estructura de
Comités y Grupos de trabajo
ISO/IEC & Organismos nacionales
Comités ISO y Grupos de Trabajo:
ISO: International Organizationfor Standarization
JTC1: Tecnología de la Información
SC7: Ingeniería de Software y Sistemas
WG26: Pruebas de software
Organismos nacionales (ES)
AENOR: Asociación Española de Normalización y Certificación
GT26: Pruebas del Software
http://in2test.lsi.uniovi.es/gt26/
ISO/IEC/IEEE 29119 – Pruebas de software 3AEN/CTN 71/SC7/GT26 - AENOR
ISO IEC
JTC1
SC7
WG26
AENOR
CTN71
SC7
GT26
Contenidos
Estándares para pruebas y problemática
Elaboración y estructura de ISO/IEC/IEEE 29119 Software Testing
Parte 1 – Conceptos y definiciones
Parte 2 – Modelo de procesos de pruebas
Parte 3 – Documentación de pruebas
Parte 4 – Técnicas de prueba
Estado actual, futuro y conclusión
ISO/IEC/IEEE 29119 – Pruebas de software 4AEN/CTN 71/SC7/GT26 - AENOR
Para qué un estándar para
Pruebas de software?
Cuerpo de conocimiento como base para esta disciplina profesional Alto grado de acuerdo internacional
Adaptable (Tayloring)
Cliente: Confianza en el proveedor
Benchmark para “buena” práctica industrial
Vinculación contractual
Proveedor: Comunicación – terminología común
Certificación/Acreditación, marketing
Cualificación professional, formación
Mejora continua, Interoperabilidad, consistencia…
ISO/IEC/IEEE 29119 – Pruebas de software 5AEN/CTN 71/SC7/GT26 - AENOR
Qué estándares para Pruebas
de Software podríamos usar?
Estándares BSI BS 7925-1, SW Testing: Part 1-Vocabulary
BS 7925-2, SW Testing: Part 2-Software Component Testing
Estándares IEEE testing: IEEE Std 829, Software Test Documentation
IEEE Std 1008, Software Unit Testing
Estándares sectoriales
Cuerpo de conocimiento y metodologías, p.e. ISTQB
TMap Next®
Otros estándares de tipo general: ISO/IEC 12207, 15289
ISO/IEC/IEEE 29119 – Pruebas de software 6AEN/CTN 71/SC7/GT26 - AENOR
Qué problemas plantean
algunos de estos estándares?
IEEE & BSI Standards IEEE 829: documentación (proceso implícito)
IEEE 1008: pruebas unitarias
BS 7925-1 & 2: pruebas unitarias
Aspectos clave sin cubrir para un estándar de propósitogeneral: Pruebas no unitarias (integración, sistema, aceptación)
Modelo de procesos explíctio
Aspectos organizativos y gestión del proyecto. Riesgos
Visión más completa de técnicas de prueba
Definiciones en conflicto, procesos y procedimientos
Qué estándar seguir?
ISO/IEC/IEEE 29119 – Pruebas de software 7AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 Software
Testing - Inicio
Propuesta de proyecto 29119 de ISO: Feb 2007 Alcance: “This project will produce a software testing
standard applicable to all types of software products and software-intensive systems”
Propósito: “to unify and integrate the currently fragmented corpus of normative literature regarding testing that is currently offered by three distinct standards-makers: BSI, IEEE, and ISO/IEC JTC 1/SC 7. The result of the project will be a consistent, unified treatment adopted by all three organizations”
Cuatro partes (Conceptos, procesos, documentación, diseño de pruebas)
ISO/IEC/IEEE 29119 – Pruebas de software 8AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 Software
Testing - Estructura
BS 7925-1
BS 7925-2 IEEE 829
Conceptos y Definiciones
Parte 1
Técnicas de
Prueba
Parte 4
Documentación
Parte 3Parte 2
Procesos
Pruebas
Dirigidas por
Palabras Clave
Parte 5
Evaluación de
Procesos
ISO/IEC 33063
Técnicas de
Pruebas
Estáticas
Parte 6IEEE 1028
May
10
May
11
May
12
May
13…
ISO/IEC/IEEE 29119 - Elaboración
Working Draft (WD)
Committee Draft (CD)
Draft International Standard (DIS)
Final Draft International Standard (FDIS)
International Standard
WDCD1
DIS1
FDISWD
CD1
DISFDIS
CD2CD3
CD2CD3
ISO/IEC/IEEE 29119 – Pruebas de software
May
14
DIS2
Partes 1, 2 & 3
Parte 4
Parte 5
WDCD
Parte 1 – Conceptos y Definiciones
Términos y definiciones prueba estática y dinámica, base de prueba, tipo de prueba,
subproceso de prueba …
Conceptos sobre pruebas de software: Las pruebas de software en las organizaciones
Los procesos de prueba en los ciclos de vidas (visión general)
Pruebas basadas en riesgos
Subprocesos de prueba
Estrategias de prueba
Automatización de las pruebas
Problemas en la gestión
ISO/IEC/IEEE 29119 – Pruebas de software 11AEN/CTN 71/SC7/GT26 - AENOR
Parte 1 – Conceptos y Definiciones
Anexos: ANEXO A. El papel de las pruebas en la verificación y la
validación
ANEXO B. Métricas
ANEXO C. Pruebas en diferentes modelos de ciclo de vida(Desarrollo ágil, Desarrollo secuencial, Desarrollo evolutivo)
ANEXO D. Ejemplos de subprocesos de prueba detallados(Aceptación, Desarrollo, Integración, Personalización, Regresión, etc.)
ANEXO E. Roles y responsabilidades en el testing
ISO/IEC/IEEE 29119 – Pruebas de software 12AEN/CTN 71/SC7/GT26 - AENOR
Parte 2 - Modelo de Procesos
de pruebas
13
Procesos de prueba de la organización
Procesos de gestión de las pruebas
PlanificaciónControl y
seguimientoFinalización
Procesos de pruebas dinámicas
Diseño e
Implement.
Gestión del
entorno Ejecución
Reporte de
incidencias
ISO/IEC/IEEE 29119 – Pruebas de softwareAEN/CTN 71/SC7/GT26 - AENOR
P2 Especificación pruebas
de la organización
ISO/IEC/IEEE 29119 – Pruebas de software 14AEN/CTN 71/SC7/GT26 - AENOR
Especificación de pruebas de la organización
Política de pruebasEstrategia(s) de
pruebas
Objetivos
Alcance
Organización
Principios gobernantes
Procesos
Responsables
Productos
Técnicas
Herramientas
P2 Procesos de Gestión
ISO/IEC/IEEE 29119 – Pruebas de software 15AEN/CTN 71/SC7/GT26 - AENOR
Procesos de
Gestión de Pruebas
Procesos de Pruebas
Dinámicas
Política
y estrategia de pruebasRealimentación para la política
y estrategia de pruebas
Plan, Informe del estado
Informe de finalización,
MétricasMétricas
Plan, Directrices
de Control
Métricas
Informe de
FinalizaciónResultadosPlan
Actualizaciones del
Plan
PlanificaciónControl y
seguimientoFinalización
Procesos de Pruebas de la Organización
Procesos de Pruebas
Dinámicas
Procesos de Gestión de pruebas
Plan, Directrices
de Control
Plan, Directrices
de Control
P2 Aplicación recursiva
de procesos - Ejemplo
ISO/IEC/IEEE 29119 – Pruebas de software 16AEN/CTN 71/SC7/GT26 - AENOR
Gestión de las pruebas
del proyecto
Pruebas
estáticas
Pruebas
de sistema
Pruebas
de usabilidad
Pruebas
de aceptación
Gestión de
pruebas
estáticas
Gestión de
pruebas
de sistema
Gestión de
pruebas
de usabilidad
Gestión de
pruebas
de aceptación
Gestión de las pruebas
de la organización
Política de pruebas
Estrategia de pruebas de la organización
Plan de pruebas del proyecto
P.d.P.
estáticas
P.d.P.
de sistemaP.d.P.
de usabilidad
P.d.P.
de aceptación
Pruebas estáticas (revisiones, análisis estático…): cubierto por otras normas, p.e. IEEE 1012, 1028
...
...
ISO/IEC/IEEE 29119 – Pruebas de software 17AEN/CTN 71/SC7/GT26 - AENOR
Entender el
Contexto (TP1)Organizar el
Plan de
Pruebas (TP2)
Determinar
personal y
calendario (TP6)Registrar el
Plan de
Pruebas (TP7)
Estrategia de Prueba
Borrador Plan
de Pruebas
Consenso del
plan de pruebas
(TP8)
Aprobación Plan
de Pruebas
Plan de
Pruebas
Alcance
Comunicar
Plan de
Pruebas (TP9)
Calendario y
Perfil del Personal
Identificar las
mitigaciones
de riesgos (TP4)Diseñar la
Estrategia de
Pruebas (TP5)
Análisis de
RiesgosIdentificar y
Analizar
Riesgos (TP3) Enfoque de Mitigación
P2 Procesos de Gestión
Calendario del plan de pruebas
Planificación
ISO/IEC/IEEE 29119 – Pruebas de software 18AEN/CTN 71/SC7/GT26 - AENOR
Entender el
Contexto (TP1)Organizar el
Plan de
Pruebas (TP2)
Determinar
personal y
calendario (TP6)Registrar el
Plan de
Pruebas (TP7)
Borrador Plan
de Pruebas
Consenso del
plan de pruebas
(TP8)
Aprobación Plan
de Pruebas
Plan de
Pruebas
Alcance
Comunicar
Plan de
Pruebas (TP9)
Calendario y
Perfil del Personal
P2 Procesos de Gestión
Calendario del plan de pruebas
Planificación
Identificar
mitigación
de riesgos (TP4) Diseñar la
Estrategia de
Pruebas (TP5)
Análisis de
RiesgosIdentificar y
Analizar
Riesgos (TP3)
Enfoque de
Mitigación
Estrategia de
Prueba
ISO/IEC/IEEE 29119 – Pruebas de software 19AEN/CTN 71/SC7/GT26 - AENOR
…Procesos de Pruebas…
Procesos de
Gestión de Pruebas
Procesos
de Pruebas
Dinámicas
PlanPreparación
(TMC1)
Control
(TMC3)
Reporte
(TMC4)
Monitorización
(TMC2) Progreso
Métricas
Métricas
Directrices
de Control
Progreso
Informe del estado de las pruebas
[Pruebas
Completas]
[Pruebas Incompletas]
<<Instanciado>>
<<Instanciado>>
Control
P2 Procesos de Gestión
Seguimiento y
Control
ISO/IEC/IEEE 29119 – Pruebas de software 20AEN/CTN 71/SC7/GT26 - AENOR
P2 Procesos de Gestión
Lecciones Aprendidas
Informe Finalización
Archivar
Activos
(TC1)
Limpiar
Entorno
(TC2)
Lecciones
Aprendidas
(TC3)
Informar
Finalización
(TC4)
Finalización
Entorno disponible
P2 Procesos de Pruebas
Dinámicas
ISO/IEC/IEEE 29119 – Pruebas de software 21AEN/CTN 71/SC7/GT26 - AENOR
Diseño e
implementación
de pruebas
Ejecución de pruebas
[Sin
incidencias]Especificación
de pruebas
Resultados
de pruebas
Preparación y
mantenimiento
del entorno de pruebas
Informe de
incidencias
en pruebas
Requisitos
del
entorno de
pruebas
Informe de entorno
de pruebas
disponible
[Incidencia
detectada
O Repetir
prueba]
Informe
de
incidencia
Procesos de Gestión de pruebas
Métricas Directrices de ControlPlan de Pruebas
Procesos de Pruebas Dinámicas
P2 Procesos de Pruebas
Dinámicas
ISO/IEC/IEEE 29119 – Pruebas de software 22AEN/CTN 71/SC7/GT26 - AENOR
Identificar juegos de
características (TD1)
Derivar condiciones
de prueba (TD2)
Derivar elementos de
cobertura de prueba (TD3)
Derivar casos
de prueba (TD4)
Ensamblar conjuntos
de pruebas (TD5)
Derivar procedimientos
de prueba (TD6)
Base de pruebas
(Test basis)
Juegos de características
Condiciones de prueba (test conditions)
Elementos de cobertura de prueba
(test coverage ítems)
Casos de prueba
Conjuntos de pruebas
Procedimientos y
scripts de
prueba
Diseño e Implementación
P2 Procesos de Pruebas
Dinámicas
ISO/IEC/IEEE 29119 – Pruebas de software 23AEN/CTN 71/SC7/GT26 - AENOR
Identificar juegos de
características (TD1)
Ensamblar conjuntos
de pruebas (TD5)
Derivar procedimientos
de prueba (TD6)
Base de pruebas
(Test basis)
Juegos de características
Conjuntos de pruebas
Procedimientos y
scripts de
prueba
Derivar condiciones
de prueba (TD2)
Condiciones de prueba (test conditions)
Derivar casos
de prueba (TD4)
Casos de prueba
Derivar elementos de
cobertura de prueba (TD3)
Elementos de cobertura de
prueba (test coverage ítems)
Diseño e Implementación
Parte 3 – Documentación
Define plantillas que pueden ser utilizadas para generardocumentación (information items) producto de los procesos de la parte 2 Diferentes formas: registro electrónico, dividido, combinado
Conformidad adaptada: según procesos de P2 o segúnnecesidades de proyecto/organización.
Ejemplos (Anexos C a S). Versiones diferentes para proyectos ágiles y tradicionales, p.e. Políticas y estrategias de la organización
Plan de pruebas e informes de estado
Especificaciones de pruebas, entorno y datos
Mapeo a otros estándares (Anexo T): IEEE 829:2008, BS 7925-2 1998
ISO/IEC 15289, ISO/IEC 25051:2006
ISO/IEC/IEEE 29119 – Pruebas de software 24AEN/CTN 71/SC7/GT26 - AENOR
Parte 4 –Técnicas para el diseño
de las pruebas
Conformidad Total: Subconjunto elegido de técnicas
Adaptada: Subconjunto de requisitos. Nuevas Técnicas
Técnicas para el diseño de las pruebas Basadas en las especificaciones
Basadas en la estructura
Basada en la experiencia
Medidas de cobertura
Anexos Anexo A. Características de calidad
Anexo B, C y D. Guías y ejemplos de aplicación de las diferentes técnicas de diseño
Anexo E. Efectividad en el cálculo de la cobertura
ISO/IEC/IEEE 29119 – Pruebas de software 25AEN/CTN 71/SC7/GT26 - AENOR
P4 Clasificación de las técnicas de
diseño de las pruebas
ISO/IEC/IEEE 29119 – Pruebas de software 26AEN/CTN 71/SC7/GT26 - AENOR
Particiones de clases de equivalencia
Método de árboles de clasificaciones
Análisis de valores límite
Pruebas de sintaxis
• All Combinations Testing / todas las combinaciones
• Pair-wise testing / todas las parejas
• Base choice testing / selección de la base más probable
• Each choice testing / selección de cada opción
Pruebas combinatorias
Tablas de decisiones
Análisis de causas y efectos
Pruebas de transiciones de estados
• Pruebas de casos de uso
Pruebas de escenarios
Basa
da
s e
n la
s
esp
ecific
acio
ne
s
P4 Clasificación de las técnicas de
diseño de las pruebas
ISO/IEC/IEEE 29119 – Pruebas de software 27AEN/CTN 71/SC7/GT26 - AENOR
Basadas en la experiencia: Error guessing
P4 Medición de la cobertura
alcanzada
Cobertura: cobertura alcanzada por una técnica de diseño
N: número de elementos de cobertura incluidos en casosde prueba ejecutados
T: número de elementos de cobertura identificados
ISO/IEC/IEEE 29119 – Pruebas de software 28AEN/CTN 71/SC7/GT26 - AENOR
𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎 =𝑁
𝑇∗ 100 %
Estado actual (Junio 2014)
Estándares internacionales publicados (Agosto 2013) 29119-1, 2, 3: Conceptos, Procesos, Documentación
Próximamente 29119-4 Técnicas de prueba: DIS-2 (FDIS previsto fin 2014)
En progreso Business Plan para divulgación en desarrollo
29119-5 Keyword-driven Testing: CD
33063 Modelo de evaluación de proceso para procesos de pruebas de software DIS
33000 renombra serie 15504 (análogo a CMMI)
33063 Usa 29119-2 como modelo de procesos de referencia
ISO/IEC/IEEE 29119 – Pruebas de software 29AEN/CTN 71/SC7/GT26 - AENOR
El futuro – Business Plan
Actividades a corto plazo (5 años) Trabajo técnico (estándares, tech. reports)
Integración con otros estándares/frameworks de la industria, y grupos del JTC1 (liaisons)
Mejora del proceso interno, surveys, nuevos miembros…
ISO/IEC/IEEE 29119 – Pruebas de software 30AEN/CTN 71/SC7/GT26 - AENOR
Test Processes Maturity Levels
Model-based testing
29119 for outsourcing/offshoring
29119 for mobile testing
29119 in different industry sectors
29119 and RBT
29119 Test Metrics
Selecting Test Techniques
Product Line Engineering applied to testing
29119 for agile
How to tailor the standards
Test Reporting
Tester Skills and Capabilities
Automation
Exploratory Testing
High Volume Automated Testing
29119 relationship with safety-related
Data-centric testing
Test data sanitization
Non-functional testing
29119 in the cloud
potential areas where standards or technical reports could be developed
Conclusión
El estándar internacional ISO/IEC 29119 proporciona las directrices para las pruebas cubriendo todos los aspectos del ciclo de vida: Composición consistente de definiciones, procesos,
procedimientos y técnicas para las pruebas de software
Soluciona dispersión existente actualmente
Cubre huecos no cubiertos por estándares existentes
Adoptado por los comités de normalización nacionales, IEEE y BSI
Actualmente representado por 26 naciones, revisado por profesionales de las pruebas de software en todo el mundo
El siguiente paso en la profesionalización de esta industria.
Más información:
Grupo de trabajo GT26: http://in2test.lsi.uniovi.es/gt26/
ISO/IEC/IEEE 29119 – Pruebas de software 31AEN/CTN 71/SC7/GT26 - AENOR
Top Related