Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation

Slides:



Advertisements
Similar presentations
Giada Scarafiotti Developer Tools Product Manager Microsoft Developer Tools.
Advertisements

Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Stuart White 2 Visual Studio 2005 Vision Foster a vibrant partner ecosystem Simplify creation of Connected Systems Improve.
The Microsoft Technical Roadshow 2006 Welcome and Introduction Kevin McDaniel Developer & Platform Evangelism Group Microsoft Ltd
What’s Completely New? Visual Studio Team System! Sean Puffett Developer Evangelist
Team System and Microsoft Solutions Framework Alan Cameron Wills Architect, MSF
DEV365 Visual Studio Team Edition for Software Architects: Overview Alex Torone Lead Program Manager Enterprise Tools Microsoft Corporation.
Hans Verbeeck What We’ve Heard Continued complexity of building enterprise systems Bigger, more distributed teams More challenges.
Visual Studio 2005 Team System: Software Project Management Hans Verbeeck
DEV461 Microsoft Visual Studio 2005 Team System: Advanced Project Management and Reporting Joel Semeniuk Microsoft Regional Director Microsoft MVP – Solutions.
Professional development with Visual Studio 2005 Team System Aali Alikoski Academic Developer Evangelist Microsoft Oy
Pedro Miguel Rosa Senior Software Engineer Developer Platform Group.
Kevin C. Kelly Microsoft
Team System and MSDN Subscriptions Summary Pricing, Licensing & Transition Plan Andreas Nordenadler Product Manager, Developer Tools.
Brief Purpose –Communicate the pricing & licensing model of Visual Studio 2005 and the new MSDN Subscriptions, focusing primarily on Visual Studio Team.
Enabling Better Software through Better Testing Jason Anderson, Microsoft
The Visual Studio Vision Foster a vibrant partner ecosystem Build the right product for customers Improve software team communication Reduce development.
DEV327 Visual Studio Team Foundation Server, Part 1 Brian Harry Product Unit Manager Team Foundation Server.
Visual Studio 2005 Team System: Enterprise Class Source Control & Work Item Tracking Ajay Sudan Microsoft Corporation
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
Visual Studio 2005 Express Editions Stephen Turner Software Design Engineer Microsoft UK.
DEV302 - Visual Studio Team System Building Robust and Reliable Software Eric Lee Program Manager Microsoft Corporation.
The Visual Studio Vision Foster a vibrant partner ecosystem Build the right product for customers Improve software team communication Reduce development.
ARC312 Tools For Architecture: Designing For Deployment Alex Torone Program Manager Microsoft Corporation Bill.
Tejasvi Kumar Technology Specialist – VSTS Microsoft Corporation
Building Robust and Reliable Software Jason Anderson, Microsoft
Visual Studio 2005 Team System: Enterprise Development and Test Sean Puffet Microsoft Ltd
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
Prashant Sridharan Lead Product Manager, Visual Studio Visual Studio 2005.
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
Rules to Healthier Code Presented by Adam Cogan (Chief Architect for
Sudesh Krishnamoorthy Developer Technology Specialist | Microsoft |
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
DEV 301 Visual Studio Team System Tom Arnold Program Manager Microsoft Corporation “Enabling Better Software through Better Testing”
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
The Microsoft Application Platform Silvano Coriani Developer Evangelist Microsoft Corporation Gabriele Castellani Developer Evangelist Microsoft Corporation.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
DEV364 Visual Studio Team System “Enabling Better Software Through Better Testing” Keith Brown Pluralsight LLC.
John Allwright Product Manager – Visual Studio. The Visual Studio Vision Foster a vibrant partner ecosystem Build the right product for customers Improve.
ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools.
ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft.
Behind the Scenes of Visual Studio 2005 Team Foundation Server Doug Neumann TLN301 Program Manager Microsoft Corporation.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Visual Studio 2005 Team System: Enabling Better Software Through Testing Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
DEV311 Delving into Visual Studio 2005 Team Edition for Software Testers Ed Glas Group Manager, Web and Load Testing Microsoft Corporation.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
Visual Studio 2005 C#VBC++J#WebExpress Visual Studio Standard Edition Visual Studio Professional Edition Novices Enthusiasts Students Hobbyists Part-Timers.
Visual Studio Team System Change ManagementWork Item TrackingReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management.
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Welcome Auckland Brent Colbert Director | Marketing Microsoft NZ.
Microsoft Corporation. Announcement Visual Studio® Team System 2008 Enables you to Build Quality Code Be More Productive Collaborate at the Next Level.
DEV466 Microsoft Visual Studio 2005 Team System: Enterprise-Class Source Control Doug Neumann Program Manager Visual Studio Microsoft Corporation.
Tools to support the Software Development Process Simon Davies Microsoft Ltd
Connect with life Tejasvi Kumar Developer Technology Specialist | Microsoft India
DEV300 Project Management And Visual Studio Team System Lori Lamkin Group Program Manager Visual Studio Team System.
Boris Jabes Program Manager Visual C++ Microsoft Corporation.
WEB330 ASP.NET: Using Microsoft Visual 2005 Studio Team System to Build Enterprise Web Applications Brian Goldfarb Product Manager Web Platform and Tools.
Visual Studio 2005, and.NET 2.0 Michael Juřek Microsoft Czech Republic Software Architect
Advance your career with a new generation of Microsoft certifications TargetedCurrent Cost-effective Easier to Distinguish Learn more, learn better Put.
Building Enterprise Applications Using Visual Studio®
DEV260 Microsoft Visual Studio 2005 Team System: Managing the Software Lifecycle with Visual Studio 2005 Team System Bindia Hallauer Senior Product Manager.
Visual Studio 2005 “Personalized productivity”
Tech Ed 2004 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express.
DAT381 Team Development with SQL Server 2005
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
Introduction to VSTS Database Professional
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation

Visual Studio Team System Change ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Server Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Edition Software Architects Static Code AnalyzerCode ProfilerUnit TestingCode CoverageTeam Explorer (includes Team Foundation Server CAL)Visual Studio Professional EditionLoad TestingManual TestingTest Case ManagementApplication DesignerSystem DesignerLogical Datacenter Designer Visual Studio Team Edition Software Developers Visual Studio Team Edition Software Testers Visual Studio Industry Partners Team BuildClass Designer (in Visual Studio Standard Edition and higher) Deployment DesignerVisio for Enterprise Architects (in MSDN Premium Subscription)

Problem Space … Developers VS05 Pro users VSEA 2003 users VB6 users ISVs Web developers Multiple tools require constant context switching Multiple tools require constant context switching Difficult to share knowledge Difficult to share knowledge  Best practices  Avoid common mistakes Security is a constantly evolving problem Security is a constantly evolving problem

Team Developer Edition Developers VS05 Pro users VSEA 2003 users VB6 users ISVs Web developers Integrated Code Profiler, Unit Testing and Code Coverage Integrated Code Profiler, Unit Testing and Code Coverage Process-driven Development Process-driven Development Code Analysis with each build Code Analysis with each build

Unit Testing Write tests to verify code quality Write tests to verify code quality  Managed Code  Web Services Improves the quality of code and helps to maintain quality standards Improves the quality of code and helps to maintain quality standards Rich feature set: Rich feature set:  Code Generation  Integrated Debugging  Data Driven Testing

Unit Testing Integrated Unit Testing

Code Coverage Verify the code paths touched by test cases Verify the code paths touched by test cases  Management in VSTE-SD  Part of shared team reports Measure the effectiveness of testing efforts Measure the effectiveness of testing efforts Drill-down as needed Drill-down as needed  Assemblies, Classes, Methods  Lines of code

Code Coverage

Code Analysis Evaluating code without execution Evaluating code without execution  Managed & Unmanaged Code  Integrated with VSTE-SD & on the Command Line Great way of finding bugs earlier in your development cycle Great way of finding bugs earlier in your development cycle  Costs less when you find bugs early  Code review in a box Can be used at the Team level Can be used at the Team level  Part of your Build process  Part of your check-in policy

Static Analysis Find errors in your code before you run or deploy it Find errors in your code before you run or deploy it Checks range from style to code correctness to security issues Checks range from style to code correctness to security issues Integrated into the Team System Build Environment Integrated into the Team System Build Environment

Static Analysis The dev process without Static Analysis Compile Code Binary PreprocGrammarLinkRaiseErrors

Static Analysis The dev process with Static Analysis Code Compile StaticAnalysis AnalyzeCodeCheckRulesRaiseErrors Binary

Static Analysis Managed Code Example static void Initialize(string id) { if (id == "") return; if (id == "") return; try try { Utilities.OpenUserAccount(id); Utilities.OpenUserAccount(id); } catch(Exception ex) catch(Exception ex) { // user must not exist // user must not exist Utilities.CleanAccountState(id); Utilities.CleanAccountState(id); Console.WriteLine(ex); Console.WriteLine(ex); }} Compiles Static Analysis gives warnings

Static Analysis Managed Code Example static void Initialize(string id) { if (id == "") return; if (id == "") return; try try { Utilities.OpenUserAccount(id); Utilities.OpenUserAccount(id); } catch(Exception ex) catch(Exception ex) { // user must not exist // user must not exist Utilities.CleanAccountState(id); Utilities.CleanAccountState(id); Console.WriteLine(ex); Console.WriteLine(ex); }} e:\Logger.cs(39): 'Logger.Initialize(System.String)#System.Void' Modify the following catch clauses in 'Logger.Initialize' by catching a more specific exception type or rethrowing the exception ' catch(Exception) {...}' e:\logger.cs(36): 'Logger.Initialize(System.String)#System.Void' Replace all calls to "".Equals or String.Empty.Equals in 'Logger.Initialize(System.String)' with checks for Length == 0.

Static Analysis Managed Code Example static void Initialize(string id) { if (id.Length == 0) if (id.Length == 0) { throw new ArgumentExeception(“Bad A…”); } try try { Utilities.OpenUserAccount(id); Utilities.OpenUserAccount(id); } catch(Exception ex) catch(Exception ex) { // user must not exist // user must not exist Utilities.CleanAccountState(id); Utilities.CleanAccountState(id); throw ex; throw ex; }} Improve my code

Static Code Analysis Static Code Analyzer

Profiling Evaluation code while it’s running Evaluation code while it’s running  Sampling  Instrumentation Find performance issues as you develop your code Find performance issues as you develop your code  Managed & Unmanaged  Reports view integrated with Visual Studio  Integrated with VSTE-SD and on the Command Line

Profiling Able to do both managed and unmanaged Able to do both managed and unmanaged Able to do both instrumentation and sampling Able to do both instrumentation and sampling Used by many internal teams and on customer engagements Used by many internal teams and on customer engagements

Profiling Instrumentation main AMethod BMethod main 001 AMethod0023 BMethod0098 … Adds instructions to your code to monitor Adds instructions to your code to monitor

Profiling Sampling main AMethod BMethod Analyze without changing your app Analyze without changing your app main 3 AMethod 6 BMethod 9 2

Team Developer Edition The Tools the Microsoft Uses The Tools the Microsoft Uses Features Features  Static code analysis  Support for managed and native code  PREfast used in Trustworthy Computing Code Reviews  FxCop used to develop.NET framework  Code profiling  Based on two internal profilers:  Instrumented – IceCAP, used by Windows Base and SQL Server  Sampling – LOP, used throughout MX, including Xbox  Includes ETW events  Sequence view examines running threads  GC view of object allocation and lifetime  Caller-callee, callstack, and function views  Code coverage  Basic Block Coverage  Based on the BBCover technology that Windows & Visual Studio use  Application Verifier

The Webcast Quiz! Four questions, multiple choice type Four questions, multiple choice type  More than one maybe correct Two lucky winners will win an Orchid Music Player Two lucky winners will win an Orchid Music Player If you participate in the contest and are among the 2 lucky winners, your name will be featured on If you participate in the contest and are among the 2 lucky winners, your name will be featured on

1. Visual Studio Team Edition for Software Developers offers which of the following functionalities? A) Unit Testing B) Code Analysis C) Code Profiling D) Source Code Control

2. In Test Driven Development (TDD) you would: A) Write code first & then write unit tests B) Just start coding without writing any unit tests C) Write the unit tests first & then write the code D) None of the above

3. Code Coverage: A) Ensures correctness of your code B) Debugs your code C) Verifies the code paths touched by the test cases D) Compiles your code

4. Code profiling includes which of the following techniques? A) Sampling B) Instrumentation C) Refactoring D) Shadowing

How to Participate Please send your responses to Please send your responses to  Subject = “Microsoft Webcast Contest – VSTS Webcasts – Developer”

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