ISO/IEC/IEEE 29119 El nuevo estándar internacional para pruebas

Anuncio
ISO/IEC/IEEE 29119
El 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
Javier Tuya
Universidad de Oviedo
(coordinador del GT26)
Celestina
Bianco
Ramón Lema
Juan M. Valera
Clara García
Manuel Fdez.
Lidia Cruz
Mª José Escalona
Isabel Ramos
Ewout van Driel
Serial Testers
José Marañón
Awnaba Software
Xavier
Escudero
Total: 18 miembros, 12 organizaciones diferentes
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
2
ISO/AENOR Estructura de
Comités y Grupos de trabajo

ISO/IEC & Organismos
nacionales

Comités ISO y Grupos de
Trabajo:

ISO
IEC
JTC1
SC7
WG26
AEN/CTN 71/SC7/GT26 - AENOR
ISO: International Organization
for Standarization
 JTC1: Tecnología de la
Información
 SC7: Ingeniería de Software y
Sistemas
 WG26: Pruebas de software
AENOR
CTN71
SC7
GT26

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
3
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
4
Para qué un estándar para
Pruebas de software?

Cuerpo de conocimiento como base
para esta disciplina profesional



Cliente:




Alto grado de acuerdo internacional
Adaptable (Tayloring)
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…
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
5
Qué estándares para Pruebas
de Software podríamos usar?

Estándares BSI



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.



BS 7925-1, SW Testing: Part 1-Vocabulary
BS 7925-2, SW Testing: Part 2-Software Component Testing
ISTQB
TMap Next®
Otros estándares de tipo general: ISO/IEC 12207, 15289
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
6
Qué problemas plantean
algunos de estos estándares?

IEEE & BSI Standards




Aspectos clave sin cubrir para un estándar de propósito
general:






IEEE 829: documentación (proceso implícito)
IEEE 1008: pruebas unitarias
BS 7925-1 & 2: pruebas unitarias
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?
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
7
ISO/IEC/IEEE 29119 Software
Testing - Inicio

Propuesta de proyecto 29119 de ISO: Feb 2007
“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)
 Alcance:
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
8
ISO/IEC/IEEE 29119 Software
Testing - Estructura
Parte 1
Conceptos y Definiciones
BS 7925-1
Parte 4
Parte 2
Parte 3
Técnicas de
Prueba
Procesos
Documentación
BS 7925-2
Parte 5
Pruebas
Dirigidas por
Palabras Clave
IEEE 829
ISO/IEC 33063
Parte 6
Evaluación de
Procesos
Técnicas de
Pruebas
Estáticas
IEEE 1028
ISO/IEC/IEEE 29119 - Elaboración
Working Draft (WD)
Committee Draft (CD)
Draft International Standard (DIS)
Final Draft International Standard (FDIS)
International Standard
CD1
WD
WD
…
May
10
CD2
CD1
Partes 1, 2 & 3
Parte 4
Parte 5
CD3
CD2
DIS
CD3
FDIS
DIS1
WD
May
11
May
12
ISO/IEC/IEEE 29119 – Pruebas de software
May
13
DIS2
FDIS
CD
May
14
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
11
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
12
Parte 2 - Modelo de Procesos
de pruebas
Procesos de prueba de la organización
Procesos de gestión de las pruebas
Planificación
Control y
seguimiento
Finalización
Procesos de pruebas dinámicas
Diseño e
Implement.
AEN/CTN 71/SC7/GT26 - AENOR
Gestión del
entorno
Ejecución
ISO/IEC/IEEE 29119 – Pruebas de software
Reporte de
incidencias
13
P2 Especificación pruebas
de la organización
Especificación de pruebas de la organización
Política de pruebas
Estrategia(s) de
pruebas
Objetivos
Alcance
Organización
Principios gobernantes
Procesos
Responsables
Productos
Técnicas
Herramientas
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
14
P2 Procesos de Gestión
Procesos de Pruebas de la Organización
Política
y estrategia de pruebas
Realimentación para la política
y estrategia de pruebas
Procesos de Gestión de pruebas
Actualizaciones del
Plan
Plan
Planificación
Control y
seguimiento
Plan, Informe del estado
Informe de finalización,
Métricas
Plan, Directrices
de Control
Procesos de
Gestión de Pruebas
Plan, Directrices
de Control
Informe de
Finalización
Resultados
Finalización
Plan, Directrices
de Control
Métricas
Procesos de Pruebas
Dinámicas
Métricas
Procesos de Pruebas
Dinámicas
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
15
P2 Aplicación recursiva
de procesos - Ejemplo
Gestión de las pruebas
de la organización
Política de pruebas
Estrategia de pruebas de la organización
Gestión de las pruebas
del proyecto
Plan de pruebas del proyecto
Gestión de
pruebas
estáticas
P.d.P.
estáticas
Pruebas
estáticas

Gestión de
pruebas
de sistema
P.d.P.
de sistema
Gestión de
pruebas
de usabilidad
P.d.P.
de usabilidad
Pruebas
de sistema
Gestión de
pruebas
de aceptación
...
P.d.P.
de aceptación
Pruebas
de usabilidad
Pruebas
de aceptación
...
Pruebas estáticas (revisiones, análisis estático…): cubierto por otras normas, p.e. IEEE 1012, 1028
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
16
P2 Procesos de Gestión
Alcance
Entender el
Contexto (TP1)
Calendario del plan de pruebas
Organizar el
Plan de
Pruebas (TP2)
Identificar y
Analizar
Riesgos (TP3)
Análisis de
Riesgos
Identificar las
mitigaciones
de riesgos (TP4)
Planificación
Plan de
Pruebas
Consenso del
plan de pruebas
(TP8)
Comunicar
Plan de
Pruebas (TP9)
Registrar el
Plan de
Pruebas (TP7)
Determinar
personal y
calendario (TP6)
Enfoque de Mitigación
Diseñar la
Estrategia de
Pruebas (TP5)
Estrategia de Prueba
Calendario y
Perfil del Personal
Borrador Plan
de Pruebas
Aprobación Plan
de Pruebas
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
17
P2 Procesos de Gestión
Alcance
Entender el
Contexto (TP1)
Calendario del plan de pruebas
Organizar el
Plan de
Pruebas (TP2)
Identificar y
Analizar
Riesgos (TP3)
Planificación
Plan de
Pruebas
Consenso del
plan de pruebas
(TP8)
Comunicar
Plan de
Pruebas (TP9)
Registrar el
Plan de
Pruebas (TP7)
Análisis de
Riesgos
Identificar
mitigación
de riesgos (TP4)
Determinar
personal y
calendario (TP6)
Enfoque de
Mitigación
Diseñar la
Estrategia de
Pruebas (TP5)
Estrategia de
Prueba
Calendario y
Perfil del Personal
Borrador Plan
de Pruebas
Aprobación Plan
de Pruebas
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
18
P2 Procesos de Gestión
Seguimiento y
Control
Informe del estado de las pruebas
Progreso
Plan
Reporte
(TMC4)
Control
Preparación Métricas Monitorización
(TMC1)
(TMC2)
Progreso
Control
(TMC3)
[Pruebas
Completas]
Directrices
de Control
Métricas
Procesos
de Pruebas
Dinámicas
[Pruebas Incompletas]
…Procesos de Pruebas…
<<Instanciado>>
<<Instanciado>>
Procesos de
Gestión de Pruebas
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
19
P2 Procesos de Gestión
Archivar
Activos
(TC1)
Limpiar
Entorno
(TC2)
Entorno disponible
Lecciones
Aprendidas
(TC3)
Finalización
AEN/CTN 71/SC7/GT26 - AENOR
Lecciones Aprendidas
Informar
Finalización
(TC4)
ISO/IEC/IEEE 29119 – Pruebas de software
Informe Finalización
20
P2 Procesos de Pruebas
Dinámicas
Procesos de Gestión de pruebas
Plan de Pruebas
Métricas
Directrices de Control
Procesos de Pruebas Dinámicas
Diseño e
implementación
de pruebas
Requisitos
del
entorno de
pruebas
[Sin
incidencias]
Ejecución de pruebas
[Incidencia
detectada
O Repetir
prueba]
Preparación y
mantenimiento
del entorno de pruebas
AEN/CTN 71/SC7/GT26 - AENOR
Resultados
de pruebas
Especificación
de pruebas
Informe de entorno
de pruebas
disponible
ISO/IEC/IEEE 29119 – Pruebas de software
Informe
de
incidencia
Informe de
incidencias
en pruebas
21
P2 Procesos de Pruebas
Dinámicas
Identificar juegos de Juegos de características
características (TD1)
Diseño e Implementación
Derivar condiciones Condiciones de prueba (test conditions)
de prueba (TD2)
Derivar elementos de
cobertura de prueba (TD3)
Elementos de cobertura de prueba
(test coverage ítems)
Derivar casos
de prueba (TD4)
Casos de prueba
Ensamblar conjuntos Conjuntos de pruebas
de pruebas (TD5)
Procedimientos y
Base de pruebas
(Test basis)
scripts de
Derivar procedimientos prueba
de prueba (TD6)
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
22
P2 Procesos de Pruebas
Dinámicas
Identificar juegos de Juegos de características
características (TD1)
Diseño e Implementación
Derivar condiciones Condiciones de prueba (test conditions)
de prueba (TD2)
Derivar elementos de
cobertura de prueba (TD3)
Elementos de cobertura de
prueba (test coverage ítems)
Derivar casos Casos de prueba
de prueba (TD4)
Ensamblar conjuntos Conjuntos de pruebas
de pruebas (TD5)
Procedimientos y
Base de pruebas
(Test basis)
scripts de
Derivar procedimientos prueba
de prueba (TD6)
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
23
Parte 3 – Documentación

Define plantillas que pueden ser utilizadas para generar
documentación (information items) producto de los
procesos de la parte 2



Ejemplos (Anexos C a S). Versiones diferentes para
proyectos ágiles y tradicionales, p.e.




Diferentes formas: registro electrónico, dividido, combinado
Conformidad adaptada: según procesos de P2 o según
necesidades de proyecto/organización.
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
24
Parte 4 –Técnicas para el diseño
de las pruebas

Conformidad



Técnicas para el diseño de las pruebas





Total: Subconjunto elegido de técnicas
Adaptada: Subconjunto de requisitos. Nuevas Técnicas
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
25
P4 Clasificación de las técnicas de
diseño de las pruebas
Particiones de clases de equivalencia
Método de árboles de clasificaciones
Basadas en las
especificaciones
Análisis de valores límite
Pruebas de sintaxis
Pruebas combinatorias
• 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
Tablas de decisiones
Análisis de causas y efectos
Pruebas de transiciones de estados
Pruebas de escenarios
• Pruebas de casos de uso
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
26
P4 Clasificación de las técnicas de
diseño de las pruebas
Basadas en la experiencia: Error guessing
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
27
P4 Medición de la cobertura
alcanzada
𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎 =

Cobertura:
N:

T:

𝑁
∗ 100 %
𝑇
cobertura alcanzada por una técnica de diseño
número de elementos de cobertura incluidos en casos
de prueba ejecutados
número de elementos de cobertura identificados
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
28
Estado actual (Junio 2014)

Estándares internacionales publicados (Agosto 2013)


Próximamente


29119-1, 2, 3: Conceptos, Procesos, Documentación
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
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
29
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…
potential areas where standards or technical reports could be developed
Test Processes Maturity Levels
Test Reporting
Model-based testing
Tester Skills and Capabilities
29119 for outsourcing/offshoring
Automation
29119 for mobile testing
29119 in different industry sectors
29119 and RBT
29119 Test Metrics
Exploratory Testing
High Volume Automated Testing
29119 relationship with safety-related
Selecting Test Techniques
Data-centric testing
Product Line Engineering applied to testing
Test data sanitization
29119 for agile
Non-functional testing
How to tailor the standards
29119 in the cloud
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
30
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/
AEN/CTN 71/SC7/GT26 - AENOR
ISO/IEC/IEEE 29119 – Pruebas de software
31
Descargar