Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System...
-
Upload
visitacion-hernadez -
Category
Documents
-
view
4 -
download
0
Transcript of Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System...
ISV INNOVATION DAYSDESARROLLO CON CALIDAD,CON VISUAL STUDIO 2008
Aurelio PorrasDevelopment Tools [email protected]
Agenda
• Visual Studio Team System• ¿Porqué calidad del software?• Calidad de software con Team
System• Construir correctamente
• Build it right – make sure that works• Construir lo correcto
• Build the right thing• Calidad en global
• Calidad del proceso de desarrollo
Visual Studio Team System
Probador
Desarrollador
Arquitecto
Jefe deProyectos
Analista deNegocio
Profesional de Base de Datos
Diseñador
Mejorar la Calidad del
Software
Facilitar la Colaboración en
Equipo
Incrementar la Transparecia en
Proyectos
Visual Studio Team System
¿Por qué calidad de software?
Coste
/ $
Tiempo en el que se encuentra el defecto
Análisis Diseño Codificación Pruebas Versión
¿Por qué calidad de software?• El defecto es más
costoso cuanto más cerca estemos de liberar versión
• Proceso en cascada vs. Proceso iterativo-evolutivo
$1,000+
$100
$10
$1
Calidad de softwareAsegurarla temprano y a menudo• Herramientas centradas en la
calidad• Para reducir el coste global del
proyecto• Integradas en todo el ciclo de vida
Ciclo de Vida• Seguimiento • Requisitos • Escenarios • Calidades Servicio
Análisis
• Modelo de Despliegue
Diseño
• Métricas de Código • Análisis Estático• Pruebas Rendimiento• Pruebas Unitarias• Control Código• Integración (Continua)
Desarrollo
• Pruebas Automatizada• Pruebas Web• Pruebas de Carga• Pruebas Manuales• Integración (Planificada)• Seguimiento Defectos
Pruebas
Calidad de softwareIntegrada en todo el ciclo de vida
Calidad de softwareIntegrar frecuentemente el trabajo• Control de versiones y sistema de
integración• Directivas de protección de código (check-in
policies)• Integración continua• Integraciones planificadas
Calidad de software
• Construir correctamente • Build it right & make sure that works• Herramientas que ayudan a escribir código
correctamente y a comprobar que funciona correctamente
• Construir lo correcto• Build the right thing • Herramientas que ayudan a comprobar que el código
escrito hace lo que tiene que hacer• Calidad en global
• Seguimiento de defectos• Trazabilidad de requisitos• Transparencia del proceso
Construir correctamente
• No sólo código que compile• Código que cumpla normativa
• Análisis de Código [TeamDev, TeamDB, TeamSuite]
• Código mantenible• Métricas de Código [TeamDev, TeamSuite]
• Código respetuoso con los recursos• Pruebas de Rendimiento [TeamDev, Team
Suite]
• Código verificable, hace lo que se esperaba• Pruebas Unitarias [Pro, TeamDev, TeamDB,
TeamSuite]• Cobertura de Código [TeamDev, TeamTest,
TeamSuite]
MI = 171 - 5.2 * log2(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * log2(Lines of Code)
Construir correctamente
• ¿Puedo obligar ayudar a los miembros de mi equipo en el uso de estas herramientas?• “A bote pronto”, utilizando directivas de
protección de código en Control de Código [TFSCodeControl]
• “A toro pasao”, utilizando tareas en el Proceso de Integración, integración continua [TFSTeamBuild]
• “Con burocracia”, utilizando técnicas concretas asociadas a la metodología que se quiera seguir durante el proceso de construcción de software • Ej. Desarrollo Dirigido por Pruebas (Test Driven
Development), para asegurar que se escriben pruebas unitarias
ISV INNOVATION DAYS
Construir correctamente
Construir lo correcto
• Comprobar que lo construido cumple con las especificaciones
• Que cumpla con los requisitos funcionales • Pruebas Automatizadas [TeamDev, TeamTest,
TeamSuite]
• Pruebas Manuales [TeamTest, TeamSuite]
• Pruebas Web [TeamTest, TeamSuite]
• Que cumpla con los requisitos operacionales• Pruebas Web [TeamTest, TeamSuite]
• Pruebas de Carga [TeamTest, TeamSuite]
Construir lo correcto
• ¿Puedo obligar ayudar a los miembros de mi equipo en el uso de estas herramientas?• “A toro pasao”, utilizando tareas en el
Proceso de Integración, integraciones planificadas [TFSTeamBuild]
• “Con burocracia”, utilizando técnicas concretas asociadas a la metodología que se quiera seguir durante el proceso de construcción de software • Ej. Auditoría de calidad llevado a cabo por el
equipo de Calidad: paso de pruebas, cumplimiento de especificaciones y notificación de defectos
ISV INNOVATION DAYS
Construir lo correcto
Calidad en global
• Trazabilidad• Requisitos, Defectos y otros
artefactos [TFSWorkitems]
• Transparencia del proceso• Estado de proyecto “online”
[TFSDatawarehouse y TFSReports]
Trazabilidad Típica en un proyecto Agile
Escenario
Prueba
Tests / Tested By
Defecto Tarea
Código
Parent / Child Parent / Child
Change SetsChange SetsCode Coverage
TrazabilidadSólo con control de código
Prueba
Escenario
Código
Defecto Tarea
Tests / Tested By
Parent / Child Parent / Child
Change SetsChange SetsCode Coverage
TrazabilidadSeguimiento de defectos ycontrol de código
Test
Story
Code
Bug Task
Tests / Tested By
Parent / Child Parent / Child
Change SetsChange SetsCode Coverage
ISV INNOVATION DAYS
Calidad en globalTrazabilidad
Transparencia del procesoInformes Ratios de pruebas
(pass, inconclusive, fail) mostrado en
barras
Frente a cobertura de
código, …
code churn, …
y bugs activos
Ciclo de Vida• Seguimiento • Requisitos • Escenarios • Calidades Servicio
Análisis
• Modelo de Despliegue
Diseño
• Métricas de Código • Análisis Estático• Pruebas Rendimiento• Pruebas Unitarias• Control Código• Integración (Continua)
Desarrollo
• Pruebas Automatizada• Pruebas Web• Pruebas de Carga• Pruebas Manuales• Integración (Planificada)• Seguimiento Defectos
Pruebas
Para llevar …
Calidad de softwareIntegrada en todo el ciclo de vida
Recursos
• Team System Developer Centerhttp://msdn2.microsoft.com/en-us/teamsystem/aa718755.aspx
• Microsoft Tester Centerhttp://www.msdn.com/testercenter
• “How Do I” Video Serieshttp://msdn2.microsoft.com/en-us/teamsystem/bb507749.aspx