escribiendo código con visual studio team system
DESCRIPTION
How to take advantage of the new developer tools included in Visual Studio Team System.TRANSCRIPT
Los requerimientos listos…Ahora a escribir código!!!
Sesión 2day
Technology
Julio CasalSoftware DeveloperJohn Galt [email protected]://msguayaquil.com/blogs/julioc
AGENDA
La Importancia de la CalidadAnálisis EstáticoPruebas UnitariasCode CoverageManejo del Código FuenteCode Profiling
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
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
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
ANALISIS ESTATICO
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
Ananlisis EstáticoEl proceso de desarrollo sin analisis estático
CompileCode Binary
PreprocGrammar
LinkRaiseErrors
Análisis EstáticoEl proceso de desarrollo con Analisis Estático
Code Compile
StaticAnalysis
AnalyzeCode
CheckRules
RaiseErrors
Binary
Análisis EstáticoEjemplo código manejado
Compila
El análisis estático emite
advertencias
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.
Análisis EstáticoEjemplo código manejado
CódigoMejorad
o
PRUEBAS UNITARIAS
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)
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)
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
CODE COVERAGE
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
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
Pruebas Unitarias y Code Coverage
MANEJO DEL CODIGO FUENTE
Team Foundation Version Control
Software para el manejo de configuraciones
SCM avanzadoEnfocado en escenarios de desarrollo claves
Altamente integrado con la herramienta
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
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
Políticas de Checkin
PROFILING
Profiling
El mal rendimiento en las aplicaciones es costoso
Percepción del clienteHardwareInvestigación
ProfilingInstrumentación
main AMethod BMethod
main 001AMethod 0023BMethod 0098….. 0145
Agrega instrucciones a su código para monitorear
ProfilingSampling
main AMethod BMethod
Analiza sin cambiar su aplicación
main 3AMethod 6
BMethod 92
Profiling
¿Preguntas?
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.