VV&T and QA software departments in a medical company

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

PLANIFICACIÓN DE TESTING
Presentación del Consultor
Ingeniería de Software II
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
Control Interno Informático. Concepto
Plan de aseguramiento de la calidad para el prototipo Scrum-Handler
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Módulo de Calidad para Auditores Vectore, Iniciativas de Negocio
SYSMOTORFLOW PRESENTACIÓN DEL PROCESO Proyecto de Ingeniería de Software 2010.
DIAGNÓSTICO DE CALIDAD AMS
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Desarrollo Con CALIDAD, con Visual Studio 2008
Visual Studio 2005 Gestión del Ciclo de Vida Jose Murillo Responsable programas técnicos para Fabricantes.
Centro de Ensayos de Software
Sistema de Administración de Subastas Inversas
CheckIn4Android.
Administración de Procesos de Pruebas
Herramientas QA Morax.
Ing. Marilín González Chirino Jefe del Departamento de Informática OCPI San José, Costa Rica Febrero, 2014 Taller sobre apoyo y gestión en materia de tecnologías.
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
1. Introducción El objetivo final del proyecto piloto es probar el uso de la tecnología XBRL para el intercambio de información financiera entre el Banco.
Calidad del Software en la DGT
Auditoria de aplicaciones
Oficina de Calidad y Pruebas
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Ingenieria de software
Ciclo de vida de la administración de servicios de TI
Tecnología para la Comunidad
Ingeniería de Software Asistida por Computadora
agile-tester-foundation- chapter-2-fundamental-agile-testing- principles-practices-and-processes-1-of-3-
Ingeniería del Software
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
INGENIERÍA DE SOFTWARE
Ximena Romano – Doris Correa
Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
35 años de investigación, innovando con energía 1 Mayo, 2012 P LAN DE ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DE SOFTWARE E STÁNDAR IEEE 730 Y G UÍA.
Especialización en Desarrollo de Software
El rol de SQA en PIS.
INGENIERIA DE SOFTWARE
Grupo 10 – 2008 Proyecto de Ingeniería de Software
Ciclo de vida de un sistema
Método iterativo Integrantes : Paola Ramón Armando 19 octubre 2011.
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Roles de Open UP.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
TIPOS DE PRUEBAS DEL SOFTWARE
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Introducción El Testing es una actividad compleja por múltiples motivos. Las aplicaciones de software en sí son cada vez más flexibles, con diversos propósitos,
Laura Posada Agudelo Carlos Mario Zapata
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Taller de desarrollo de proyectos II Presentación Inicial.
Carolina Rangel Felipe Montaño Alexis García
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
Universidad Latina CONTROL INTERNO.
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
Documentos del Programa de Garantía de Calidad de Software
Evolución y comportamiento del Sector TICs Praxis & Technology Group PraTech METODOLOGÍA DE CALIDAD.
VI. EVALUACIÓN DE LOS RECURSOS
Título de la Presentación Estado del arte sobre el testeo de software en las Pymes de Aragón 12 de Noviembre de 2015.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Verificación y Validación del Software
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Transcripción de la presentación:

VV&T and QA software departments in a medical company Antonio Robres – Diagnostic Grifols, S.A. 28-10-2010

Indice Presentación Introducción Departamento de VV&T Departamento de gestión de la calidad de software Resultados Acciones futuras

Actividad de Diagnostic Grifols S.A. Empresa dentro del holding Grifols S.A. Sector farmacéutico. Principal actividad: Diseño, fabricación y comercialización de instrumentos y reactivos para diagnóstico in-vitro. 250 trabajadores (100 en departamentos de I+D) Presente en los 5 continentes.

Introducción Porque crear un departamento de calidad? Sector en pleno crecimiento Fuertes marcos regulatorios USA: 21 CFR 820, 21 C. FR 11, FDA Guidances Europa, Japón, Canadá, etc.: ISO 13485:2003 + requisitos locales Normas GMP Utilización de nuevas tecnologías para los nuevos productos. Necesidad de disminuir el tiempo de desarrollo. Necesidad de disminuir los errores en producción Mucho más costosos de arreglar. Dañan la imagen de la empresa

Introducción Conclusión Calidad y eficacia en I+D Creación de dos departamentos independientes del departamento de desarrollo Departamento de Calidad de Software Departamento de Validación y Verificación de Software (VV&T) Inversión en herramientas para la gestión de la calidad durante todo el ciclo de vida del desarrollo del producto.

Departamento de VV&T Grupo independiente del desarrollo de software. Integrado por 5/7 personas Jefe del departamento 2 Analistas de test 2 Ingenieros de test 2 becarios a tiempo parcial (ocasionalmente) Presentes en todo el ciclo de vida del proyecto Especificaciones Diseño Implementación

Funciones departamento de VV&T Revisión de especificaciones / requisitos. Validación de test unitario y estudio de coberturas de código. Test de integración. Diseño y ejecución Test de sistema. Diseño y ejecución del test de regresión y Smoke test. Test exploratorio. Registro de incidencias detectadas durante las actividades de test. Verificación de las incidencias resueltas. Automatización de pruebas.

Unit & Integration Test Unit Test Validación de los Unit Test realizados por los departamentos de desarrollo. Realización de Unit Test independientemente del equipo de desarrollo. Integration Test: Diseñados para probar la integración entre dos o más componentes del sistema. Pruebas realizadas mediante JUnit a partir de las los tests unitarios realizados anteriormente. Utilización de Drivers y Stubs para su implementación.

Coberturas Se realiza el cálculo de las coberturas de código mediante dos métodos: Test unitarios o de integración realizados por desarrollo. Ejecución de los tests de sistema y/o Smoke Test mediante módulos instrumentalizados. Se realizan para los módulos realizados en Java o C. Java: Cobertura y/o EclEmma C: Bullseye Se obtienen diversas métricas de cobertura Line coverage Branch coverage Complexity

System Test Test funcionales exhaustivos sobre una parte específica del software. Diseño Se diseñan a partir de las especificaciones de software. Se revisan cada vez que se cambian las especificaciones del software. Ejecución: Se ejecuta de forma periódica antes de la salida de una release “major” a producción. La ejecución se realiza por una persona diferente al que lo ha diseñado. Se realiza un registro de los resultados y se abren los “bugs” encontrados durante su ejecución.

Smoke Test Test de funcionalidades básicas de la aplicación. Se realiza una revisión en cada “release” del software. Duración de un día (ejecución manual). Se ejecuta antes de realizar los System test para evitar un re-testing. Verifica que no se hayan creado errores en los componentes básicos del software durante las nuevas implementaciones.

Test Exploratorio Realización de pruebas de forma aleatoria sin documentación (o documentación no finalizada) como primera toma de contacto con el software del sistema. Se realizan antes del System Test. Primera toma de contacto con las nuevas funcionalidades en las nuevas versiones. Facilita el diseño de los casos de prueba y el aprendizaje de las nuevas funcionalidades. Pueden encontrarse fallos no contemplados dentro de los System Test.

Ciclo de vida de errores El equipo de test se encuentra dentro del ciclo de vida de los errores en varias fases: Fase test: Registra en el sistema los errores encontrados de la forma más específica y concreta posible. Se indica el procedimiento para reproducir el error Se indica el comportamiento esperado según las especificaciones Se adjuntan los logs y screenshots necesarios. Verificación: Se verifica cada uno de los errores resueltos en la versión.

Departamento de SQA Grupo independiente del desarrollo de software. Integrado por 4 personas Jefe del departamento 3 Ingenieros de calidad Presentes en todo el ciclo de vida del proyecto Especificaciones Diseño Implementación

Funciones departamento de SQA Responsables de las herramientas de gestión de la configuración Repositorio de código Gestor de errores Gestión de requisitos Diseño y despliegue de los entornos de desarrollo, test, y producción Auditorías de código Gestión de versiones Revisión de especificaciones y diseño Sistema de integración Continua Obtención de métricas de desarrollo Release Notes

Herramientas de Gestión Herramienta de gestión de código Se encargan de la correcta utilización de la herramienta (repositorio de software) Gestión de etiquetas y versiones Realizan training y soporte de las herramientas a los usuarios en caso necesario. Herramienta de gestión de errores Verifican el cumplimiento de las normas de introducción de errores por parte de los usuarios Seguimiento del ciclo de vida de los errores introducidos Herramienta de gestión de requisitos Realización de plantillas de los documentos de requisitos. Gestión de documentos

Definición de entornos Definen los diferentes entornos de los proyectos: Desarrollo Test Producción Mantienen y realizan un seguimiento de los diferentes entornos de los proyectos Se encargan de configurar los sistemas necesarios para el desarrollo y la ejecución del software Herramientas de desarrollo de código (Java, C++, Flex…) BBDD SO Dan soporte a los entornos definidos

Auditorias de código Periódicamente se realizan por el departamento de SQA auditorias/revisiones de código: Se comprueba el cumplimiento de las diferentes normas establecidas para los lenguajes de programación utilizados MISRA Java Code Conventions Se validan varios factores del código realizado por desarrollo: Sintaxis Dead code Compilaciones correctas Código duplicado Comentarios Utilización de herramientas para realizar las auditorias.

Integración Continua

Integración Continua Beneficios Detección rápida de software no compilable. Detección de fallos en los tests unitarios. Comprobación de la integración de los módulos. Detección de los fallos de los tests de integración. Obtención de una versión estable cada día. Análisis de código diario. Herramientas Open Source como servidor de integración continua.

Metricas Obtenidas por sistema de integración continua (ver imagen). Métricas tests funcionales o de sistema: # CRs implementados # CRs verificados # New bugs # Reopen CRs

Resultados Diseño y ejecución de los tests de sistema de todos los módulos del proyecto. Más de 1200 errores encontrados mediante los tests de sistema y test exploratorio. Diseño y ejecución del smoke test en cada versión beta. Estudio de coberturas mediante tests unitarios y ejecución de los test de sistemas (instrumentalización de código). Verificación de más de 1300 errores encontrados previamente Verificación de nuevas funcionalidades implementadas. Mejora de la calidad del código mediante la introducción de reglas MISRA y Java code coventions. Despliegue del servidor de integración continua Framework completo desde requerimientos hasta la fase de test con total trazabilidad. Automatización de proyectos pequeños.

Resultados

Acciones Futuras Herramienta de gestión de test Automatización de tests Test no funcionales Aplicación de metodologías ágiles

Herramienta de gestión de Test Objetivos: Gestión dinámica de los protocolos de los tests de sistema. Plantillas de pruebas comunes para todos los proyectos Histórico de ejecuciones para cada uno de los entornos. Introducción de resultados de los tests ejecutados manualmente Versionado de test cases Integración con herramienta de requisitos para tener una completa trazabilidad. Ejecución programada de los tests automatizados. Reporting.

Automatización Despliegue de herramientas para la automatización de tests de sistema y de regresión. Varias tecnologías implicadas Java Flex C++ Integración: Herramienta de gestión de test: obtención de trazabilidad Entorno de desarrollo Propósito: Creación de una API común a todos los proyectos Posibilidad de ejecución sin intervención humana Uso de simuladores

Diseño y implementación de pruebas no funcionales Test no funcional Diseño y implementación de pruebas no funcionales Seguridad Rendimiento Stress Usabilidad Recovery Carga continua

Metodologías ágiles Implementación de metodologías ágiles en el ciclo de vida del software: SCRUM Equipo de test presente durante el planning de cada sprint y meeting diario. Sprint cada 2 – 4 semanas. Al finalizar un sprint se realizan las pruebas específicas y de regresión. Los errores detectados se añaden a la lista de backlock y se priorizan dentro del sprint correspondiente.

Ventajas Obtención de un software operativo e incremental en cada versión Realización de los tests en cada sprint Detección temprana de fallos Errores críticos detectados antes. Los equipos de desarrollo y test saben la evolución de sus compañeros y de los dos departamentos Mayor comunicación entre departamentos Mayor implicación en el proyecto

Preguntas arobres@grifols.com