DEV302 - Visual Studio Team System Building Robust and Reliable Software Eric Lee Program Manager Microsoft Corporation.

Slides:



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

Test-Driven Development José Almeida, Microsoft
Selling Microsoft Visual Studio 2005 Ekaraj Kongswangwongsa Business Development Manager -.net platform Microsoft (Thailand) Limited.
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
Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation
Team System and Microsoft Solutions Framework Alan Cameron Wills Architect, MSF
Microsoft Australia Security Summit Team Foundation Overview David Lemphers TeamForce David Lemphers TeamForce
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
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.
Enabling Better Software through Better Testing Jason Anderson, Microsoft
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
Visual Studio 2005 Express Editions Stephen Turner Software Design Engineer Microsoft UK.
Visual Studio 2005 Team System: Mastering Software Project Management with Process Guidance and Office System 2003 Integration Beny Rubinstein Randy Miller.
The Visual Studio Vision Foster a vibrant partner ecosystem Build the right product for customers Improve software team communication Reduce development.
Visual Studio 2005 Team System: Winning The Software Configuration Management Tools Market Beny Rubinstein (BenyR) - Product Manager Doug Neumann (DougN)
ARC312 Tools For Architecture: Designing For Deployment Alex Torone Program Manager Microsoft Corporation Bill.
Visual Studio 2005 Team System: Building Robust & Reliable Software Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
Building Robust and Reliable Software Jason Anderson, Microsoft
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
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.
ARC400 Tools For Architects: Developing Service Oriented Systems Keith Short, Architect Visual Studio, Enterprise Tools Microsoft Corporation.
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.
MS Visual Studio 2005 Unit Test. Agenda Team system 概觀 Unit Test Code Coverage Web Test.
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
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Testing Azure Applications with Visual Studio 2010 Abhishek Agrawal Senior Program Manager Visual Studio 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.
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.
Step-by-Step Migration and Adoption Mark Michaelis Architect, Author, and Trainer Eric Lee Microsoft Product Manager Visual Studio 2005 Team Foundation.
DEV466 Microsoft Visual Studio 2005 Team System: Enterprise-Class Source Control Doug Neumann Program Manager Visual Studio Microsoft Corporation.
DAT 378 SQL Server 2000 Bringing The Best of Reporting Services and Analysis Services Together Sean Boon Program Manager, BI Systems
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.
WEB330 ASP.NET: Using Microsoft Visual 2005 Studio Team System to Build Enterprise Web Applications Brian Goldfarb Product Manager Web Platform and Tools.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
Advance your career with a new generation of Microsoft certifications TargetedCurrent Cost-effective Easier to Distinguish Learn more, learn better Put.
DEV260 Microsoft Visual Studio 2005 Team System: Managing the Software Lifecycle with Visual Studio 2005 Team System Bindia Hallauer Senior Product Manager.
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
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
Tech·Ed North America /17/2019 6:01 PM
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
Mark Quirk Head of Technology Developer & Platform Group
Jamie Cool Program Manager Microsoft
Presentation transcript:

DEV302 - Visual Studio Team System Building Robust and Reliable Software Eric Lee Program Manager Microsoft Corporation

Development Teams Infrastructure Architect Solution Architect Project Manager Developer Tester End User

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer Microsoft Research Internal Tools

Visual Studio Team System Change ManagementWork Item TrackingReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment Modeling Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners

Visual Studio Team System Change ManagementWork Item TrackingReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Visual Studio Industry Partners Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment Modeling Visual Studio Team Developer Visual Studio Team Test Dynamic Code AnalyzerStatic Code Analyzer Code Profiler Unit TestingCode Coverage

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

Test Driven Development Jim Newkirk

TDD Tenants Never write a single line of code unless you have a failing unit test Eliminate Duplication

Test List Task Based 4-8 hour duration minute exercise at beginning Brainstorm a list of unit tests Do not get hung up on completeness, you can always add more later Describes completion requirements

Red/Green/Refactor Write a test for new capability Start Compile Fix compile errors Run the test And see it fail Write the code Run the test And see it pass Refactor as needed

Test Driven Development (TDD)

Recap Integrate testing into the development process Testability is a primary motivation during development The Visual Studio Team System provides an ideal environment for doing Test Driven Development

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

Code Coverage How effective are my unit tests? Am I done testing? Am I executing all the relevant parts of my application?

Code Coverage void PurchaseItem(int itemID) { if (itemID == 0) { throw new Exception(); } else { ProcessOrder(itemID); } UnitTest() { PurchaseItem(1); }

{ if (itemID == 0) { throw new Exception(); } else { ProcessOrder(itemID); } Code Coverage UnitTest() { PurchaseItem(1); } void PurchaseItem(int itemID)

{ throw new Exception(); } else { ProcessOrder(itemID); } void PurchaseItem(int itemID) if (itemID == 0) Code Coverage UnitTest() { PurchaseItem(1); }

{ throw new Exception(); } { ProcessOrder(itemID); } void PurchaseItem(int itemID) if (itemID == 0) Code Coverage UnitTest() { PurchaseItem(1); } else

{ throw new Exception(); } { ProcessOrder(itemID); } void PurchaseItem(int itemID) if (itemID == 0) Code Coverage UnitTest() { PurchaseItem(1); } else ProcessOrder(itemID);

{ throw new Exception(); } { ProcessOrder(itemID); } void PurchaseItem(int itemID) if (itemID == 0) Code Coverage UnitTest() { PurchaseItem(1); } else ProcessOrder(itemID); throw new Exception();

Visual Studio Team System Code Coverage

Predictability Effective testing Drives up quality Catch ‘blind spots’ right in Visual Studio

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

Code Analysis String path = “”; for (int i = 0; i < 100; i++) { path += “Value”; } return path;.EXE Intermediate Representation

Code Analysis String path = “”; for (int i = 0; i < 100; i++) { path += “Value”; } return path;.EXE Intermediate Representation Static Code Analysis

Code Analysis String path = “”; for (int i = 0; i < 100; i++) { path += “Value”; } return path;.EXE Intermediate Representation Application Verifier/Code Profiling

Static Code Analysis Bad code is syntactically correct Different naming conventions Manual code reviews can be inconsistent

Static Code Analysis Defects Security Performance Design Policy String path = “”; for (int i = 0; i < 100; i++) { path += “Value”; } return path;

Static Code Analysis Defects Security Performance Design Policy Intermediate Representation

Static Code Analysis DefectsSecurity Performance DesignPolicy Intermediate Representation

Static Code Analysis Don’t call String.Concat inside of loops Prefer StringBuilder String path = “”; for (int i = 0; i < 100; i++) { path += “Value”; } return path; for (int i = 0; i < 100; i++) { path.Append(Value”); } return path.ToString();

Visual Studio Team System Static Code Analysis

Catch bugs at their source Capable of complex analysis Leverages lessons learned Turn habit into ‘rules’

Application Verifier ‘Works on my machine’ ‘It used to work’ Runtime issues

Application Verifier Adventure Works DefectsSecurityLogoApp Compat

Visual Studio Team System Application Verifier

Catch critical errors at runtime Handle/Heap verification issues ‘Breaks’ into Visual Studio Team System at the source of the problem

Code Profiler Constant hardware updates Poor end-user experience Low throughput of transactions

Sampling Adventure Works Login() 1 Browse()1 Login() 1 Browse()2 Login() 1 Browse()3 Login() 1 Browse()4 Login() 1 Browse()5 Login() 1 Browse()5 Details()1 Login() 1 Browse()5 Details()1 CheckOut()1 Login() 1 Browse()5 Details()1 CheckOut()1 Logout()1

Sampling Adventure Works Login() 1 Browse()5 Details()1 CheckOut()1 Logout()1 Browse()5

Instrumentation Adventure Works

Instrumentation Basic Blocks Adventure Works

Instrumentation Basic Blocks Adventure Works Timing Probes

Instrumentation Adventure Works Browse() 10 ms Init() 20 ms Browse() 10 ms Init() 20 ms String.Concat() 5060 ms Browse() 10 ms Init() 20 ms String.Concat() 5060 ms Cleanup() 5 ms

Instrumentation Adventure Works Browse() 10 ms Init() 20 ms String.Concat() 5060 ms Cleanup() 5 ms String.Concat() 5060 ms

Visual Studio Team System Code Profiler

Do more with less Great customer experience

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

A day in the life … Write Code Write Unit Tests Review Work Run Code Analysis Operations! Developer

Avicode MOM Configuration Pack Wizard

Visual Studio Team System Change ManagementWork Item TrackingReportingProject Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Visual Studio Industry Partners Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment Modeling Visual Studio Team Developer Visual Studio Team Test Dynamic Code AnalyzerStatic Code Analyzer Code Profiler Unit TestingCode Coverage

Other Sessions DayTimeSessionTopic Tuesday12:15DEVPNL2 Visual Studio Team System Partners Tuesday1:30 DEV 300 Project Management Tuesday1:30 ARC 304 Bridging the Gap Between IT and Dev Tuesday3:15 ARC 400 Developing SOAs Wednesday8:30 DEV 301 Software Testing Thursday1:30 DEV 302 Advanced Development Thursday3:15 DEV 303 Enterprise-Class Source Control Friday9:00 ARC 312 Designing for Deployment Friday12:15DEVPNL5 Implementing Software Processes

Attend a free chat or web cast List of newsgroups communities/newsgroups/en-us/default.aspx MS Community Sites Locate Local User Groups Community sites

Q1:Overall satisfaction with the session Q2:Usefulness of the information Q3:Presenter’s knowledge of the subject Q4:Presenter’s presentation skills Q5:Effectiveness of the presentation Please fill out a session evaluation on CommNet

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