Escribiendo Código con Visual Studio Team System

32
Los requerimientos listos… Ahora a escribir código!!! Sesión 2 day Technology Julio Casal Software Developer John Galt Solutions [email protected] http://msguayaquil.com/blogs/julioc

description

How to take advantage of the new developer tools included in Visual Studio Team System.

Transcript of Escribiendo Código con Visual Studio Team System

Page 1: Escribiendo Código con Visual Studio Team System

Los requerimientos listos…Ahora a escribir código!!!

Sesión 2day

Technology

Julio CasalSoftware DeveloperJohn Galt [email protected]://msguayaquil.com/blogs/julioc

Page 2: Escribiendo Código con Visual Studio Team System

AGENDA

La Importancia de la CalidadAnálisis EstáticoPruebas UnitariasCode CoverageManejo del Código FuenteCode Profiling

Page 3: Escribiendo Código con Visual Studio Team System

Por qué la Calidad es Importante para Ti

Las tasas de detección de defectos rara vez pasan el 75% cuando se usa una única técnica

Las técnicas detectan un promedio de 40%

Si deseas lograr una alta tasa de detección de defectos, necesitas usar una combinación de técnicasEs decir:No puedes simplemente depender de tu equipo de pruebas—la calidad empieza contigo!Steve McConnell, Code Complete 2nd Ed., p470

Page 4: Escribiendo Código con Visual Studio Team System

Visual Studio Team System

Admón. de CambiosVisual Studio

Team Foundation

Analiz. de Código Dinámico

Visual StudioTeam Architect

Analiz. de Código Estático

Perfilador de Código

Unit Testing

Código administrado y no administrado

Modelamiento de Visio y UML

Team Foundation Client (incluye CAL)

Visual Studio Professional Edition

Pruebas de Carga

Pruebas Manuales

Admón. Casos de Prueba

Diseño de Aplicaciones

Diseño de Infra. Lógica

Diseño de Implementación

Visual StudioTeam Developer

Visual StudioTeam Test

Construcción de Builds

Diseñador de Clases

Reportes

Seguim. de WorkItems

Portal de Proyectos

Servicios de Integración

Admón. de Proyectos

Visual StudioTeam Database

ProfessionalAdmon. cambios DB

Pruebas de BD (Tunning)

Implementación DB

Page 5: Escribiendo Código con Visual Studio Team System

VSTE for Software Developers

Vis

ual S

tud

io In

du

stry

Part

ners

Visual Studio Team Edition

Software Developer

Static Code Analyzer

Code Profiler

Work Item Tracking

ReportingVisual Studio

Team FoundationBig Build

Unit Testing

Code Coverage

Team Foundation Client

VS Professional Edition

Page 6: Escribiendo Código con Visual Studio Team System

ANALISIS ESTATICO

Page 7: Escribiendo Código con Visual Studio Team System

Análisis de Código

Encontrar errores en el código antes de ejecutarse o de hacer una entregaChequeos que van desde el estilo de codificación hasta correcciones para evitar problemas de seguridadIntegrado en el ambiente de Team System Build

Page 8: Escribiendo Código con Visual Studio Team System

Ananlisis EstáticoEl proceso de desarrollo sin analisis estático

CompileCode Binary

PreprocGrammar

LinkRaiseErrors

Chris Lucas
cut
Page 9: Escribiendo Código con Visual Studio Team System

Análisis EstáticoEl proceso de desarrollo con Analisis Estático

Code Compile

StaticAnalysis

AnalyzeCode

CheckRules

RaiseErrors

Binary

Chris Lucas
cut
Page 10: Escribiendo Código con Visual Studio Team System

Análisis EstáticoEjemplo código manejado

Compila

El análisis estático emite

advertencias

Page 11: Escribiendo Código con Visual Studio Team System

Análisis EstáticoEjemplo código manejado

C:\logger.cs(38): ‘Logger.inicializar(System.string)#System.void’Replace all calls to “”.Equals or string.Empty.Equals In ‘Logger.inicializar(System.string)’ with checks for length == 0.

Page 12: Escribiendo Código con Visual Studio Team System

Análisis EstáticoEjemplo código manejado

CódigoMejorad

o

Page 13: Escribiendo Código con Visual Studio Team System

PRUEBAS UNITARIAS

Page 14: Escribiendo Código con Visual Studio Team System

Pruebas Unitarias

El proceso de correr pruebas repetibles y programáticas, generalmente escritas por un desarrollador, para algún código (una clase, conjunto de métodos, etc)Formaliza el proceso de test rigsTodo está orientado a pruebas —Test Driven Development (TDD)

Page 15: Escribiendo Código con Visual Studio Team System

Pruebas Unitarias en VSTESD

Tipo de proyecto específico para pruebasPuedes crearlo tú o Visual StudioEl lenguaje a utilizar puede ser C#, Visual Basic, ó C++ Administrado

Soporte con clic derecho paraProyecto de prueba y generación de miembros desde la mayoría de tipos de proyectos (Librerías de Clase, Windows Forms, etc.)Generación de miembros desde proyectos de pruebas

Se puede ejecutar pruebas en cualquier objetivo administrado y en la mayoría de objetivos no administrados (puede requerir código y esfuerzo de tu parte)

Page 16: Escribiendo Código con Visual Studio Team System

Integración con Team Foundation Server

Work items—bugs, tasks, etc.—pueden ser creados desde la ventana de Resultados de las PruebasLos resultados de las pruebas pueden ser publicados a TFSLas pruebas pueden ser ejecutadas como parte de un build nocturno ó de integración por medio de Team Build

Page 17: Escribiendo Código con Visual Studio Team System

CODE COVERAGE

Page 18: Escribiendo Código con Visual Studio Team System

Code Coverage

Verifica las porciones de código tocadas por los casos de prueba

Se administran en VSTE-SDEs parte de los reportes compartidos por el equipo

Mide la efectividad de los esfuerzos de testingHaga drill-down según sea necesario

Assemblies, Clases, MétodosLíneas de Código

Page 19: Escribiendo Código con Visual Studio Team System

Integración con Team Foundation Server

Work items—bugs, tasks, etc.—pueden ser creados desde la ventana de Test Results enlazándolos a una prueba con code coverageLos datos de code coverage pueden ser incluidos con los resultados de las pruebas que son publicados a TFSCode coverage puede ejecutarse con las pruebas como parte de un build nocturno o de integración vía Team Build

Page 20: Escribiendo Código con Visual Studio Team System

Pruebas Unitarias y Code Coverage

Page 21: Escribiendo Código con Visual Studio Team System

MANEJO DEL CODIGO FUENTE

Page 22: Escribiendo Código con Visual Studio Team System

Team Foundation Version Control

Software para el manejo de configuraciones

SCM avanzadoEnfocado en escenarios de desarrollo claves

Altamente integrado con la herramienta

Page 23: Escribiendo Código con Visual Studio Team System

Checkin del Desarrollador

Todas las actividades de checkin un una sola UI

Validar y hacer commit a cambios en las fuentesResolución de work itemsEnvio de notificaciones

Cambios encapsulados como un conjunto de cambios “changeset”

Aplicados automaticamente al repositorioConveniente para el manejo de cambios

Page 24: Escribiendo Código con Visual Studio Team System

Visual Studio

Checkin

ValidatePolicies

1

Checkin PolicyEngine

Checkin PolicyEngine

Un

it T

esti

ng

Un

it T

esti

ng

WI

Associa

tion

WI

Associa

tion

Sta

tic A

naly

sis

Sta

tic A

naly

sis

Cu

sto

m P

olicy

Cu

sto

m P

olicy

CommitChanges

2

V1V1V5V5V4V4V5V5

V2V2V3V3

Change Set 727012Change Set 727012Change Set 727012Change Set 727012

Change Set 727012Change Set 727012Change Set 727012Change Set 727012

Change Set 727011Change Set 727011Change Set 727012Change Set 727012

WorkItem 33231WorkItem 33231

UpdateWork Items

3

Events Raised for3rd party sync purposes

ArtifactLink

Check E-mailNotification

4

Checkin – Detrás de las Cámaras

WorkspaceWorkspace

Integration Infrastructure

Version Control

Work Item Tracking

Page 25: Escribiendo Código con Visual Studio Team System

Políticas de Checkin

Page 26: Escribiendo Código con Visual Studio Team System

PROFILING

Page 27: Escribiendo Código con Visual Studio Team System

Profiling

El mal rendimiento en las aplicaciones es costoso

Percepción del clienteHardwareInvestigación

Page 28: Escribiendo Código con Visual Studio Team System

ProfilingInstrumentación

main AMethod BMethod

main 001AMethod 0023BMethod 0098….. 0145

Agrega instrucciones a su código para monitorear

Page 29: Escribiendo Código con Visual Studio Team System

ProfilingSampling

main AMethod BMethod

Analiza sin cambiar su aplicación

main 3AMethod 6

BMethod 92

Page 30: Escribiendo Código con Visual Studio Team System

Profiling

Page 31: Escribiendo Código con Visual Studio Team System

¿Preguntas?

Page 32: Escribiendo Código con Visual Studio Team System

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.