Madrid, 22 marzo 2011. Experiencias de usuarios: CESJE

Documentos relacionados
Experiencias de usuarios: ZURICH SEGUROS

Introducción a ISO 25000

Exsis Software & Soluciones S.A.S

La calidad no está reñida con los costes

La innovación como valor diferencial. Las TIC, vehículo de transformación

Mantenimiento de usuarios y grupos Gestión de políticas y estándares Administración de aplicaciones Gestión de servidores Soporte técnico

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARTICULARES QUE REGIRÁN LA REALIZACIÓN DEL CONTRATO DE LA OFICINA DE CALIDAD PARA LA

Introducción. Definición de los presupuestos

INTRODUCCIÓN QUIÉNES SOMOS NUESTRO OBJETIVO

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

Qué es el Modelo CMMI?

Is not jus power, is reliability and trust. Yei Systems S.A. de C.V.

Empresa Financiera Herramientas de SW Servicios

1. Seguridad de la Información Servicios... 4

DIRECCION DE PROYECTOS II

Navidian Oferta de Servicios GL7

Soluciones Tecnológicas

Bechtle Solutions Servicios Profesionales

Security Health Check

Tecninorte Programación y Mantenimiento Parque Empresarial Tirso González, 22 - oficina Astillero - Cantabria

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Elementos requeridos para crearlos (ejemplo: el compilador)

PROCEDIMIENTO DE EVALUACIÓN Y ACREDITACIÓN DE LAS COMPETENCIAS PROFESIONALES CUESTIONARIO DE AUTOEVALUACIÓN PARA LAS TRABAJADORAS Y TRABAJADORES

retos LA ACTUALIDAD LA SOLUCIÓN

MARCO DE COOPERACIÓN CON LAS UNIDADES DE INFORMÁTICA DISTRIBUIDAS

Administración de Bases de Datos; Remota e In-Situ.

mope PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS Página 0 PASEO GENERAL MARTINEZ CAMPOS MADRID info@mope.

PORTAFOLIO DE SERVICIOS

Norma ISO Francisco D Angelo Douglas García Claudia Herrera Luis Laviosa

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

Análisis de aplicación: Virtual Machine Manager

Norma ISO 9001: Sistema de Gestión de la Calidad

Gestión y Desarrollo de Requisitos en Proyectos Software

I INTRODUCCIÓN. 1.1 Objetivos

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Tecnología de la Información. Administración de Recursos Informáticos

Plan de estudios ISTQB: Nivel Fundamentos

Crecimiento Y Desarrollo EXPERTOS EN SISTEMAS DE GESTIÓN. Página 1 de 10

ISO 9000 Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

Mejoras en el Proceso de Testing

Capítulo 5. Cliente-Servidor.

SERVICIOS DE CONSULTORÍA DE ITIL

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 3 NORMALIZACIÓN Y CERTIFICACIÓN: NORMA ISO 9001:2000

Unidad III. Software para la administración de proyectos.

Integración de AuraPortal con SAP

NO TENGA ISLAS DE INFORMACIÓN EN SU EMPRESA ACCEDA A TODA LA INFORMACIÓN DE SU COMPAÑÍA Y ACIERTE EN LA TOMA DE DECISIONES

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CALIDAD DE SOFTWARE Guía para Examen Segundo Parcial Grupo 6501

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Mantenimiento de Sistemas de Información

Una propuesta de valor para la gran empresa: Atlassian Data Center

Marco Normativo de IT

Estrategia de negocio basada en clientes: Software CRM

GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 1. Dirección Técnica:

3. Horario laboral referencial: Lunes Viernes 8:00 a.m. a 6:00 p.m.

Servicios de Outsourcing de Nómina y Recursos Humanos

Tecnologías para la eficiencia en Seguros. La experiencia en el Grupo Pelayo. Madrid, 13 de Junio de 2006

Guía EMPRESA INTELIGENTE 2.0 para la PYME

ANEXO : PERFILES. Guía de Comunicación Digital para la Administración General del Estado. ANEXO PERFILES

Resumen General del Manual de Organización y Funciones

COBIT o COBIT enfatiza el cumplimiento regulatorio, ayuda a las organizaciones a

Traslado de Data Center

Sistema de diseño y seguimiento de Procesos WT - WorkFlow.

Módulo: Indicadores de Eficacia y Eficiencia en los Procesos

Unidad V. Calidad del software

ENFOQUE ISO 9000:2000

CRM. (Customer Relationship Management o

Nuevas tendencias: Virtualización de computadores / servidores

Logos socios tecnologicos

Grado en Ingeniería Informática

Eficiencia en la Automatización y Gestión de Servicios

Gestión del Servicio de Tecnología de la información

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

WhiteHat Tools. Resumen del Producto

TERMINOS DE REFERENCIA NUEVE (09) ANALISTAS PROGRAMADORES

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

ASIS Technology Partners. 1

NOS ASEGURAMOS DE ENTREGAR SERVICIOS DE CALIDAD ACORDE A SUS NECESIDADES

Se aportan, para la configuración de este anexo, las categorías profesionales más habituales según la definición del MRFI-C:

CUÁL ES TU SITUACIÓN?

El ERP que marca la diferencia

IT Effectiveness. Creamos valor a través de la Gestión de la Tecnología * *connectedthinking

Servicios TIC. Propuesta educación Universidad

Proyecto Oracle JDE E1 para Libelium OFERTA Nº LBL Información confidencial//oferta nº LBL

Sistemas de gestión en servicios de TI (UNIT ISO/IEC )

FAQ - EXPEDIENTE 067/12-SI. Servicio de certificación de calidad de aplicaciones y productos software

PLATAFORMA ERM. [Enterprise Risk Management] Control y Monitoreo en una sola Plataforma ERM.

Norma ISO 14001: 2004

Planificación de Sistemas de Información

Solución para el sector distribución.

Sistema Gestión Licitación para la compra del desarrollo y migración del Sistema de Gestión de Activos y Configuraciones para Plan Ceibal

Sesión No. 12. Contextualización: Nombre de la sesión: SAP segunda parte PAQUETERÍA CONTABLE

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

Soluciones de negocios ágiles para empresas en movimiento

Planificación de Sistemas de Información

PROPUESTA DE CERTIFICACION

Software Libre en un entorno de calidad y confianza. 23 Abril 2008

Ventajas del software del SIGOB para las instituciones

Transcripción:

Madrid, 22 marzo 2011 Experiencias de usuarios: CESJE

Agenda 9:00-9:15 Bienvenida a los asistentes 9:15-10:15 D. Marcos Blanco Galán - Coordinador del Centro de Certificación y Calidad del Software - CESJE D. José Antonio Zarandieta Morán - Responsable de Pruebas Funcionales - CESJE D. Gonzalo Rodríguez Píriz - Responsable de Pruebas No-Funcionales - CESJE 10:15-10:40 Solución Optimyth D. Jesús Martín Molina - CEO - OPTIMYTH 10:40-11:00 Coffee break 11:00-11:45 Intercambio de experiencias de los asistentes y mesa redonda

Madrid, 22 marzo 2011 CALIDAD DEL SOFTWARE EN ADMINISTRACIONES PÚBLICAS

Marcos Blanco Galán Coordinador del Centro de Certificación y Calidad del Software (CESJE)

Presentación del CESJE Importancia de la Calidad del Software Servicios ofrecidos actualmente a la Junta de Extremadura Soluciones para la Gestión y Evaluación de la Calidad Casos de éxito

Cómo y cuándo empezó todo? La Junta de Extremadura desarrolla su propia distribución en Software Libre.

Por qué Software Libre en Extremadura? A partir del año 2000, se valora la adopción de soluciones basadas en Software Libre, fundamentalmente en el sector educativo. Posteriormente, se extiende su aplicación a otros ámbitos: PYMEs, Administración Pública, Sanidad... No se trata sólo de una cuestión técnica, sino estratégica. La elección del Software Libre es fundamental para garantizar la sostenibilidad (técnica y económica) en el desarrollo de la Sociedad del Conocimiento en la región. Múltiples ventajas del Software Libre: libertad de copia, distribución, estudio y adaptación, desarrollo de nuevos modelos de negocio basados en servicios, etc.

Cuál es el siguiente paso? Consolidar el modelo de Software Libre desarrollado en la región. Asegurar la transferencia de soluciones tecnológicas de calidad al sector productivo. Generar nuevas oportunidades de negocio en las empresas. En definitiva, contribuir a la generación de valor. (2009) Comprometidos con la Libertad y la Calidad del Software Vicepresidencia Segunda y Consejería de Economía, Comercio e Innovación

Qué es la 'Calidad del Software'? Grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario. [ IEEE 610, Standard Glossary of Software Engineering Terminology ]

Principios de la Calidad Software 1. If a customer does not demand a quality product, he or she will probably not get one. 2. To consistently produce quality products, the developers must manage the quality of their work. 3. To manage product quality, the developers must measure quality. 4. The quality of a product is determined by the quality of the process used to develop it. 5. Since a test removes only a fraction of a product s defects, to get a quality product out of test you must put a quality product into test. 6. Quality products are only produced by motivated professionals who take pride in their work. Six principles of software quality Watts S. Humphrey (1927-2010). Fundador del SEI (Software Engineering Institute) CrossTalk. Diciembre 2005. The Journal of Defense Engineering. Vol 18. nº 12.

Informe de INTECO (2008): Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España.

Informe de INTECO (2008): Estudio sobre la certificación de la calidad como medio para impulsar la industria de desarrollo del software en España.

Las certificaciones cada vez son más valoradas a la hora de competir por grandes proyectos de desarrollo software. Ejemplos de exigencias en pliegos de administraciones y empresas públicas (2010): - Ministerio de Ciencia e Innovación: CMMI e ISO15504 - Ministerio de Industria, Justicia y Red.es: Nivel 3 en CMMI o ISO15504 - Dirección General de Patrimonio: CMMI e ISO15504 - Dirección General de Sistemas de Información Sanitaria: CMMI e ISO15504 - ISDEFE (Ingeniería de Sistemas para la Defensa de España): CMMI - Ayuntamientos de Alicante y Lorca (Murcia): ISO15504 Javier Garzas. Universidad Rey Juan Carlos & Kybele Consulting (spin-off) http://www.javiergarzas.com/2010/12/certificacion-software-competitividades-muy-difcil-ganarproyectos.html También certificaciones personales: PMI, ISTQB... Más certificaciones: http://www.rgalen.com/l_files/sqa_certifications.doc

Misión del CESJE Proveer a entidades públicas y privadas extremeñas servicios de soporte a la certificación de aplicaciones, sistemas y profesionales, y a la integración de desarrollos bajo la plataforma LinEx, con la finalidad de mejorar la competitividad de las empresas del sector TIC extremeño y su penetración en el mercado nacional e internacional.

CESJE en la estructura organizativa de GPEX (Sociedad de Gestión Pública de Extremadura) PRODUCCIÓN ADMINISTRACIÓN GENERAL DIVISIÓN ESTRATÉGICA DE NEGOCIO JURÍDICO Y SECTORIALES IT NNTT CON RSE I+D+i FOR

Estructura interna del CESJE

Principales líneas de actuación de CESJE-CQS Asistencia y asesoramiento a entidades públicas y privadas extremeñas. Análisis y evaluación de la calidad de soluciones informáticas. Seguimiento tecnológico y evaluación de herramientas QA. Promoción de estándares y certificaciones reconocidas internacionalmente relacionados con la Calidad del Software y la Gestión de Servicios TI (ITSM). Definición de la marca 'Software Libre de Extremadura'. Definición del sello 'Producto LinEx Homologado' en colaboración con CEL. Formación, divulgación y transferencia de conocimientos al sector TIC extremeño.

Equipo multidisciplinar Conocimientos técnicos teóricos y prácticos Expertos en sistemas GNU/Linux y soluciones FLOSS Formación en gestión de la Calidad del Software Formación en técnicas avanzadas de testeo de aplicaciones Habilidades en Gestión de Proyectos Formación en Gestión de Servicios TI

Servicio 'Pruebas de Software' Preámbulo, motivación, la realidad actual: El mercado de las TIC se caracteriza por estar en constante evolución. Proyectos de desarrollo cada vez más complejos (interconexión de sistemas, muchas tecnologías). No todas las organizaciones pueden permitirse disponer de un equipo QA e infraestructuras necesarias. Es habitual sacrificar calidad del producto a costa de reducir tiempos de entrega, recursos, costes... Consecuencia: El producto final no siempre satisface las necesidades y expectativas del cliente. Factores claves del éxito: Actividades de verificación y validación imparciales llevadas a cabo por personal cualificado. Garantizar la independencia operativa y la autoridad respecto a los responsables del desarrollo.

Servicio 'Pruebas de Software' Objetivos del servicio: Evaluar la calidad a nivel de producto software. Verificar y validar el cumplimiento de los requisitos definidos formalmente. Detectar defectos que afecten a aspectos funcionales y no funcionales de las aplicaciones. Emisión de informes de resultados, con conclusiones y recomendaciones. Participar en un ciclo de mejora que ayude a mejorar y asegurar la calidad de las soluciones informáticas.

Servicio 'Pruebas de Software' Destinatarios del servicio: Desarrolladores y consumidores de software. Empresa y Administración Pública. Alcance del servicio: Pruebas Funcionales Pruebas de Rendimiento Pruebas de Seguridad Pruebas de Accesibilidad Pruebas de Análisis de Código

Servicio 'Pruebas de Software' Plataforma tecnológica: Solución completa y certificada de HP + Soluciones OpenSource / Libres Convivencia de soluciones abiertas y propietarias: Independencia tecnológica. Prima la validez y la utilidad de los resultados obtenidos. Es complicado que una única herramienta cubra el 100% del servicio. Las licencias de software no condicionan la calidad de la herramienta. El soporte oficial es una garantía más para asegurar los niveles de calidad del servicio. El éxito reside en utilizar la herramienta más adecuada en cada momento.

Servicio 'Pruebas de Software' Generando valor: Mejora del producto Se garantiza el cumplimiento de requerimientos implícitos y explicitos. Se minimiza la ocurrencia de fallos antes de la puesta en producción. Se evitan costes adicionales derivados de la ocurrencia de fallos en producción. Es posible optimizar recursos y mejorar el desempeño de las aplicaciones. Beneficios para el negocio Demostración de superioridad respecto a competidores del mercado. Los productos son evaluados por una unidad operativa independiente. Aumento de la confianza por parte del cliente.

Gracias :) http://www.linkedin.com/in/mblancogalan http://twitter.com/mbgalan marcos.blanco@cesje.es

SERVICIO DE PRUEBAS Y CASOS DE ÉXITO Jose Antonio Zarandieta Morán Responsable de Pruebas Funcionales CESJE

Índice 1. Introducción. Tipos de pruebas 2. Servicio de pruebas 3. Casos de éxito. LinEx: Pruebas de calidad en una Distribución de Software Libre

Índice 1. Introducción. Tipos de pruebas 2. Servicio de pruebas 3. Casos de éxito. LinEx: Pruebas de calidad en una Distribución de Software Libre

Introducción Idea general Calidad del software Un software de calidad es aquel que debiera cumplir con los requerimientos para los que ha sido creado, además de ser mantenible, confiable y aceptable

Introducción La calidad de un software se centra en tres aspectos importantes de un producto software (McCall): Características operativas Capacidad de soportar los cambios Adaptabilidad a nuevos entornos

Introducción Características operativas Funcionalidad. Hace lo que quiero? Fiabilidad. Lo hace de forma fiable todo el tiempo? Eficiencia. Se ejecutará en mi hardware lo mejor que pueda? Seguridad (Integridad). Es seguro? Facilidad de uso. Está diseñado para ser usado?

Introducción Capacidad de soportar los cambios Facilidad de mantenimiento. Puedo corregirlo? Flexibilidad. Puedo cambiarlo? Facilidad de prueba. Puedo probarlo?

Introducción Adaptabilidad a nuevos entornos Portabilidad. Podré usarlo en otra máquina? Reusabilidad. Podré reutilizar alguna parte del software? Interoperabilidad. Podré hacerlo interactuar con otro sistema?

Introducción. Mapa de tipología de pruebas Características operativas Funcionalidad. FUNCIONALES Fiabilidad. RENDIMIENTO Eficiencia. RENDIMIENTO Seguridad (Integridad). SEGURIDAD Facilidad de uso. USABILIDAD (funcionales) Y ACCESIBILIDAD

Introducción. Mapa de tipología de pruebas ANÁLISIS DE CÓDIGO Adaptabilidad a nuevos entornos Portabilidad. Reusabilidad. Interoperabilidad. [Otras características atendiendo al código] Fiabilidad. Capacidad de soportar los cambios Eficiencia. Facilidad de mantenimiento. Seguridad. Flexibilidad. Facilidad de prueba.

1. Introducción. Tipos de pruebas 2. Servicio de pruebas 3. Casos de éxito. LinEx: Pruebas de calidad en una Distribución de Software Libre.

Servicio de pruebas. Dónde estamos? - Herramienta de la Administración (son quienes deben liderar la calidad). Ventajas e inconvenientes. - Tercera parte en el proceso, a veces, tratamos proyectos no diseñados para ser evaluados mediante un proceso formal. - Servicio fundamentalmente dirigido hacia aplicaciones y distribuciones Linux. - Servicio de calidad: MEJORA CONTINUA. - Crisis económica (recortes) redunda negativamente, casi siempre, en los sistemas de calidad. SOBREVIVIR MANTENIENDO LA EXCELENCIA. -Más demandados: Análisis de código + Funcionales.

Servicio de pruebas Solicitud de servicio No cumple niveles de acuerdo Estudio de viabilidad Ejecución del servicio (ciclo 1) Ciclo 2.. n Finalización del servicio

Servicio de pruebas Pruebas de Análisis de código (PA) Diseño Comprobar documentación de análisis de código Preparar código para las pruebas Configurar/Parametrizar herramientas Ejecución Ejecutar análisis de código Resultados Elaborar informe de resultados Pruebas Funcionales (PF) Diseño Estudiar documentación para diseño de pruebas Distribuir de casos de prueba Especificar casos de prueba Ejecución Preparar el entorno Ejecutar Pruebas Crear TestSet Ejecutar TestSet y dar de alta defectos funcionales Resultados Elaborar informe de defectos Análisis de Código & Funcionales 1.- Normalmente no es necesario distribuir ya que las pruebas son automáticas. 2.- La herramienta devuelve la información (Informes?). 3.- La base de conocimiento está estandarizada. 4.- Resultado no suele depender de los gustos de clientes o vicios de desarrolladores. 5.- No es necesario un estudio tan exhaustivo de la documentación, casos de uso etc. 6.- Se puede cubrir el 100% y de forma automática. - Requiere de configuración previa adaptando la herramienta/código dependiendo de las características del software y si existen criterios sobre el código (pocos casos). - Los resultados de las pruebas funcionales son, normalmente, más sencillos de explicar al cliente.

Servicio de pruebas. Aplicación/Funcional Software de aplicación La mayoría de las aplicaciones que testeamos son aplicaciones desarrolladas por una entidad/grupo de trabajo/empresa, responsable del desarrollo. Pruebas Funcionales. - Análisis de riesgo del producto: Principal riesgo, en las pruebas funcionales: documentación y/o disponibilidad de medios. Se establecen prioridades por requisitos. - Guiada por los Ciclos de Prueba - Combina: Casos de prueba con diseño previo y Testing exploratorio - Negociación entre probadores, desarrolladores y cliente

Servicio de pruebas. Aplicación/Funcional Documentación. Normalmente se carece de ella o está enfocada a pasar los hitos de certificación del proyecto, surgen dificultades con clientes, con proveedores, de donde salen los requisitos? si.. pero eso dijimos que? eso en la siguiente versión no? Di lo que haces haz lo que dices.

Servicio de pruebas. Aplicación/Código Software de aplicación La mayoría de las aplicaciones que testeamos son aplicaciones desarrolladas por una entidad/grupo de trabajo/empresa, responsable del desarrollo. Pruebas de Análisis de código: - Estándares, siempre que los haya y estén reconocidos por la organización. - Mucho trabajo hecho por la herramienta. - Menos dependiente de la documentación propia del proyecto.

Servicio de pruebas. Sistemas/Funcionales Software de sistema Linux Cada aplicación o utilidad se desarrolla por un grupo de desarrollo sin una responsabilidad sobre el código. En cualquier caso fuera del ámbito del servicio. Sobre la problemática: - No hacemos análisis de código. - Preparación del personal de pruebas. Son necesarios conocimientos adicionales del personal de pruebas para determinar si los defectos corresponden al equipo que integra la distribución o al propio desarrollador de la utilidad/aplicación. - Más repeticiones de pruebas con diferente hardware. - La cambios no comunicados a tiempo suponen un riesgo importante a tener en cuenta. Puede haber cambios de utilidades/aplicaciones de una versión a otra (o en la misma versión), provocados o no por defectos encontrados. - El sistema puede evolucionar sin que interaccione el equipo que realizó la distribución.

1. Introducción. Tipos de pruebas 2. Operativa del servicio 3. Casos de éxito. LinEx: Pruebas de calidad en una Distribución de Software Libre

CASOS DE ÉXITO Pruebas Funcionales: Aplicaciones cliente/servidor en entorno Web Chequeo de comunicaciones entre sistemas heterogéneos (WebServices). Pruebas de Análisis de código: Entornos de desarrollo J2EE. Pruebas Funcionales: Distribuciones Linux: LinEx 2010 JexGuia JexPyme

LinEx. Pruebas de calidad en una Distribución de Software Libre. La Junta de Extremadura (2002) el desarrollo de su propio proyecto de Software Libre, denominado LinEx, un sistema operativo y un conjunto de aplicaciones. Basado en el Software Libre Debian GNU/Linux. LinEx es desarrollado en la actualidad por personal propio de la Junta de Extremadura, con un valioso y desinteresado soporte de la Comunidad Internacional de Desarrolladores de Software Libre. Hay versiones de la distribución para atender necesidades concretas: LinEx 2010*: destinado a la ciudadanía en general. Jexguía*: para los Ayuntamientos. Jexpyme*: para el sector empresarial. LinEx SP: para los escritorios de los empleados públicos LinEx Edu: en el ámbito educativo. SESLinEx: para el sector sanitario. JuegaLinEx: para los jóvenes, el ocio y tiempo libre.

LinEx. Pruebas de calidad en una Distribución de Software Libre. DESARROLLAR una distribución Linux: LinEx - Preparación del Kernel (compilar módulos, detección de bugs). - Buscar e integrar software de aplicación y utilidades libres según los requisitos de un sistema destinado a la ciudadanía. - Montar uno o varios instaladores para el sistema (usb, live, dvd, red), paquetes, usuarios. - Facilitar acceso a componentes propietarios de uso generalizado (drivers, plugins, etc). - Personalización del interfaz de usuario.

LinEx. Pruebas de calidad en una Distribución de Software Libre. PROBAR una distribución Linux: LinEx - Tener en cuenta que es un sistema operativo de propósito general. (recomendaciones y consejos). - Tener clara la línea que separa la integración de las utilidades con el propio desarrollo de las mismas. - Conseguir una buena documentación y buena comunicación con el cliente (fundamental por la especificidad del producto). - Enfocar el diseño de las pruebas a asegurar que la integración se ha realizado correctamente (permisos, accesos a disco, etc ) y no únicamente a conocer si su funcionamiento es 100% correcto. - Repetir pruebas con diferente hardware (desde tarjetas inalámbricas, bluetooth, equipos portátiles, tarjetas gráficas, etc...).

Requisitos Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre.

Casos de prueba Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre.

Ejecución Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre.

Defectos Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre.

Número de casos de prueba Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre. 180 160 140 120 100 80 60 40 20 0 Pasados Fallidos No ejecutados Estado de la ejecución Primera entrega Segunda entrega

Número de defectos Área de Certificación y Calidad del Software LinEx. Pruebas de calidad en una Distribución de Software Libre. 10 9 8 7 6 5 4 3 2 1 0 Primera entrega Prioridad Segunda entrega N/A Alta Media Baja

Gracias por su atención http://es.linkedin.com/in/josezarandieta joseantonio.zarandieta@cesje.es

Aplicaciones para la gestión y evaluación de la Calidad Software Gonzalo Rodríguez Píriz Responsable de pruebas no funcionales CESJE

Aplicaciones para la gestión y evaluación de la Calidad Software 1. Introducción 2. Aplicaciones 3. checking QA 4. Enlaces de interés

Aplicaciones para la gestión y evaluación de la Calidad Software 1. Introducción 2. Aplicaciones 3. checking QA 4. Enlaces de interés

ISO 9126 Estándar internacional para la evaluación del software, supervisado por el proyecto SQuaRE, ISO 25000:2005 Diagrama: http://www.iso25000.com

Tipos de pruebas Pruebas funcionales Manuales Automáticas Pruebas de rendimiento Pruebas de seguridad Pruebas de accesibilidad Pruebas de análisis de código

Aplicaciones para la gestión y evaluación de la Calidad Software 1. Introducción 2. Aplicaciones 3. checking QA 4. Enlaces de interés

Funcionales: Selenium Herramienta libre de automatización de pruebas funcionales Aplicaciones web Plugin para Firefox para grabación de scripts Edición manual de scripts Generación de código para Junit o TestNG Pruebas en varios navegadores y plataformas Ejecución en paralelo en varios servidores

Funcionales: Selenium

Funcionales: HP QuickTest Pro Solución propietaria de HP Pruebas funcionales manuales y automáticas Creación de scripts mediante captura de eventos sobre la propia aplicación Pruebas parametrizables Edición manual de scripts Integración con HP Quality Center Tecnologías Web, Java, Oracle, Delphi,.Net, Flex,...

Funcionales: HP QuickTest Pro

Rendimiento: JMeter Herramienta libre para pruebas de rendimiento web Pruebas de rendimiento automáticas o manuales Creación y ejecución de scripts Resultados en tiempo real Tablas y gráficas de resultados finales Muy configurable y extensible

Rendimiento: JMeter

Rendimiento: HP LoadRunner Solución propietaria de HP para pruebas de rendimiento Captura de scripts a partir de eventos de la aplicación Ejecución remota, con posibilidad de ejecutar pruebas simultáneamente desde varias máquinas Personalización de escenarios Gran variedad de informes y gráficas de resultados Integración con HP Quality Center

Rendimiento: HP LoadRunner

Rendimiento: HP LoadRunner

Rendimiento: HP LoadRunner

Seguridad: Skipfish Herramienta libre para análisis de seguridad de sitios web Rápido y fácil de usar Pruebas Inyección SQL/PHP Cross-site scripting Inyección de comandos Vulnerabilidades de formato y desbordamiento de enteros Datos que deberían ser seguros en páginas no seguras...

Seguridad: Skipfish

Seguridad: HP QAInspect Solución propietaria de HP Integra con Quality Center Tipos de pruebas Manipulación de parámetros y rutas Evaluación del servidor web Fuerza bruta Ataques conocidos Búsquedas Mapeo de enlaces y aplicaciones

Seguridad: HP QAInspect

Análisis de código: Sonar Plataforma abierta de gestión de calidad del código Multilenguaje (Java, PHP, PL/SQL, Visual Basic, ) Multiproyecto Configurable Extensible mediante plugins Integración con Maven Ejecución de pruebas unitarias

Análisis de código: Sonar

Aplicaciones para la gestión y evaluación de la Calidad Software 1. Introducción 2. Aplicaciones 3. checking QA 4. Enlaces de interés

Características (I) Modelo de referencia: ISO 9126 Eficiencia Fiabilidad Mantenibilidad Portabilidad Calcula un valor de calidad para cada una de estas categorías y un valor global de calidad para el proyecto

Características (II) Definición de modelos de calidad Creación de reglas Personalización de reglas existentes Activación/desactivación de reglas Cambios de prioridad de reglas Cálculo de métricas Gráficas de estado Gráficas de evolución Informes Tareas programables

Métricas De complejidad (documentación, complejidad ciclomática, líneas de código,...) De calidad de diseño (Chidamber-Kemberer) De complejidad léxica (Halstead) De calidad de diseño (Robert Martin) Cuatro categorías: Complejidad Fiabilidad Mantenibilidad Tamaño

Editor de reglas (I)

Editor de reglas (II)

Pizarras

Informes (I)

Informes (II)

Aplicaciones para la gestión y evaluación de la Calidad Software 1. Introducción 2. Aplicaciones 3. checking QA 4. Enlaces de interés

Enlaces de interés Optimyth http://www.optimyth.com/ CESJE http://www.cesje.es Skipfish http://code.google.com/p/skipfish/ Selenium http://seleniumhq.org/ Sonar http://www.sonarsource.org/ Jmeter http://jakarta.apache.org/jmeter/ Portal ISO 25000 http://www.iso25000.com

Gracias por su atención gonzalo.rodriguez@cesje.es grodriguezpiriz http://es.linkedin.com/in/grodriguezpiriz

Calidad Software en Administraciones Públicas D. Marcos Blanco Galán Coordinador del Centro de Certificación y Calidad del Software - CESJE D. José Antonio Zarandieta Morán Responsable de Pruebas Funcionales CESJE D. Gonzalo Rodríguez Píriz Responsable de Pruebas No- Funcionales - CESJE

SOLUCIÓN OPTIMYTH D. Jesús Martín Molina CEO, Optimyth Software Madrid, 22 marzo 2011

OPTIMYTH SOFTWARE OPTIMYTH SOFTWARE es un fabricante de software especializado en la construcción de solucione de Application Portfolio Management (APM), que ayudan a gestionar la cartera de aplicaciones de manera más eficaz. Presencia en: España, UK, Holanda, Suiza y Portugal. Nuestras soluciones están basadas en tecnología y consultoría especializada. Su ámbito es el de las Aplicaciones Software y están orientadas a: Gestión de la Calidad. Optimización del Mantenimiento. Gestión de la Eficiencia/Productividad. Racionalización y Modernización. 91

Preocupaciones de TI El mantenimiento de las aplicaciones es costoso Existe un alto consumo de recursos difícil de explicar Ser capaces de dar visibilidad al negocio del uso del presupuesto Dar mayor valor al negocio con las inversiones de TI Las soluciones APM ayudan a las organizaciones de TI a abordar los retos a los que se enfrentan y reducir sus preocupaciones alineándose mejor con las áreas de negocio

Los 4 pilares de la gestión del desarrollo de aplicaciones y la gobernanza de TI Gobernanza IT IT Calidad Mantenibilidad Productividad Racionalización Ciclo de vida de aplicaciones

Mantenibilidad Mantenibilidad El mantenimiento supone más del 90% del coste total del software cuando hace tan solo dos décadas era alrededor del 50%. La detección temprana de malos estilos de programación reducen el coste de mantenimiento de los entornos de producción. La diferencia principal entre las empresas líderes de la industria y aquellas más rezagadas es la utilización de un conjunto de herramientas para controlar la calidad de sus aplicaciones.

Mantenibilidad Mantenibilidad Algunos factores que intervienen en el Coste Aproximadamente un 50% del coste del mantenimiento se dedica a tareas orientadas a entender la complejidad del código. Los programadores que no cuentan con documentación tardan un 21,5% en comprender el código Todas estas carencias impiden gestionar fácilmente el outsourcing con proveedores, mejorar la calidad, ser eficaces en los cambios, y gobernar con agilidad el portfolio de aplicaciones, y por supuesto incrementan notablemente los costes en el mantenimiento

Mantenibilidad Mantenibilidad 4,50 4,00 8,00 7,00 3,50 3,00 2,50 2,00 1,50 1,00 6,00 5,00 4,00 3,00 2,00 Incidencias Complejidad esencial 0,50 1,00 0,00 ene- 01 ene- 02 ene- 03 ene- 04 ene- 05 ene- 06 ene- 07 ene- 08 ene- 09 ene- 10 0,00 Nuestra estrategia de mantenimiento parte de la base de que es necesario mejorar técnicamente las características intrínsecas del software. En Bancaja les damos gran importancia a las métricas de calidad. Somos unos maniáticos de las medidas de calidad Pedro Vázquez Director General Adjunto de Bancaja

Modelo de calidad Calidad Modelo de calidad precisión interoperabilidad conformidad normativa idoneidad intercambiabilidad seguridad madurez facilidad de instalación adaptabilidad capacidad de ser probado funcionalidad portable fiabilidad Calidad SW mantenible usabilidad tolerancia a fallos capacidad de recuperación inteligibilidad estabilidad capacidad de ser modificado analizabilidad eficiencia facilidad de aprendizaje explotabilidad en recursos en el tiempo El estándar ISO/IEC 9126 Software Engineering-Product Quality, divide la calidad interna y externa de un producto software en seis categorías y 27 subcategorías. checking permite la agregación de todas las fuentes y herramientas empleadas en un área de IT para el seguimiento y control de equipos de desarrollo propios o externalizados, adaptándose al modelo de calidad de cada cliente.

SE APLICAN A UN CONJUNTO DE ENTREGABLES Modelo de calidad Calidad Conjunto de características del software que se desea evaluar, mediante: Reglas de Descubrimiento de Activos Software. Reglas de verificación de Buenas Prácticas de programación, seguridad, antipatrones, bad smells. Métricas del Software y umbrales de aceptación. Indicadores agrupados (SCORES) y umbrales de aprobación. REQUISITOS Especificación de Requisitos SW (ERS) Casos de Uso del Sistema ANÁLISIS Modelo Conceptual de Procesos Modelo Conceptual de Datos DISEÑO Arquitectura del Sistema Diseño Detallado de Componentes Modelo Físico de Datos Plan de Pruebas Diseño de la Interfaz de Usuario CONSTRUCCIÓN Código de los Componentes Pruebas Unitarias y de Integración PRUEBAS E IMPLANTACIÓN Pruebas de Sistema, de Carga, de Aceptación Plan de Implantación

Aproximación incremental al modelo de calidad Calidad Proceso de desarrollo de aplicaciones Controla Definición de requisitos Análisis Diseño Codificación Pruebas Requisitos Modelo conceptual Modelo físico Código Plan de pruebas Certificación de requisitos Certificación de análisis Certificación de diseño Certificación de código Certificación de pruebas Asegurado Proceso de certificación de calidad

Proceso de Certificación: Puntos de Control Calidad Análisis Inicial Arquitectura / Diseño Técnico Ejecución (Desarrollo) Implantada (Pre-producción) Verificación Especificación Requisitos Verificación Doc. Arquitectura Verificación Calidad Interna Verificación del rendimiento y Seguridad Verificación Documento de Análisis Verificación Diseño Modelo de datos(*) Verificación casos de prueba (*) Verificación Diseño Técnico Verificación Documentación Técnica Verificación Funcional Verificación Documentación Funcional Verificación de Uso (Aceptación) Verificación change document Page 100

Gestión de la calidad Calidad Porcentajes de certificaciones realizadas sobre factorias

Productividad Productividad Cuánto estoy produciendo? Cómo puedo medir lo que produzco? Cómo puedo mejorar mi productividad? Todos mis equipos producen igual? Soy igual de productivo que las demás empresas de mi sector? Lo que produzco tiene la calidad exigida por mis clientes? Lo que produzco tiene el valor de negocio esperado?

Productividad Productividad Tamaño LOC Backfiring IFPUG Esfuerzo Real (sitemas de gestión ) Estimado (COCOMO)

Productividad Productividad

Racionalización y modernización Racionalización Las compañías que racionalicen sus portfolios de aplicaciones destacarán como competidores más ágiles y más fuertes Forrester 2011 Racionalización Acciones Inventario Complejidad de aplicaciones Evaluación Retos de TI Inventariar lo que se tiene Mapa de dependencias de las aplicaciones Cuantificar el valor de negocio Cuantificar la calidad técnica y funcional Planificar la racionalización de las aplicaciones

Racionalización y modernización Racionalización Para tomar decisiones de racionalización hay que conocer las aplicaciones y entender cómo están relacionadas y cuál es el impacto de los cambios a todos los niveles Mapa Organizativo Responsable Unidad Organizativa Factoría Aplicaciones Procesos De Negocio Objetos De Negocio Servicios De Negocio Mapa Funcional Clases Programas Rutinas BBDD (esquemas, tablas ) Mapa Software

Racionalización y modernización Racionalización Conocer el valor de negocio que aportan las aplicaciones y su calidad relativa nos permite tomar decisiones informadas de racionalización y modernización

Optimyth checking Gobernanza IT IT Calidad Mantenibilidad Productividad Racionalización Ciclo de vida de aplicaciones

Optimyth checking

Optimyth checking Mejora del rendimiento de aplicaciones Reducción del número de incidencias en producción. Reducción del esfuerzo y del coste de mantenimiento de las aplicaciones. Aumento de la productividad de los equipos de trabajo. Agilidad para reaccionar a nuevas necesidades tecnológicas. Incrementar alineamiento con las necesidades del negocio. Mejora del time-to-market Incrementar el valor entregado a los clientes. Incrementar la satisfacción del usuario.

Solución Optimyth D. Jesús Martín Molina (jesus.martin@optimyth.com) CEO OPTIMYTH SOFTWARE

Madrid, 22 marzo 2011 Experiencias de usuarios: CESJE