Visual Studio 2012 contains many new developer tools that enhance standard activities. This session will demonstrate features like unit testing, code reviews, and code clones. Visual Studio 2012 introduces a Metro UI, improves usability, and supports asynchronous processes. Team Explorer in Visual Studio 2012 allows improved task management, version control, and code reviews. Developers can now use local workspaces which improve the offline experience. The Test Explorer supports multiple testing frameworks and running tests on compile. Fakes provide isolation for unit tests through stubs and shims.
2. Upcoming Class – Tester Training with VS 2012
This four-day instructor-led course provides students with the
knowledge and skills to use the latest testing tools provided by Visual
Studio 2012 to support a variety of different testing needs (manual
and automated).
3. Agenda
• Visual Studio 2012 ALM
(Overview)
• Task Management Visual Studio 2012 is
rich with new tools that
enhance standard
• Visual Studio Usability developer activities. In
– Usability Changes this session we'll review
– Team Explorer and Workflow and demonstrate some
– Version Control Enhancements of these new features,
– Suspend and Resume such as Unit Testing,
Code Reviews, Code
– Code Reviews
Clones and other
developer tools.
• Unit Testing
– Unit Test Runner
– Testing Providers
– Fakes
5. Backlog Management
• Accessed from the
Team Web Access
Velocity progress
• Consolidated view of
the current backlog
of work
• Dynamically
prioritize and
schedule
• Enable Product
Owner to quickly
prioritize work and Easily drag ’n drop to
outline dependencies prioritize tasks
and relationships
• Works with „all‟
process templates
6. Sprint Planning
• Accessed from the Team
Web Access
• Streamlined access to
plan and track tasks
Burndown progress
• Supports capacity
planning for team
members
• Prepopulates required Team capacity at a glance
data
• Provides feedback to help
with work allocation and
load balancing
• Real-time feedback on
the updates to the plan
7. Task Management
• Accessed from the Team
Web Access
• Daily and on-going task
management from team
web access
• Drag-and-drop to change
states
• Easy updates for task
assignment and
remaining work
• View by requirement/PBI
or by team member
8. DEMONSTRATION
• Team Web Access
• Task Board Overview
• State Transitions
• Modifications
– Assignment
– Hours
• Alternate Views
9. Visual Studio and Usability
• Metro UI based facelift
– Themes (dark & light)
• Asynchronous / background
processes
– Reduced modal dialogs
• Project compatibility
• Quick Launch
• Tab pinning
• Preview tab
• Collapse All
• Improved Navigation and
Searching
• Graphics editor
• And more…
10. Team Explorer and Developer Workflow
• Work Item search
• Interesting developer
functionality
– Suspend / Resume
– Code Reviews
• Pages target functionality
– My Work
– Pending Changes
– Work Items
– Builds
– Reports
– Documents
– Web Access
– Settings
11. Version Control Workspaces
Server Workspaces Local Workspaces (New)
• The only type of workspace • Changes tracked locally
available in prior versions for TFS • No Read-Only files
• Changes are tracked server-side • Changes can be easily made
by TFS outside Visual Studio
• Local files are marked read-only • Great Offline Experience
until checked out
• Great Performance (especially
with very large workspaces)
12. Integrated Code Review
• Increase
communications
and quality
• Source changes
highlighted and
comments about
the changes.
• Easy workflow
for requesting
and performing
reviews
• Reviews tracked
in TFS as work
items
13. Code Clone Analysis
• Detect code blocks
with common
structure and
approach
• Search is semantic,
not just literal
• Detects „copy and
paste‟ errors
• Detects code
fragments with a
common logical
structure
• Review common code
and decide how to
proceed
14. DEMONSTRATION
• Visual Studio changes
• Team Explorer and Workflow
• Local Workspaces
• Pending Changes
• Suspend and Resume
• Code Review
• Code Clone Analysis
15. Test Explorer
• Support for multiple unit
testing frameworks
– MS Test
– xUnit
– nUnit
– And more!
• Both .NET and native C++
• Run tests on compile
– Don‟t wait for test results
• Run selected tests
– Failed tests
– Tests that haven‟t been run
– All Tests
• Easily enable code coverage
17. Testing and Isolation
• Isolation enables your unit
tests to validate targeted
units of code
• Microsoft Fakes
– Based on and replaces
Moles
– Integrated into VS 2012
– Supports detours (Shims)
– Supports Stubs
18. Fakes: Stubs and Shims
• Stubs are concrete implementations of interfaces and
abstract classes that can be passed in to your system
under test
– Developers provide implementation via delegates or lambdas
– Stubs provide simplistic, reproducible responses for you code
• Shims are run-time method interceptors (detours)
– Provide your own implementation for almost any .NET
– Target “legacy” code that was not created for unit testing
– Supports Non-virtual functions
– Isolation from static methods, .NET BCL and types
– “Shims are Evil” (Microsoft‟s Peter Provost)
19. DEMONSTRATION
• Unit Test Runner
• “Continuous testing”
• Using non-Microsoft
testing frameworks
• Isolation with Fakes
20. Summary
• Visual Studio 2012 can improve developer efficiency
– User experience enhancements
– Improved workflow
• Agile planning
• Task management
• Work management
• Local workspaces
• Interrupted workflow
– Facilitates best practices
• Code reviews
• Unit testing
– Isolation framework
23. Imaginet‟s New Visual Studio 2012 Website!
Visit Imaginet‟s new Visual Studio 2012 website, your one-stop
hub for all your Visual Studio 2012 needs!
http://visualstudio.imaginet.com
24. For attendees of today‟s session that fill out the survey
FREE Imaginet On Demand
Web Training Subscription Offer
Complete our Post-Webcast survey, and receive 1
free Imaginet On Demand web training
subscription, good for 1 person for 1 month!! The
survey will be emailed to you immediately after this
webcast is over.
What is Imaginet On Demand? Imaginet is proud to announce our newest
web-based training program called Imaginet On Demand, your source for the
best Application Lifecycle Management (ALM) training on the internet.
Imaginet On Demand is a subscription-based training program centric to the
Visual Studio ALM tools, including Visual Studio, Team Foundation Server
(TFS), Microsoft Test Manager, and Microsoft Visual Studio Lab Management.
Learn the new tools of Visual Studio at your pace, from wherever you want.
It's that simple!
25. Upcoming Class – Tester Training with VS 2012
This four-day instructor-led course provides students with the
knowledge and skills to use the latest testing tools provided by Visual
Studio 2012 to support a variety of different testing needs (manual
and automated).
26. Need Help with YOUR Application Lifecycle Management?
Imaginet’s Visual Studio 2012
TFS Adoption 10-day Quickstart
• Includes designing, installing, and configuring Team
Foundation Server (TFS) 2012 and the Visual Studio 2012
development tools.
• Learn best practices for source control, build management,
agile methodologies, and work management processes
using TFS 2012.
• Support and training for your team
• Includes a high-level ALM assessment
Interested? Just email us at info@imaginet.com.
27. Top Gun Academy Training Classes
• Other Imaginet Training Classes
– ALM
• Microsoft Visual Studio & TFS 2012 – Skills Upgrade (2 days)
• Overview Training with Microsoft Visual Studio 2012 ALM Tools (4 days)
• Overview Training with Microsoft Visual Studio 2010 ALM Tools (4 days)
• Testers Training with Microsoft Visual Studio 2012 ALM Tools (4 days)
• Testers Training with Microsoft Visual Studio 2010 ALM Tools (4 days)
• Developers Training with Microsoft Visual Studio 2012 ALM Tools (4 days)
• Developers Training with Microsoft Visual Studio 2010 ALM Tools (4 days)
• Imaginet On Demand Online Web Training
– Scrum/Kanban
• Professional Scrum Foundations (PSF) (2 days)
• Professional Scrum Master (PSM) (2 days)
• Professional Scrum Developer (PSD) (5 days)
• Professional Scrum Master (PSM) Using Microsoft ALM (3 days)
• Accredited Core Kanban Using Microsoft ALM (3 days)
To register or for more information, please visit our website here:
http://www.imaginet.com/ or contact us: info@imaginet.com
28. More Webcasts on ALM / TFS / Visual Studio 2012
Upcoming ALM Workshops & Webcasts:
• Top 10 Business Benefits of • Upgrading to TFS 2012: What You
Application Lifecycle Management Need to Know!
(ALM) • February 7 (1:00-2:30pm CT)
• January 14 (1:00-2:00pm CT) • February 21 (1:00-2:30pm CT)
• Operations Management in the • Getting Started With Coded UI
Application Lifecycle testing: Building Your First
• January 17 (1:00-2:30pm CT) Automated Test
• January 31 (1:00-2:30pm CT) • February 14 (1:00-2:30pm CT)
• February 28 (1:00-2:30pm CT)
• A Day in the Life: Developer
Enhancements with Visual Studio • Lean, Kanban, and TFS
2012 • March 7 (1:00-2:30pm CT)
• January 24 (1:00-2:30pm CT) • March 21 (1:00-2:30pm CT)
• How Microsoft's ALM Tools Can • Using Lean and Kanban to
Improve Your Bottom Line Revolutionize Your Organization
• February 4 (1:00-2:00pm CT) • March 11 (1:00-2:00pm CT)
• The newest of the new with Visual
Studio and TFS 2012
• March 14 (1:00-2:30pm CT)
• March 28 (1:00-2:30pm CT)
29. ALM Planning & Implementation Services
ALM Planning Testing
• ALM Assessment & Envisioning Workshops • Manual Testing with Test Manager Quick
(3 or 5 days) Start (5 days)
• VS & TFS Migration Planning Workshop (5 • Visual Studio Testing Tools Quick Start (10
days) days)
• TFS Deployment Planning* (5 days) • Visual Studio Automated Testing Quick Start
• Visual SourceSafe to TFS Migration (5 days)
Planning* (3 Days) • Visual Studio Load Testing Quick Start (5 or
• Visual Studio Quality Tools Deployment 10 Days)
Planning* (5 days)
Builds
Upgrade • Automated Build & Release Management
• TFS 2010 Adoption Quick Start (5 or 10 Quick Start (5 days)
days) • Automated Build Center of Excellence (CoE)
• TFS 2012 Adoption Quick Start (5 or 10
days)
Database
• TFS 2010 Upgrade Quick Start (10 days)
• Visual Studio Database Tools Quick Start
• TFS 2012 Upgrade Quick Start (10 days) (10 days)
Remote Support Integrations
• Remote Support for TFS & Visual Studio • Team Foundation Server (TFS) & Project
Server Integration Quick Start (10 days)
Lab • TFS & Quality Center Integration/Migration
• Visual Studio Lab Management Quick Start Quick Start (10 days)
(10 days) Email us at:
30. For questions or more information,
please contact us at:
info@imaginet.com or (972)607-4830
Notas do Editor
Prereqs:An active task boardOne task assigned to me that can be closedOne bug and child task in the current iteration, assigned to @MeAdjust team to include me and fix capacity as appropriate
Bring up web access – gloss through new UIGo to View BoardClose a work in progressSelf assign and activate an unassignedAdjust the work remainingShow the team members viewShow the burndown
Demo:Solution explorerSearch for “Test”Click through results (Preview tab – single click)Show tab promotion and pinningShow “Is used by” in search resultsClear resultsShow collapse allSearch on “png” and show graphics editorClear solution explorer search criteriaQuick Launch:- Search for TestTeam Explorer:Walk through tabs and navigationSearch for work item “Canadian”Open as query and edit queryGo to My WorkActivate the work item (in progress)Go to solution explorer and Get Latestadd (something???? Test project for data ???)Go to file systemAdd a file, edit a file in notepadReturn to VS and show pending changesInterrupted workflow:Returnto My WorkShow bug work itemSuspend existing workGo to code indicated by bug (TBD)Duplicate code and add “fix” (Default start time of 9am for AssignSchedule)Code Review:Ask Adam to perform a code review on the fixSwitch user to AdamRefresh Adam’s My WorkPerform the reviewPerform Code Clone Analysis(Mention Code Metrics and Static Analysis)Send responseSwitch User BackSuspend current work and exit demo
When you create a new TFS Project a Master Team is created by default. You can add any number of Teams to your project
Now that you have better choice in test frameworksPuts pressure on MS-Test to be more competitive
Microsoft’s Mocking libraryMoq, RhinoMocks, TypeMock, NmockReplaces Moles from Microsoft ResearchFakes vs Mocks No VerifyAll assertionsFakes vs Shims Way to test “untestable” code
Test Runner:Show Test Explorer windowBuild solutionRun all tests and review test runnerSet to compile on buildRebuild againxUnit and nUnit:Open External web tests and show xUnit / explain why not in runnerTools > Extensions & UpdatesSearch online for xUnitDownload / install / restartRepeat process for nUnitWait for a moment… Show failed testAdd fakes for FiberkamFibre.DAL in .TestsAdd a new test for EmployeesControllerTest