Hasta un total de 50 miembros... AEMES: Gestión Cuantitativa de las TI.

Post on 03-Feb-2015

12 views 0 download

Transcript of Hasta un total de 50 miembros... AEMES: Gestión Cuantitativa de las TI.

Pruebas de Carga en VSTS 2010El control de calidad en el desarrollo de software

Carlos Salinas y Ramiro Carballo (calidad@gesein.com)GESEIN. 24 Noviembre 2009. Microsoft ALM’09 Sessions.

− Consultoría y Soluciones para la Calidad y la Mejora del Proceso Software y de las TIC:− Implantación de Modelos de Procesos: CMMI / CMM / ISO 9001/ SPICE / PSP / TSP /

ITIL …− Implantación de

− Oficinas de Proyectos− Oficinas de Calidad− Modelos de Factoría

− Formación− Las métricas : la Mejora

Gesein: Servicios TI

Asociación Española de Métricas de los Sistemas Informáticos

www.aemes.org

Hasta un total de 50 miembros...

AEMES: Gestión Cuantitativa de las TI

Asociación Española para la Calidad

www.aec.es

COMITÉ DE CSTIC     Grupos de Trabajo:

  Gestión de Conocimiento y Calidad del Software CMMI para pequeñas organizaciones

Formación CSQE Desayunos de Trabajo

Relaciones Cliente – Proveedor Oportunidades para la Industria Española del

Software

Calidad en los Sistemas y las TIC

Medición automática de puntos función

Proyecto MESURA

QUANTITATIVA

Marco Metodológico para la Gestión Cuantitativa de Proyectos y Procesos Software

         Proyecto I+D+i sobre métricas y gestión cuantitativa subvencionado por el Ministerio de Industria, Turismo y Comercio.     

Tamaño (PF) vs Esfuerzo (MH)

1,00

10,00

100,00

1.000,00

Puntos Función

Meses H

om

bre

• CMMI /SPICE• ISO 9001 para Software• ISO 20.000 (Gestión del Servicio, ITIL)• ISO 27.001 (Gestión de la Seguridad)

Grupo AEI CalidaddelSoftware.com

Gestión de 4 colectivos

de empresas 2006-2009hasta 63 empresas

ESTIMACIÓN DE PROYECTOS

Pruebas de Carga en VSTS 2010.

El control de calidad en el desarrollo de software

© Carlos Salinas y Ramiro Carballo . GESEIN. 9

− El concepto de calidad de producto software está íntimamente relacionado con los conceptos de control de calidad industrial.

− Es difícil equiparar procesos industriales con la forma de producir software.

− Consiste en la comprobación, al final del ciclo de producción, de que todos los requisitos especificados a priori, son cumplidos por el producto entregado.

− Distintos tipos de pruebas “controlan” el cumplimiento de distintos tipos de requisitos.

Concepto: El Control de Calidad

− Las pruebas:− Son el “Control”− Detectan errores en el producto.− Los errores son el resultado de la ejecución de un

producto con defectos.− Hay que detectar el defecto para resolverlo

(retrabajo).− Los defectos fueron introducidos por fallos en la

construcción.− Las metodologías:

− La garantía (aseguramiento) de la calidad mantiene viva la esperanza de que las incidencias detectadas en futuras pruebas se reducirán en el futuro, incorporando "mejores prácticas" que eviten los fallos que introducen los defectos.

− Es lo que se denomina calidad del proceso.

Control vs Garantía de Calidad

Estándares : Garantía de Calidad

− El control del cumplimiento de los requisitos iniciales requiere diversos tipos de actividades, según los aspectos que cubran: − las pruebas funcionales verifican la lógica de

negocio, − las pruebas de carga verifican la capacidad y

rendimiento del producto en ejecución. − Otros requisitos como la seguridad, la usabilidad, la

accesibilidad o la mantenibilidad deben ser comprobadas a propósito mediante auditorías, análisis de código, etc.

Tipos de pruebas

− Plan de Pruebas: Agrupa el conjunto de peticiones que se ha previsto realizar contra el producto a probar.

− Cada petición puede ejecutarse N veces:− En secuencial− En paralelo (concurrencia)− En un número de ejecuciones en un tiempo máximo

restringido− O por iteraciones que se repiten indefinidamente

− Cada petición tiene por objetivo probar una función esperando un resultado.

− Los resultados pueden influir en decisiones sobre las siguientes pruebas a realizar.

Conceptos básicos: Pruebas Carga.

Tipos−Permiten verificar:

−El correcto funcionamiento de una aplicación

−Su capacidad para absorber un supuesto incremento de carga

−Tres tipos de pruebas con diferentes metas: −Pruebas de carga (load testing)−Pruebas de fatiga (stress testing)−Plan de capacidad (capacity

planning)

Pruebas de carga (load testing)

− Verifica el comportamiento de una aplicación bajo condiciones de carga normal y pico

− Permite conocer si se cumplen los objetivos de rendimiento (SLA).

− Permite medir tiempos de respuesta , capacidad de procesamiento, niveles de utilización de recursos

− Tiene como finalidad identificar puntos de ruptura de la aplicación por debajo de condiciones de pico

Pruebas de fatiga (stress testing)

− Permite evaluar el comportamiento de una aplicación cuando es forzada por encima de su uso habitual o pico

− El objetivo es identificar posibles fallos que aparecen solo bajo condiciones de carga extremas− Problemas de sincronización− Condiciones de carrera− Memory leaks

− Identifica puntos débiles de nuestra aplicación

Capacity Planning

− ¿Qué es?− Capacity planning es el proceso de planificación del crecimiento y

la previsión de los periodos de pico de la aplicación − ¿Qué supone?

− Supone la realización de pruebas de rendimiento en profundidad− Objetivo

− Cumplir los requerimientos de capacidad tanto del sistema como de la aplicación

− Procedimiento a seguir:− Medir el número de ejecuciones y tipo de demanda que

actualmente recibe nuestro aplicativo por parte de los usuarios.− Cálculo de los recursos del sistema utilizados (CPU, RAM, espacio

en disco y ancho de banda de red) que son necesarios para soportarlos actualmente y en el futuro.

− Metodologías para realizar un capacity planning:− Transaction cost analysis− Predictive analysis

Pruebas de Carga: Mejoras

− Control del modelo de carga− Load Test Analyzer mejorado− Manejo de resultados de pruebas de carga

mejorado− Posibilidad de Test Agent y Test Controller− Almacenamiento de resultados en SQL

− Script de creación de BBDD en Program Files\Microsoft Visual Studio 9\Common7\IDE

− Ejecutar:SQLCMD /S localhost\sqlexpress /i

loadtestresultsrepository.sql

Pruebas Carga: Control del modelo de carga − Número total de tests

− Número total de usuarios

− Ritmo de usuarios

Pruebas de Carga: Resultados

− Ventana de resumen de resultados− Tests ejecutados− Resultados globales

Pruebas de Carga: Resultados

− Múltiples gráficos con indicadores claves− Cliente/Frontales/Backend

Pruebas de Carga: Resultados

− Almacenamiento de resultados en BBDD

− Recuperar resultados previos

Visual Studio Team Test Load Agent

− Características− Permite generar carga masiva − Permite simular escenarios reales de carga− Cada PC puede simula aprox.1000 usuarios− Repositorio de información en SQL Server− Integrado con Visual Studio Team Edition for Software

Testers y Team Foundation Server

− http://blogs.msdn.com/vstsloadtestblog/articles/527597.aspx

Referencias

− Team Edition for Testers− http://msdn2.microsoft.com/en-us/library/ms182409(VS.80).aspx

− Introducing Microsoft Visual Studio 2005 Team System Web Testing− http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vs05tmsyswebtst.asp

− Web Test Authoring and Debugging Techniques for VS 2008− http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx

− Considerations for Large Load Tests− http://msdn2.microsoft.com/en-us/library/ms404664(VS.80).aspx

− TN_1300: Advanced Load Testing Features of Visual Studio Team System− http://msdn2.microsoft.com/en-us/teamsystem/aa718897.aspx

Referencias (II)

−Web Tests troubleshootinghttp://msdn.microsoft.com/en-us/library/ms318556.aspx

−Fiddlerhttp://www.fiddler2.com/Fiddler2/version.asp

−Web and Load Test Plugins for Visual Studio Team Test http://www.codeplex.com/TeamTestPlugins

−Advanced Web Test Taskshttp://msdn.microsoft.com/en-us/library/ms182553.aspx

How to: Schedule Test Runshttp://msdn.microsoft.com/en-us/library/ms243181(VS.80).aspx

Pruebas de Carga

Carlos SalinasRamiro CarballoGESEINAlfonso Gómez, 4228037 MadridTlf: +34 639078817r.carballo@gesein.comwww.gesein.com