beyond the ide visual studio ultimate randy pagels sr. developer technical specialist microsoft...

49
Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation [email protected] www.teamsystemcafe.net

Post on 19-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Beyond the IDEVisual Studio Ultimate

Randy PagelsSr. Developer Technical SpecialistMicrosoft [email protected]

www.teamsystemcafe.net

Visual Studio 2010

Visual Studio 2010 Ultimate

Visual Studio 2010Premium

Visual Studio 2010Professional

Static Code Analysis

Database Deployment

Code Metrics

Database Unit Testing Test Data Generation

Test Impact AnalysisUI Test Automation

Code Coverage

Performance Profiling

Database Change Mngmnt.

Manual Testing

Layer Diagram

UML Modeling

Load Testing Web Testing

Test Case & Lab ManagementIntelliTrace™

Architecture Explorer

Test Record & Playback

Logical Class Designer

Cloud Development

Office Development

Windows Development

New WPF Editor Customizable IDE

Multi-core Development

Silverlight Tools

Web Development

SharePoint Development

Generate from Usage

Visual Studio 2010 Feature Overview

IDE Improvements

New IDE Improvements

• Visual Studio Environment• WPF-based Editor• Better Multi-Monitor Support• Customizable XML start screen

• Navigation• Quick Search• Search-as-you-type• Highlight references

• Project System• 100% source code compatible• Multi-Targeting• Simplified one-click web

deployment

Code Focused Development

• Layers• Rich formatting of code• Overlays of contextual

information

• Consume First, Declare Later• Generate from usage

• Code insight• Live code definition lookups• View call hierarchy

Visual Studio IDE Highlights• WPF Start Page• Enhanced Docking Behavior• Zoom (Ctrl + mouse wheel)• Box Selection (Alt + select with mouse)• View Call Hierarchy (Ctrl + K, T) – design time• Navigate To – in the Edit menu or (Ctrl + Comma)

• Quick Search (Ctrl-"comma")-All Spaces treated as wildcards. Camel case.

• Highlighting References – select any symbol• Generate From Usage feature lets you use classes and

members before you define them.• IntelliSense Suggestion Mode (vs. Completion Mode,

Ctrl + Alt + Space to toggle). Use suggestion mode when classes and members are used before they are defined.

http://msdn.microsoft.com/en-us/library/dd465268.aspxWhat's New in the Visual Studio 2010 Editor

Code Visualization and Architecture

Architecture ExplorerClass Dependency Matrix

Use Case Diagram Sequence Diagram

Component Diagram

Layer Diagram Activity Diagram

Logical Class Diagram

• Architecture Explorer• Explore

existing code assets visually

• Layer Diagram• Visualize the

intended architecture

• Validate code against the diagram

• UML support• Forward &

reverse engineer code/diagram where possible.

Code Visualization and Architecture

Architectural ExplorationProduct capabilities

• “Understand The Domain”• UML 2.x Designers• Modeling Project & Explorer

• “Understand The Code”• Architecture Explorer• Sequence Diagram Generation• DGML Graphs and “Standard” Graphs

• “Maintain Control”• Layer Diagram & Custom MSBuild Tasks• Work Item Integration

• Extensibility

demoArchitecture• UML Diagrams• Layer Diagrams• Sequence Diagram • Dependency Graphs• Architecture Explorer

“Understand The Domain”UML Activity Diagram

"Understand The Code“Sequence Diagram

"Understand The Code“Dependency Graph

“Maintain Control”“Maintain Control”Layer Diagram and Architecture Validation

Debugging Applications with IntelliTrace™

What is IntelliTrace?

+ =

ApplicationInstrumentati

onLog File

Today

+ ==

IntelliTrace • Record• Playback• Rewind

IntelliTrace

How IntelliTrace WorksApplication

IntelliTrace File

CollectionPlan.xml

IntelliTrace Recorder

IntelliTrace™

• Reduces debug “cycling”• Record, Play, Rewind

• Trace enables debugging off-machine test run

• Code is instrumented dynamically• Records program execution flow

• Method Enter & Exit• Records program data

• Parameters & Return values• Low overhead for collection

• Supports Dev, Test and Staging environments

• Pay-as-you-go collection model• 1st class debugging experience in

VS

Historical Debugging

demo

• IntelliTrace™• Developer F5 debugging• Manual Test failures• Build Verification Test (BVT) test

failures

− Testing - No more “no repro”− Integrated, Extensible Diagnostics− Rich Bugs, fix first time, every time− Intellitrace

− Build Automation - BVTs− Build Verification Test (BVT) test fails− View & Debug failed test results from build

report− Intellitrace

− Developer Experience – F5− Historical Debugging from Dev machine− Play back events, forward & backward− Intellitrace

IntelliTrace™ value add experiences

Web Performance Testing

Script Development

Deep integration with Visual Studio• Leverage existing coding

skills, .NET framework, debugger, editors, etc.

Web Performance Tests• Advanced recording at multiple

levels• Rich UI in Visual Studio• Automatically handles most

dynamic parameters so record/playback “just works”

• Extensibility to avoid tight corners

“Unit” tests for load testing via an API• Any non-HTTP server can be

targeted• Test earlier in lifecycle

Script Development• Many sites “just work”• Automatically detects dependents• Automatically creates “transactions” around pages

(page + dependents)• HTTP/HTTPS• All authorization schemes• Data binding/data driven tests• Parameterize target server to repurpose scripts• Easily simulate different browsers and networks• Rich extensibility points and intuitive API• Support for coded and declarative style tests• Support for nested tests (test components)• Supports MS and non-MS web servers

Web Performance Tests

Script Development

• “Unit” tests can be run under load• Enables testing any server with a .NET API

• Web services, Active Directory, Windows Communication Foundation, SQL, etc.

• Deep integration with VS allows you to leverage developer tests for performance testing

• APIs to insert performance timing measurement blocks

• Codeplex tools for generating unit tests from SQL and WCF traces

Unit Tests

Load Testing

What is a load test?

• An automated collection of tests run in parallel to simulate multiple users or systems• Load tests run software unit tests,

database unit tests, and web performance tests

• Visual Studio captures details metrics while the load test runs

Load Testing

Flexible Load Modeling• Enables easily simulating different user groups• Goal-based, step, constant, and custom load

patterns• Model different browsers and networks

Efficient Load Generation• Minimal hardware investments• Scale-out load generation

Integrated and Extensible Data Collection• Performance Counter Sets capture key

measurements• Primary counters identified for key technologies• Thresholds bake in guidance on counters

• Test results stored in SQL for custom reporting• Data collectors allow custom log capture

Load Modeling

• “Scenarios” for modeling different user groups

• Step, goal-based, constant, and custom load patterns

• Duration-based and iteration based

• Ability to simulate different browsers and networks

Microsoft Confidential33

Integrated Diagnostics

• Out of Box integration with ASP.NET Profiler

• Integration to JAVA application diagnostics via Dynatrace

• Event log, Network Emulation and and other collectors

Defacto Load Tool in MicrosoftTeam Test Target Description

Office Server Office SharePointWindows SharePointExcel Server

Perf and stress testing of Office Server System

SQL SQL Reporting ServicesSQL BI

Perf and Stress, benchmarking, sizing

Dynamics AX Dynamics 4.0 Perf and Stress, benchmarking, sizing

MSN/Live Ad CenterHot MailVirtual EarthAutosMarch MadnessMusicMore…

High volume perf and stress testing

Groove Open Office Perf and Stress Testing

DevDiv Team Foundation Server

Perf and Stress Test Team Foundation Server

MSIT SAP Load Test SAP via Web Services

MSTV IPTV servers Huge tests to load test IPTV national rollout

MS CRM MS CRM Perf and Stress, benchmarking, sizing

Microsoft.com Microsoft.com Perf and Stress Testing

Dr Watson Log collection servers Perf and Stress Testing

Windows Update Patch download servers Perf and Stress Testing

Target ServerTarget Server

Agent Agent Agent

VS 2010 Ultimate

Test Controller

Target Server Collector Agent

Agent

Load Test Agent Architecture

Collect ASP.NET

profiler traces

Unlimited Load Test

Virtual Users

Load Analysis & Extensibility• Performance Analysis

• Correlate of server activity with performance measurements

• Drill into error logs• Performance reports integrated

in Excel• Visualize virtual user activity

• Load tests can drive any test type under load• Create custom test types• Develop recorders to generate

unit tests• Many extensibility points in Web

tests• Load test plugin allow control of

nearly all aspects of the load test• ASP.NET profiler integration • Database TIER Profiling

demo

Load & Performance Testing• Web test recorder• Load testing

Run Performance Report

Load Test Analysis Built into Excel for run

comparison

Multi-Tier Performance Analysis

Use wizard to enable T.I.P.

A

Shows number of times the page was request along with Total, Min Max, and Avg time

spent on processing the request

B

Show actual query

generated

C

Total, Min, max, and avg time spent

executing that queryD

Test Impact Analyst

Choose the right tests

What is Test Impact Analysis?

• Automatically pinpoint which tests are impacted as a result of a code change What is the impact

of this bug fix?

demoTest Impact Analysis• A One Line Bug Fix• Build Report• Manual Testing with Test

Manager

How Test Impact Analysis Works

Automated Impacted Tests

Test Impact View

TFS

Team Build

Manual Impacted Tests

Microsoft Test Manager

Team Build Report

A B

C

− Testing - No more “no repro”− Microsoft Test Manager integration− Determine which manual tests might

have to be run, based on coding changes

− Build Automation - BVTs− Build Verification Test (BVT) test failures− Debug failed test results from build report− Intellitrace automatically attached

− Developer Experience – F5− Determine which tests you should run to verify

one or more code changes− Determine which tests you would have to run if

you changed a particular method

Test Impact Analysis value add experiences

Tier Interaction Profiling

Multi-Tier Performance Analysis

Client-side Script

Database calls

Multi-Tier Performance Analysis

User: “Why is it taking so long to load the Orders

page?”

Developer: “I wonder where the

problem could be???”

Front End?

Mid Tier?

Back End?

demo

Tier Interaction Profiling• Performance Analysis

Across Multiple Tiers

Visit Team System Café for…

http://www.teamsystemcafe.net

• Freshly brewed news• Upcoming events• Download links• Practical tips to go• Download Visual Studio 2010 Trials

• http://tinyurl.com/ycfbfyo• Get Started with Lab Management

• http://tinyurl.com/394nyfe

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.

 The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the

part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Appendix