Dr. Hermann Steffen
UDELAR
Dr. Hermann Steffen
UDELAR
La nueva norma
UNIT ISO/IEC/IEEE 29119
Pruebas de Software
La nueva norma
UNIT ISO/IEC/IEEE 29119
Pruebas de Software
29119
29119
Antecedentes y contexto Descripción de la norma Beneficios e implantación Conclusiones
•
Importancia creciente de la actividad de Pruebas de
Software
o
Dispersión de esfuerzos y falta de coherencia/completitudo
ISO no poseía una norma específica•
Se proponen unificar e integrar normativa actual
proveniente de tres grandes fuentes
o
BSI, IEEE e ISO JTC 1o
Debe ser aplicable para todo tipo de software y de sistemas de uso intensivo de softwareo
Inicio de trabajos específicos en 2007o
las partes 1, 2 y 3 fueron publicadas en 2013.•
Importantes institutos de normalización
o
Alemania, India, Gran Bretaña, Holanda, Corea del Sur, África del Sur, China, Argentina, …•
Agencias nacionales de “software testing”
o
China, US Department of Defense, Malasya, Corea del Sur,•
Grandes empresas de TI
o
SAP, IBM, Microsoft, Sogeti, NEC, TCS, …•
Grandes empresas
o
Lookhead Martin, UBS, Hitachi, Samsung, Sony, Fujitsu, Xeroxo
Universidades y centros de investigación de Holanda, Francia, India, China, Japón, España, Hong Kong, …•
Aumento de la importancia y criticidad del software
embarcado en productos industriales
•
Aumento de las exigencias de calidad en los productos
•
Explosión de dispositivos, metodologías, lenguajes,
ambientes de desarrollo…
•
Incremento de la importancia de las Pruebas de
Software por parte de la comunidad de TI
•
Fuerte impulso a la profesionalización y certificación
de personas por parte de ISTQB y otros
•
Organizada en 4 Partes:
•
ISO/IED/IEEE 29119-1 – Conceptos y Definiciones
•
ISO/IED/IEEE 29119-2 – Procesos de Prueba
•
ISO/IED/IEEE 29119-3 – Documentación de la Pruebas
•
ISO/IED/IEEE 29119-4 – Técnicas de Prueba
•
ISO/IED/IEEE 29119-5 – Pruebas Guiadas por
Palabra-Clave (en borrador…)
•
Parte 1: Conceptos y definiciones
o
BS 7925-1: 1998 Vocabulary of Terms in Software Testingo
IEEE 661o
ISTQB Definición de Terminología•
Parte 2: Procesos de Prueba
o
BS 7925-2: 1998 Software Component Testing Standardo
IEEE 1008-1989 y 2009: Unit Testing•
Parte 3: Documentación de Pruebas
o
IEEE 829:2008 Test Documentation•
Parte 4: Técnicas de Prueba
o
BS 7925-2: 1998 Software Component Testing StandardAntecedentes y contexto Descripción de la norma Beneficios e implantación Conclusiones
•
Es de tipo informativa
•
Presenta
o
Definiciones que serán utilizadas en la serie ISO 29119o
Conceptos de Prueba de Softwareo
Pruebas en diferentes Ciclos de Vida• Secuencial
• Ágil
• Incremental
o
Roles y Responsabilidadeso
Anexos : Métricas, Ejemplos, Bibliografíao
Establece directrices para otras normas de la Serie•
Capítulo 5: Conceptos de pruebas de software
o
5.2. Pruebas de Software en un Contexto Organizacional y de Proyectoo
5.3. Procesos de Prueba genéricos en el Ciclo de Vida del Softwareo
5.4. Pruebas basada en Riesgoo
5.6. Prácticas de Prueba• Basadas en Requerimientos, en Modelos, en la Experiencia, con Guion
o
5.7. Automatización de Pruebaso
5.8. Gestión de Defectos•
Anexo A – Rol de la pruebas en la Verificación y
Validación
•
Anexo B – Métricas y Medidas
•
Anexo C – Pruebas en diferentes Modelos de Ciclo de
Vida (Agiles, Secuenciales, Evolutivas)
•
Anexo D – Ejemplos (ilustrativos)
•
Anexo E – Roles y Responsabilidades en las Pruebas
•
Se identifican 3 niveles de procesos
o
Procesos de Prueba en la Organización• Política de Pruebas
• Estrategia de Pruebas
o
Procesos de Gestión de las Pruebas• Planificación
• Control y Seguimiento
• Cierre o Finalización
o
Procesos de Pruebas Dinámicas• Diseño e Implementación
• Gestión del entorno
• Ejecución
• Reporte de Incidencias
3 niveles de Procesos de Pruebas
1
2
•
Jerarquía de Procesos
o
Propone momentos y responsabilidades diferenteso
Recoge principios de organización donde existen responsables de alto nivel, con visión y responsabilidad amplia y de largo plazo•
Nivel 1: Definiciones a nivel Empresa
o
Características comunes a todos los productos o servicios de la Organización: Política y Estrategia de Pruebas•
Política de Pruebas
o
Objetivos de las pruebaso
Procesos a ser seguidoso
Estructura organizativao
Principios éticos a ser respetadosConceptos implícitos (nivel 1)…
•
Estrategia de Pruebas
o
Gestión del Riegoo
Criterios de priorización de pruebas1
2
3
Nivel 2 (Gestión)
•
Es necesario contar con un Plan de Pruebas
o
Visión general del proyecto Pruebas, teniendo en cuenta la integración con el proyecto de Desarrollo y de los Riesgoso
Identificar a las partes interesadas y generar canales de comunicacióno
Evaluar y determinar el alcance y recursos necesarioso
Obtener las aprobaciones gerenciales necesarias•
El Plan podrá ser modificado durante el proyecto
o
Se asume que habrá un proceso interactivo, vinculado con la realidad y descubrimientos ocurridos durante el proyecto•
Visión a largo plazo
o
Instaura las actividades de “cierre de Pruebas”•
2
1
2
3
4
•
Aplicable a fases de prueba (Unitaria, Integración,
sistema, aceptación)
•
Aplicable a un tipo específico de prueba (desempeño,
seguridad, usabilidad…)
•
Diseño/Concepción separado de Ejecución
o
La concepción de las Pruebas (y casos de Prueba) es una tarea de alto valor agregado y especialización. Es objeto de un proceso específico y previo a la Ejecución.o
La construcción del Entorno de Pruebas es una actividad específica y puede ser sumamente compleja•
Registrar los resultados de las pruebas
o
Así sea de forma simple, permite medir el avance y hacer un•
Propone plantillas para generar la documentación
o
Planes, seguimiento e informes generados durante la ejecución de los procesoso
Se presentan ejemplos en los Anexos. Incluye versiones diferentes si se trata de proyectos Agiles o “tradicionales”•
Sustituye a IEEE 829
o
Reutiliza gran parte de las ideas, pero las simplificao
Estructura la documentación en los 3 niveles de procesos•
Dosificar la documentación
o
Evitar crear demasiada documentación. Recoge ideas provenientes de enfoques Agiles.o
No definen un conjunto mínimo obligatorio de documentación. Los•
Documentación asociada a los procesos
o
Nivel Organizacional• Política y Estrategia Organizacional
o
Nivel Gestión• Plan de Pruebas
– Puede haber un Plan de Pruebas a Nivel Proyecto y n Planes de Prueba por Nivel (Unitario, Integración…) o Característica (Desempeño,
Usabilidad…).
• Informe de Cierre
o
Nivel Pruebas Dinámicas (se repite a cada nivel o característica)• Especificación de Concepción de Pruebas.
• Especificación de Casos de Prueba.
• Especificación de Procedimientos de Prueba
• Registro/Trazabilidad de ejecución de pruebas
• Informe de Incidentes
•
Técnicas para el diseño de pruebas
o
Basadas en las Especificaciones (Caja Negra)• Particiones de Equivalencia, Transición de Estados, Tablas de Decisión, Grafos de Causa-Efecto, User Cases…
o
Basadas en Estructura del código de los programas (Caja Blanca)• Cobertura de Decisiones y de Condiciones, Flujo de Datos
o
Basadas en la Experiencia•
Medidas de cobertura de las pruebas
•
Anexos
o
Características de la calidad del software (ISO 25010…) y pruebas específicas : Accesibilidad, Compatibilidad, Interoperabilidad,Performance, Seguridad, Usabilidad, Estabilidad…
o
Guías y ejemplos de aplicación de las diferentes técnicas de diseñoAntecedentes y contexto Descripción de la norma Beneficios e implantación Conclusiones
•
La norma tiene vocación de Referencial, de Guía
o
Su adopción puede ser parcial y progresiva•
Elementos claves:
o
Diferenciar los 3 niveles de actividad/responsabilidado
Existencia de un equipo (interno) de Pruebaso
Definición de objetivos de calidad del Producto y de las Pruebaso
La implementación de Procesos permite trabajar por etapas y realizar validacioneso
Especializar y profesionalizar la actividad de Concepción dePruebas, separada de la Ejecución de Pruebas (y obviamente de la programación)
o
Aplicar las principales técnicas de pruebaso
Utilizar la noción de Riesgo para el Plan de PruebasAntecedentes y contexto Descripción de la norma Beneficios e implantación Conclusiones