Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código,...

24
CompuwareCorporation Maximizar la Calidad de la aplicación con Continuous Integrated Testing

Transcript of Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código,...

Page 1: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

CompuwareCorporation

Maximizar la Calidad de la aplicación con Continuous Integrated Testing

Page 2: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 2

Un líder en la industria del Software� 32 años ayudando a las principales compañías del mundo a aumentar el valor de

las TI

� 8,000+ empleados

� 84 oficinas en 60 paises

� 3 Laboratorios de desarrollo + TIC certificado CMM nivel 3

� Situación financiera sólida y estable

– Ingresos de 1.230 millones de $ en FY’05

– Alta liquidez, sin deudas

– 40% de Facturación en EMEA

� Nombrada por la revista Fortune como una de las 10 compañías de software más admiradas.

� Nuestro compromiso: VALOR real y ROI para cada EURO que invierta

Page 3: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 3

IT Operations

Application Development

IT Management

IT Operations

Application Development

IT Operations

Soluciones Compuware

Page 4: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 4

SERVICIO SANITARIOS:Perdidas de $78M durante un trimestre debido a los problemas de calidad en susaplicaciones (HMO). Los retrasos en los pagos y los errores llevaron a sobreestimar las ganancias, y comoresultado dio lugar a una multa de 3M$ por parte del gobierno.

EMPRESAS DE MANUFACTURASLa implantación de un sistemainformático de 115M $ sin ningún tipo de pruebas. Debido a poblemas de software que podrían haber sido detectados con anterioridad, estáempresa informó de una reducción del 12% en sus ventas y de un 19% en sus ingresos.

TRAGEDIAS:En los últimos 16 años, los errores de software han provocado accidentes que van desde el lanzamiento de un satélite corrupto, la caida del sistema de ambulancias en Lóndres y hasta la destrucción de un avión de pasajeros por una mala información dada a un aviónmilitar.

Existe un precio a pagar por la Baja Calidad del Código?

"The average cost of unplanned downtime for a mission-critical application is $100,000 per hour" Theresa Lanowitz Gartner App Dev Summit in Sept 04

Page 5: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 5

¿Cuál es el problema? El Desarrollo de Aplicaciones siempreha tendido a cometer

errores1965“los desarrolladorescometen 1 error por cada18 líneas de código”

Profesor del ComputingImperial College London

1999“7% de todos loscambios tuvieronerrores”Estudio de los cambios del Año

2000 (Cutter Organisation)

Vamos a peor !!!!!

2004

“De media, un programador profesionalcomete entre 100 y 150 errores por cada1000 líneas de código”

Mann, Charles. “Why Software is so Bad”

Technology Review

5.5%

7%

10%-15%

Page 6: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 6

¿Cuanto cuesta corregir un Defecto?

“Los errores descubiertosdurante la fase de pruebascuesta resolverlos entre un 15 a un 75 mas de tiempo quelos que son descubiertos y solucionados en la fase de codificación.”

Software Engineering Economics, Barry W. Boehm

El Coste asociado a corregir un defectoaumenta según avanza el ciclo de vidade la aplicación

Page 7: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 7

Que ocurre hoy� Defectos e incidencias relacionadas con el rendimientoy la

escalabilidad se encuentran en fases tardìas del ciclo de desarrollo.

� El código se reenvía a Desarrollo lo que provoca retrasos en lasentregas, consecuencia de lo cual la fase de Testing se vereducida.

� Muchas incidencias se encuentran una vez la aplicación está en producción esto se debe a la reducción de la fase de Testing.

Planning Coding Testing Production

Go Live

Debugging

Page 8: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 8

“Per reviews” de software pueden captar hasta el 60% de los defectos. Institute of Electrical and Electronics Engineers

Gracias a los Diseños formales y a las Inspecciones de Código se mejora hasta en un 65% en la eliminación de defectos.

La mayoria de los planes de Testing están por debajo del 30% de eficiencia

“Software Quality: Analysis and Guidelines for Success” Capers Jones

Existe un camino que aune Coste con Efectividad para solucionar este

problema?

Page 9: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 9

Continuous Integrated TestingProbar antes, Probar a menudo…

Pruebas Automáticas, Pruebas con Confianza!

� Tres componentes en el Proceso– Recolección

– Análisis

– Resolución

� Incrementar el número de ciclos de pruebas por proyecto

� Reducir el uso innecesario de recursos– Tests completamente automátizados permiten ser ejecutados de

forma desatendida.

Planning Coding Testing Production

Go Live ?

Continuous Integrated Testing

Test Cases

Page 10: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 10

Qué esContinuous Integrated Testing?

� Proceso Repetible, Consistente e Iterativo quemejora la calidad de la aplicación

� Comenzar las pruebas a la vez que la codificación!

– Encontrar defectos nada mas comenzar el desarrollo

– Las pruebas son efectivasdesde el primer dia del desarrollo

– Se mueve código al grupode Pruebas con confianza

� Incrementa de forma exponencial los ciclosde Test!

– Se ejecuta un ciclo cadadía

– Se prueba de nuevo lo arreglado ese día

– Traspaso de pruebasválidas al equipo de pruebas

Page 11: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 11

El valor de incorporar CIT:� Muchos errores de desarrollo pueden ser descubiertos pronto ~ Al tiempo en que

son escritos.

– Incidencias de rendimiento y memoría pueden ser descubiertas durante la ejecución de pruebasdiarias.

� Detectado el código que no es ejecutado.

– Recoger estadísticas de la cobertura de código minuciosas trás la ejecución de los scripts de pruebas.

� Según avanzan los días los scripts de pruebas crecen exponencialemente.

– Según los módulos son desarrollados, se crean los scripts de pruebas para ellos cada día.

– Según los scripts de pruebas son desarrollados cada día, se añaden al conjunto de pruebas a realizarde forma desatendida cada noche.

� Solo el denominado Código de Calidad se envía a la faseformal de Pruebasfuncionales y de stress.

� De esta forma las capacidades de los desarrolladores se alinean con los objetivos de Negocio de las empresas.

Page 12: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 12Compuware: Solución de Calidad SW

RequisitosIntegrados

RequisitosIndividuales

PruebasFuncionales

PruebasCarga

SI

PruebasManuales

PruebasAutomat.

AplicaciónCorrecta

SI

NO

Gestión de Defectos

DatosPrueba

Pruebas Caja

Blanca

Plan de Pruebas

DatosPrueba

[CIT]

Page 13: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 13

“Hardware Store” es una aplicación web que va a ser desarrollada usando CIT.

Page 14: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 14

El desarrollador se encargará de generar el código necesario.

A su vez el establecimiento de reglas detectan el nivel de calidad de ese código

Page 15: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 15

• Análisis estático de código• Optimización del código:

•Mejorar el tiempo de respuesta•Reducir Errores•Reducir consumo de recursos

Scripts automáticos de TP lanzados en modo desatendido sobre el código ya desarrollado. Ayudará a mejorar el rendimiento ya a conocer la cobertura de código.A comparar las mejoras tras ciertos cambios.Entega de scripts automáticos al equipo de Testing

Page 16: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 16

• Análisis estático de código• Optimización del código:

•Mejorar el tiempo de respuesta•Reducir Errores•Reducir consumo de recursos

• Optimización del código:•Mejorar el tiempo de respuesta•Reducir Errores•Reducir consumo de recursos

• Medición de la cobertura• Comparativas

Page 17: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 17

Static Code Analysis

DevPartner ha remarcado que el usode la clase StringBuilder podría ser

mas eficiente en este punto del código

Page 18: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 18

Memory & Performance Analysis

La Memoría y el Rendimiento se venimpatados por no haber usado la clase

que se recomendaba.

Page 19: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 19

Application Performance ResultsBefore and After the repair is made

Page 20: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 20

Code Coverage Analysis

Quickly identify how thorough your test scripts are by seeing what code has

not been executed.

Page 21: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 21

Automated Test Script

La opción de Captura de TestPartner se usa para generar los scripts

automáticos.

Page 22: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 22Compuware: Solución de Calidad SW

RequisitosIntegrados

RequisitosIndividuales

PruebasFuncionales

PruebasCarga

SI

PruebasManuales

PruebasAutomat.

AplicaciónCorrecta

SI

NO

Gestión de Defectos

DatosPrueba

Pruebas Caja

Blanca

Plan de Pruebas

DatosPrueba

[RBT]

[CIT]

Page 23: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez

Page 23

CIT Resumen

� Automatizar muchas de las tareas manuales:– Revisión de Código, Análisis de Memoria y Rendimiento y

Análisis de Cobertura de Código.

� Mayor rapidez en el aprendizaje:– Ayuda Online, tutoriales, ejemplos, enlaces a white papers.

� Creación de “best practices” repetibles

� Reducir tiempo conjunto entre desarrollo y pruebas.

� Desarrollando aplicaciones con mejor rendimiento y mayor fiabilidad.

Page 24: Compuware Corporation - Calidad del Software Semana CMMI/10-Compuware.pdf– Revisión de Código, Análisis de Memoria y Rendimiento y Análisis de Cobertura de Código. Mayor rapidez