Novedades En Visual Studio Team System 2010


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The video from this session can be found at
  • Rulesets are customizable.
  • Can record entire application lifetime or just portions of the lifetime.
  • Ejecutar aplicaciones basadas en 2.0 y 4.0 en el mismo proceso CLRLos componentes antiguos utilizan el CLR antiguoLos nuevos componentes utilizan el nuevo CLR
  • MESSAGING:C# 1.0With the launch of the C# language, it was a major shift we took to a full managed environment. This was a big step for programming languages at Microsoft. C# 2.0 -With the second release of C# we introduced fully reified Generics into the language. This was a very powerful addition to the type system.C# 3.0 -C# 3.0 introduced LINQ which we talked about previouslyC# 4.0 -Not just “dynamic” as in late-binding, but those features that allow the compiler to “get out of the developer’s way”.
  • MESSAGING:Visual Basic 1 – Visual Basic 3Made Windows programming accessibleHelped make Windows the premier platform in the worldVisual Basic 4 – Visual Basic 6Made targeting COM and OLE approachable for most developersVisual Basic 7 – Visual Basic 9Bringing the “ease of use” to the .NET platformHelped establish the CLR as the premier managed runtime in the worldVisual Basic 10Continuing this trend to make it easy to use and leverage the platform
  • MESSAGING:There is a good reason why the Dynamic Language Runtime (DLR) exists. The problem is that, today, dynamically-typed languages like Python and Ruby can’t easily run directly on top of the CLR as the CLR is primarily designed for statically-typed languages. By creating the DLR, we help plug that hole and allow dynamically-typed languages to run on top of the CLR (by working through the DLR).
  • MESSAGING:The DLR provides core services that are necessary for dynamically-typed languages to work on the CLRThe DLR also provides other services that can be used by statically-typed languages as well to achieve more dynamic behavior:Expression Trees (including Statements)Dynamic DispatchCall Site Caching
  • MESSAGING:The power of the DLR is that there are many binders for the DLR. Yes, we can interop with dynamic languages like Python and Ruby like we expect to. However, perhaps even more importantly, there are binders available for .NET, Silverlight, and Office. This allows us to interact between these platforms in very powerful ways that we were unable to currently.
  • MESSAGING:As long as we stay in our statically-typed world, interacting with objects is a pleasant and intuitive experience. However, as soon as you step out of that boundary and have to start using reflection, your code becomes much less elegant, harder to read, and harder to maintain. Using ScriptObject in the DLR makes this a bit easier as it provides some direct method calls to invoke methods with specific parameters. And while this is an improvement, it’s still a departure from the way we are used to interacting with objects.Using the new dynamic keyword in C# 4, we can call the .Add method above exactly as it were statically typed like in our first code snippet. In this case, the calc object is statically typed to be dynamic (yes, that’s true). Once we have a dynamic object references, we can dynamically invoke methods, do dynamic conversion, etc.
  • Dependency matrix: colors indicate whether object inherit, references, calls, etc.
  • Visual Studio is a “programmer’s” interfaceNo test case managementDifficult to relate tests to requirementsDifficult to identify best tests to runManual testing interface unfriendly for functional testersNo automated user interface testing
  • “Ping pong” effect during resolutionInsufficient defect detailsUnknown machine configurationUnknown runtime detailsNo screenshot“It works on my machine”
  • Setting up multiple test environmentsDedicated machine resources results in poor utilization of hardwareSharing environment data with developers for defect resolution
  • Work item tracking improvements, including support for work breakdown hierarchies and customizable link types that allow queries which include the relationships between different types of work. For example, you’ll be able to query for all requirements linked to a particular test.New project scheduling features that enable better coordination between project management and the rest of the organization.  The 2010 release includes dedicated integration with Project Server for enterprise wide project management. Additionally you can expect new features for Agile project including more integration with Excel.Dashboards and cross project reports that provide roll up of status across diverse projects with drill down capabilities to investigate hot spots in the data.A simplified data warehouse and reporting experience that makes it easier to build custom reports that fit exactly the questions you want to answer.
  • Team Build 2010 Feature and Agile Development BenefitDistributed BuildsTeams can iterate on the code base faster because each build finishes in less time than it would if it executed on a single machineShelveset BuildsUsers can validate their changes in a shelveset build on the server without risking a build break. This is useful when a developer is working on a feature over an extended period and wants to reduce the integration risk when they’re done by periodically building against the tip.Gated Check-inFor large teams working in a single branch, gated check-in is essential to having a good build available for testing. Without it, you would have a never ending series of build breaks.Symbol and Source Server SupportLet’s teams quickly debug automated test failures even if the version that failed isn’t the same as what they have in their local workspace. This feature also makes the Debugging History tool window work for server builds.Build Details View with links to errors/warningsWhen a server build (Team Build) fails due to an error or warning, the user can navigate directly to the problem source file from the build details view, rather than scrolling through megabytes of build log output.Build NotificationsOur tray application notifies you when builds succeed or fail so that you respond more quickly to fix build breaks or to pickup new builds for testing.
  • OverviewWhen you’re building software as a team, there’s a natural cycle that you follow – testers find bugs, developers fix bugs, testers verify fixes. In order for this cycle to be productive, testers need builds that include fixes to the bugs that the developers have fixed. If the build is broken, there is a risk of holding up the entire team until it is fixed.Gated check-in provides a way to prevent build breaks by validating a developer’s changes prior to committing them to the version control repository. Those changes are validated via an automated build. If the build fails, the user’s pending changes are rejected and passed back to them as a shelveset, otherwise the changes are committed to the repository.Shelve-and-build, a related feature, lets the developer validate their changes with a private automated build. Unlike gated check-in, shelve-and-build is something the developer can choose to do. It can help identify breaks in code that the developer may not generally build on their local machine.Value Proposition       If a single developer on your team typically breaks the build just once a year and you have 52 developers working on your project, the build could be broken every week. If you have 260 developers, the build could be broken every day. When the build breaks, the entire team may be stalled resulting in substantial productivity losses. Those losses could be prevented by the gated check-in feature.
  • The video from this session can be found at
  • Novedades En Visual Studio Team System 2010

    1. 1. Novedades en VSTS 2010<br />Imposible mostrar todo …<br />Ya no está en pañales …<br />Bruno Capuano<br />MVP Team System<br /><br />Blog:<br />Email:<br />
    2. 2. Historia de Visual Studio<br />Software<br />+ <br />Servicios<br />ALM<br />Servicios Web<br />Aplicaciones<br />Distribuidas<br />Windows ClienteServidor<br />
    3. 3. Visual Studio TeamSystem 2008<br />
    4. 4. Visual Studio Team System 2010<br />
    5. 5. Novedades en el IDE<br />
    6. 6. Mejoras en el IDE de Visual Studio<br />
    7. 7. Visual Studio 2010 basado en WPF<br />
    8. 8. Orientación al desarrollo<br />
    9. 9. Code Analysis<br />
    10. 10. Depurador Histórico (HistoricalDebugger)<br />
    11. 11. Demo – Novedades en el IDE<br />
    12. 12. Novedades en los lenguajes y en el .Net Framework<br />
    13. 13. .NET Framework – Arquitectura Actual<br />.NET Framework 3.5 + SP1<br />Entity Framework<br />MVC<br />Dynamic Data<br />Data Services<br />.NET Framework 3.5<br />Add-in <br />Framework<br />LINQ<br />WF & WCF Enhancements<br />Additional Enhancements<br />.NET Framework 3.0 + SP1<br />Windows Presentation Foundation<br />Windows Communication Foundation<br />Windows Workflow Foundation <br />Windows CardSpace<br />.NET Framework 2.0 + SP1<br />
    14. 14. .NET Framework 4.0<br />User Interface<br />Data Access<br />Services<br />Windows Presentation Foundation<br />ASP.NET<br />(WebForms, MVC, Dynamic Data)<br />Entity Framework<br />ADO.NET<br />Data Services<br />Windows Communication Foundation<br />WinForms<br />LINQ to SQL<br />Windows Workflow Foundation<br />“Velocity”<br />Core<br />Base Class Library<br />Dynamic Language Runtime<br />Languages<br />Managed Extensibility Framework<br />LINQ<br />Parallel Extensions<br />Common Language Runtime<br />
    15. 15. Nuevo modelo de proceso: SidebySide<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />1.1 add-in<br />3.5<br />.NET 1.1<br />3.0<br />.NET 2.0<br />Host Process (i.e. Outlook)<br />
    16. 16. Nuevo modelo de proceso: SidebySide<br />2.0 add-in<br />3.0 add-in<br />3.5 add-in<br />4.0 add-in<br />3.5<br />.NET 4.0<br />3.0<br />.NET 2.0<br />Host Process (i.e. Outlook)<br />
    17. 17. Mejoras en Base Class Library<br />
    18. 18. La evolución de C#<br />C# 4.0<br />Dynamic<br />C# 3.0<br />LINQ<br />C# 2.0<br />Genéricos<br />C# 1.0<br />Código Manejado<br />
    19. 19. La evolución de Visual Basic<br />VB10<br />Más … más …<br />VB7-VB9<br />Se agregó la potencia de .NET<br />VB4-VB6<br />Se simplificó la programación de Componentes<br />VB1 – VB3<br />Se simplificó la <br />programación <br />para Windows<br />
    20. 20. C# y Visual Basic<br />Better support for Native/COM/Managed Interop (no PIA)<br />
    21. 21. Demo – Novedades en C# y Visual Basic.Net<br />
    22. 22. ¿Porqué “DynamicLanguageRuntime”?<br />Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />C#<br />Common Language Runtime<br />
    23. 23. ¿Porqué “DynamicLanguageRuntime”?<br />Dynamically-Typed<br />Ruby<br />Python<br />Statically-Typed<br />VB<br />Dynamic Language Runtime<br />C#<br />Common Language Runtime<br />
    24. 24. Programación con .NET DLR<br />IronPython<br />IronRuby<br />C#<br />VB.NET<br />Others…<br />Dynamic Language Runtime<br />Expression Trees<br />Dynamic Dispatch<br />Call Site Caching<br />PythonBinder<br />RubyBinder<br />COMBinder<br />JScriptBinder<br />ObjectBinder<br />
    25. 25. Dynamically Typed Objects<br />Calculator calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />object calc = GetCalculator();<br />TypecalcType = calc.GetType();<br />object res = calcType.InvokeMember(&quot;Add&quot;,<br />BindingFlags.InvokeMethod, null,<br />newobject[] { 10, 20 });<br />int sum = Convert.ToInt32(res);<br />ScriptObject calc = GetCalculator();<br />object res = calc.Invoke(&quot;Add&quot;, 10, 20);<br />int sum = Convert.ToInt32(res);<br />Statically typed to be dynamic<br />dynamic calc = GetCalculator();<br />int sum = calc.Add(10, 20);<br />Dynamic method invocation<br />Dynamic conversion<br />
    26. 26. Herramientas de Modelado<br />
    27. 27. Nuevas herramientas de modelado<br />
    28. 28. UML: Diagrama de Clases<br />
    29. 29. UML: Diagrama de Secuencia<br />
    30. 30. UML: Diagramas de Casos de uso<br />
    31. 31. UML: Diagramas de Actividad<br />
    32. 32. UML: Diagramas de Componentes<br />
    33. 33. Layer Diagram<br />
    34. 34. <ul><li>Descubrir relaciones entres Namespaces, clases y ensamblados
    35. 35. Comprender el codigo existente.
    36. 36. Detectar problemas.</li></ul>Diagrama de Dependencias<br />
    37. 37. Demo – Herramientas de Modelado<br />
    38. 38. Pruebas<br />
    39. 39. Microsoft Test & Lab Manager<br />Herramienta de pruebas profesional<br />Orientada a personal de Q&A no técnico<br />Orientada a Work Items Work para gestión de casos de pruebas, planificación y gestión de estados<br />Enfocado a requisitos<br />Identificación de pruebas de alta prioridad<br />Funcionalidad de pruebas manuales extendida<br />Definición de pruebas<br />Test Runner manual amigable<br />Herramientas de captura de defectos<br />Pruebas de Interfaz automatizadas<br />Web, Windows Forms y WPF<br />
    40. 40. Microsoft Test & Lab Manager<br />
    41. 41. Colaboración Desarrollador / Tester<br />Automáticamente recoge los detalles de los defectos y su ejecución<br />Pasos para reproducirlo<br />Información del sistema<br />Capturas de pantalla<br />Video a pantalla completa indexado<br />Traza para el historical debugging<br />Entorno de pruebas<br />Elimina el efecto ping-pong o “no repro”<br />
    42. 42. Detalles de los Defectos<br />
    43. 43. Test Lab Management<br />Objetivos<br />Virtualizar los recursos de los laboratorios de test<br />Menores requisitos técnicos para la creación de entornos de prueba<br />Permite la creación de entornos para la resolución de defectos<br />Beneficios<br />Simplifica el setup de los entornos<br />Simplifica las pruebas en múltiples configuraciones<br />Permite la vuelta a las configuraciones “limpias”<br />Habilita checkpoints para ayudar en la resolución de defectos<br />Optimiza la utilización de recursos hardware<br />
    44. 44. Test Lab Management<br />
    45. 45. Y porsupuesto: TFS 2010<br />
    46. 46. Team Foundation Server 2010<br />
    47. 47. TFS 2010: Despliegue y Administración<br />
    48. 48. Despliegues Complejos<br />TFS Build Farm<br />HR Applications<br />TFS AT<br />NLB <br />Finance Applications<br />TFS AT<br />TFS Proxies<br />Company Web site<br />TFS AT<br />Test Rig<br />SharePoint Farm<br />Data<br />Warehouse<br />Project Server<br />Virtual Machine Manager<br />
    49. 49. TFS 2010: Control de Versiones<br />
    50. 50. Organizando/Coordinando proyectos<br />
    51. 51. 40<br />40<br />20<br />20<br />80<br />80<br />40<br />40<br />
    52. 52. Nuevos informes<br />
    53. 53. Nuevos Informes<br />
    54. 54. Demo – Novedades en TFS<br />
    55. 55. Más … (I)<br />
    56. 56. TFS Build<br />
    57. 57. TFS Build: Gestión<br />
    58. 58. Build Workflow: Ejemplo<br />Edit Code<br />Submit gated check-in<br />Automated Build<br />Edit Code<br />Y / N<br />Ready for Test<br />
    59. 59. Demo – Novedades en Build<br />
    60. 60. Análisis de Impacto en Tests<br />
    61. 61. Demo – More …<br />
    62. 62. Lo que no vimos…<br />
    63. 63. Novedades en VSTS 2010<br />Preguntas ¿?<br />Bruno Capuano<br />MVP Team System<br /><br />Blog:<br />Email:<br />
    64. 64. Referencias<br />My Blog: El Bruno<br />Novedades en Visual Studio Team System (V)<br /><br />Channel 9 10-4<br /><br />Visual Studio Team System 2010 Beta 1<br /><br />Visual Studio Feedback<br />