CAST QA Suite - CPRW sales training slides Jun2005
Transcripción
CAST QA Suite - CPRW sales training slides Jun2005
CAST Application Intelligence Platform for automated technical acceptance & pro-active “inside the box” software quality enforcement Alfredo Landa Director General CAST Software Tel.: 91 789 34 84 [email protected] V 1.3, noviembre 2005 / ALN Copyright CAST 2005 En esta presentación le comentaremos cómo puede: Comprender los factores de calidad del Software Reducir los costes de mantenimiento de aplicaciones Responder más rápidamente a las necesidades de cambios en el negocio Mejorar el rendimiento por la reducción de las caídas del sistema ¿Cómo?: Gestionando proactivamente la Calidad de las Aplicaciones Mientras se reducen los costes de la Calidad Copyright CAST 2005 2 Calidad Software Factores de Calidad Los Factores de Calidad permiten establecer el grado de calidad de un producto software. Se miden indirectamente utilizando métricas. Factores que afectan a la Operación del Producto: Corrección, Fiabilidad, Facilidad de Uso, Integridad y Eficiencia. Factores que afectan a la Revisión del Producto Facilidad de Mantenimiento, Flexibilidad y Facilidad de Prueba. Factores que afectan a la Transición del Producto Reusabilidad, Portabilidad e Interoperatividad Copyright CAST 2005 3 Calidad Software Modelos y Medidas de Calidad Copyright CAST 2005 4 Calidad Software Métricas de Producto (características medibles de Software) Atributos internos: Son aquellos que pueden ser medidos examinando el proceso, producto o recurso mismo. Atributos externos: se miden con respecto a como el proceso, producto o recurso se relaciona con su entorno. Copyright CAST 2005 5 Calidad Técnica frecuentemente no tenida en cuenta en QA Enfoque Tradicional QA Calidad Funcional Rendimiento CALIDAD Calidad Técnica ¿ Por Qué ? ¡Mirar « dentro de la caja » es muy difícil! Copyright CAST 2005 6 Demasiado Trabajo Falta de capacidad técnica Sin Tiempo La Calidad Técnica es Importante Caida del coste RFC 9 Costes de mantenimiento mayores 9 Lentitud en la respuesta a los cambios en el negocio Calidad Técnica Pobre Caidas en la Mantenibilidad Documentación & Trazabilidad deterioradas 9 Peor Rendimiento de las Aplicaciones Falta de cumplimiento de las mejores prácticas Fallos de arquitectura indetectables 9 Estabilidad Deteriorada Regression bugs Æ ¡ Vale la pena realizar revisiones Técnicas de Aceptación ! Copyright CAST 2005 7 Tiempo Relativo para la corrección de defectos ... Y cuanto antes se haga, mejor… 40 a 1,000 30 a 70 15 a 40 1 3a6 10 Requisitos - Diseño - Codificación - Pruebas - Revisiones - Operación Aceptación Source: TRW data, from W.S. Humphrey, Discipline for Software Engineering, Add. Wesley 9 Corrigiendo un defecto en OPERACIÓN cuesta hasta más de 10 veces más que en REVISIONES ACEPTACIÓN 9 Corrigiendo un defecto en REVISIONES ACEPTACIÓN cuesta hasta 7 veces más que en CODIFICACIÓN Æ ¡ Vale la pena forzar el cumplimiento de reglas y normas ! Copyright CAST 2005 8 Pero forzar la Calidad Técnica es una tarea intimidante Enormes cantidades de código complejo que analizar repetitivamente Cobol C++ Oracle Power Builder Delphi Sybase ABAP Lenguajes Exóticos J2EE .Net • X Especialista QA Copyright CAST 2005 Millones de líneas de código Miríadas de lenguajes Necesidad de que sea un proceso repetible regularmente Necesidad de verificar muchas reglas Necesidad de ser exhaustivo Necesidad de tener consistencia en los resultados Necesidad de facilitar las correcciones a los equipos de desarrollo 9 Las herramientas tradicionales de Calidad Técnica no son de gran ayuda Cubren pocos lenguajes No todas las aplicaciones se cubren -> uso de muestreos Herramientas diversas crean inconsistencias en Calidad Se analizan lenguajes, no aplicaciones No se cubren todas las capas. ¡Análisis de un lenguaje al tiempo! Imposible analizar la arquitectura de la aplicación No « A la Carta » Se producen solo métricas predefinidas No se tienen en cuenta las reglas y normas internas Se hace un juicio de valor, no se ayuda a su corrección El muestreo evita disponer de informes de elementos a corregir Copyright CAST 2005 10 Consecuencias La Calidad Técnica cuesta demasiado Los planes de Calidad Técnica no se cumplen No se facilita la corrección de defectos Las correcciónes se realizan cuando cuestan más Copyright CAST 2005 11 CAST: el nuevo paradigma en el cumplimiento de la Calidad Técnica erez CAST Application Intelligence Platform analiza automáticamente: TODAS las capas de la MAYORÍA de las aplicaciones Almacena el resultado en un Repositorio (Knowledge Base) Proporciona información de acciones a tomar por los grupos de Calidad para forzar el cumplimiento de reglas y normas (de mercado e internas) de arquitectura y desarrollo Como resultado, una mejora drástica en la Calidad del software Copyright CAST 2005 12 Modelo CAST Modelo basado en cinco índices orientados a medir las Aplicaciones en su totalidad Copyright CAST 2005 Tamaño Funcional Complejidad Técnica Granularidad Acoplamiento Cumplimiento de Estándares 13 Impacto de Índices CAST La relación de Factores afectados por los índices CAST se presentan en la siguiente tabla Tamaño Funcional Facilidad de Uso Integridad Eficiencia Corrección Fiabilidad Facilidad de Mantenimiento Facilidad de Prueba Flexibilidad Capacidad de Reutilización Portabilidad Interoperabilidad Copyright CAST 2005 Complejidad Técnica Acoplamiento Granularidad Estándares X X X X X X X X X X X X X X X X X X X 14 X X X Como Trabaja CAST DISTRIBUYE Application Intelligence A Info. de cumplimientos de Calidad Información de acciones a tomar para el cumplimiento de estándares ANALIZA Código Fuente Automáticamente ORGANIZA Información Al orden en el Repositorio Copyright CAST 2005 Descripción empírica de las aplicaciones Lista para realizar consultas sobre Calidad Desde la Complejidad de Software 15 Millones de líneas de código Miríadas de lenguajes Qué proporciona CAST MEDIDA DETECCIÓN CORRECCIÓN la calidad técnica de incumplimientos facilita listados Métricas Tamaño Funcional Granularidad Acoplamiento Complejidad Técnica Cumplimiento Estándares Mejores Prácticas Arquitectura Documentación Copyright CAST 2005 Cumplimiento de Reglas Ratios de incumplimientos +400 reglas del mercado verificadas Reglas internas verificadas Nomenclatura +de 60 métricas de mercado Rendimiento 16 Listas de incumplimientos (componentes) Listados detallados para los equipos de desarrollo CAST Analiza la mayoría del portafolio de aplicaciones La Mayoría de los Sistemas Distribuídos y Mainframe Todas las capas de la aplicación Analizadores dedicados para: J2EE .Net / VB / ASP C / C++ / Pro C Oracle Forms & Reports / Power Builder / Delphi P BA A HTML / Scripting Languages Cobol / JCL / CICS / DB2 / IMS SAP ABAP TIBCO Business Objects Oracle PL SQL / Microsoft & Sybase T SQL / DB2 SQL Y mucho más con el Analizador Universal Programable para cualquier lenguaje Resultados menos detallados Copyright CAST 2005 17 Medición Automática … de todo el portafolio Gestión mejorada de la Calidad basada en hechos y medidas Todos los Sistemas Inventario de métricas Indicadores Clave Alertas Obtención Automática de una foto del estado de la aplicación, en cuanto a calidad Copyright CAST 2005 18 Visión global o detallada Detalles por aplicación o tecnología Navegación por diversas vistas: tecnología o aplicación Copyright CAST 2005 19 Monitorización Automática de Indicadores Clave Gestione proactivamente calidad, mantenibilidad y rendimiento Generación Automática de Vistas sobre evolución Copyright CAST 2005 20 Detección inmediata de cambios en indicador Producción de Métricas Estándar de Calidad Indicadores para el Portafolio completo 5 índices estándar por aplicación Copyright CAST 2005 Vistas y cuadros gráficos 21 CAST cubre todas las capas de la aplicación Ejemplo: aplic. Java/Oracle multi nivel Todos los niveles Análisis de tendencia sobre varias versiones de la aplic. Permite el cumplimiento de reglas para aplicaciones completas Permite comprobar reglas de Arquitectura Copyright CAST 2005 22 CAST permite cumplir reglas de mercado e internas Reglas Estándar (de mercado) Reglas internas El motor de reglas permite la creación y ejecución de reglas para verificar su cumplimiento + 400 Reglas Estándar verificadas… Motor de Reglas Programable 14 lenguajes de programación… Mainframe y sistemas distribuidos Ejemplo de Reglas Architecture rules Avoid Classes using multiple inheritance 78% Avoid Header File circular references 97% Avoid Directly Accessing database tables 93% Performance rules Avoid using Dynamic Instantiation 82% Avoid using cursors in stored procedures 91% Avoid queries involving more than 4 tables 73% Copyright CAST 2005 23 Listado Exhaustivo de componentes defectuosos Facilita la corrección Control de Calidad basado en acciones a tomar Índice de Documentación Java deteriorado Navegación para saber el porqué Seleccione Objeto Listado de todos los objetos a corregir Copyright CAST 2005 24 Vista del Objeto CAST permite la evaluación rápida y navegación al detalle Alerta en Arquitectura Más Detalle... Copyright CAST 2005 25 Desde ratios de cumplimiento a información de valor Esta regla para los procs. de BD no se respeta lo suficiente Más Detalle hasta el listado de componentes que no cumplen la regla Copyright CAST 2005 26 Ejemplo de verificación de Reglas de Arquitectura Regla que verifica que el framework « hibernate » se utiliza para persistencia 97% de cumplimientos significa que existen algunos componentes que acceden directamente a la BD Æ Impacto Potencial en integridad de datos Todos los componentes que incumplen la regla identificados para su corrección Copyright CAST 2005 27 Ejemplo de verificación de Reglas de Nomenclatura Se definió una regla como: « Métodos de Acceso a Datos deben llevar un prefijo que indica la acción realizada » (e.j.: I para inserciones.) 2 métodos no cumplen: Æ Puede llevar a engaños para programadores Java e inducir errores Se identifican Todos los objetos que no cumplen la regla o norma, y se enumeran para controlar su corrección Copyright CAST 2005 28 Otras Aplicaciones de CAST Application Intelligence Platform Monitorización y control de calidad en aplicaciones externalizadas (cumplimiento de ANS, etc) Monitorización y control de calidad en aplicaciones de desarrollo interno Iniciativas de reducción de costes en mantenimiento (evitar las caidas de los índices y mejoras en la mantenibilidad) Cumplimiento de reglas e iniciativas de los reguladores (Basilea II, SOX, etc.) Validación en el uso de « frameworks » de desarrollo Validación del uso de servicios comunes en SOA Copyright CAST 2005 29 ¿ Preguntas ?