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

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

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Beyond the IDEVisual Studio Ultimate

Randy PagelsSr. Developer Technical SpecialistMicrosoft [email protected]

www.teamsystemcafe.net

Page 2: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Visual Studio 2010

Page 3: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 4: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

IDE Improvements

Page 5: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 6: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 7: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 8: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Code Visualization and Architecture

Page 9: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 10: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 11: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 12: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

“Understand The Domain”UML Activity Diagram

Page 13: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

"Understand The Code“Sequence Diagram

Page 14: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

"Understand The Code“Dependency Graph

Page 15: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 16: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Debugging Applications with IntelliTrace™

Page 17: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

What is IntelliTrace?

+ =

ApplicationInstrumentati

onLog File

Today

+ ==

IntelliTrace • Record• Playback• Rewind

IntelliTrace

Page 18: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

How IntelliTrace WorksApplication

IntelliTrace File

CollectionPlan.xml

IntelliTrace Recorder

Page 19: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 20: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

demo

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

failures

Page 21: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

− 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

Page 22: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Web Performance Testing

Page 23: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 24: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 25: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 26: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Load Testing

Page 27: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 28: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 29: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 30: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 31: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 32: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 33: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 34: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

demo

Load & Performance Testing• Web test recorder• Load testing

Page 35: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Run Performance Report

Load Test Analysis Built into Excel for run

comparison

Page 36: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 37: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Test Impact Analyst

Page 38: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Choose the right tests

Page 39: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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?

Page 40: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Manager

Page 41: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 42: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

− 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

Page 43: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Tier Interaction Profiling

Page 44: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Multi-Tier Performance Analysis

Client-side Script

Database calls

Page 45: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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?

Page 46: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

demo

Tier Interaction Profiling• Performance Analysis

Across Multiple Tiers

Page 47: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

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

Page 48: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

© 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.

Page 49: Beyond the IDE Visual Studio Ultimate Randy Pagels Sr. Developer Technical Specialist Microsoft Corporation rpagels@microsoft.com .

Appendix