beyond the ide visual studio ultimate randy pagels sr. developer technical specialist microsoft...
Post on 19-Dec-2015
224 views
TRANSCRIPT
Beyond the IDEVisual Studio Ultimate
Randy PagelsSr. Developer Technical SpecialistMicrosoft [email protected]
www.teamsystemcafe.net
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
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
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
What is IntelliTrace?
+ =
ApplicationInstrumentati
onLog File
Today
+ ==
IntelliTrace • Record• Playback• Rewind
IntelliTrace
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
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
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
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
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?
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
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?
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.