Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System...

24
ISV INNOVATION DAYS DESARROLLO CON CALIDAD, CON VISUAL STUDIO 2008 Aurelio Porras Development Tools Advisor [email protected]

Transcript of Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System...

Page 1: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

ISV INNOVATION DAYSDESARROLLO CON CALIDAD,CON VISUAL STUDIO 2008

Aurelio PorrasDevelopment Tools [email protected]

Page 2: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 3: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 4: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

Visual Studio Team System

Page 5: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

¿Por qué calidad de software?

Page 6: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 7: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 8: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 9: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 10: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 11: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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)

Page 12: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 13: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

ISV INNOVATION DAYS

Construir correctamente

Page 14: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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]

Page 15: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 16: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

ISV INNOVATION DAYS

Construir lo correcto

Page 17: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

Calidad en global

• Trazabilidad• Requisitos, Defectos y otros

artefactos [TFSWorkitems]

• Transparencia del proceso• Estado de proyecto “online”

[TFSDatawarehouse y TFSReports]

Page 18: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

Trazabilidad Típica en un proyecto Agile

Escenario

Prueba

Tests / Tested By

Defecto Tarea

Código

Parent / Child Parent / Child

Change SetsChange SetsCode Coverage

Page 19: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

TrazabilidadSólo con control de código

Prueba

Escenario

Código

Defecto Tarea

Tests / Tested By

Parent / Child Parent / Child

Change SetsChange SetsCode Coverage

Page 20: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

TrazabilidadSeguimiento de defectos ycontrol de código

Test

Story

Code

Bug Task

Tests / Tested By

Parent / Child Parent / Child

Change SetsChange SetsCode Coverage

Page 21: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

ISV INNOVATION DAYS

Calidad en globalTrazabilidad

Page 22: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

Transparencia del procesoInformes Ratios de pruebas

(pass, inconclusive, fail) mostrado en

barras

Frente a cobertura de

código, …

code churn, …

y bugs activos

Page 23: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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

Page 24: Agenda Visual Studio Team System ¿Porqué calidad del software? Calidad de software con Team System Construir correctamente Build it right – make sure.

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