Visual Studio 2010: A Perspective - David Chappell
-
Upload
spiffy -
Category
Technology
-
view
4.428 -
download
0
description
Transcript of Visual Studio 2010: A Perspective - David Chappell
Visual Studio 2010:
A Perspective
David Chappell
Chappell & Associates
1990s-2000s
Team development
tools
1980s-1990s
Integrated development environments
(IDEs)
Version control tools
Build tools
Testing tools
Tools for Software DevelopmentAn evolution
Reporting and tracking tools
1970s-1980s
Editors
Compilers
Shared Server
Version
Control/
Build Tool
Development Tools
Design
Documents
Architecture Tools
Tools for Software DevelopmentThe real goal: Optimizing the end-to-end process
Requirements
Requirements Tools
Project
Statistics
Reporting and Tracking
Tools
Test Cases
Testing Tools
Illustrating Visual Studio 2010
Visual Studio Team Foundation
Server 2010
Visual Studio 2010 IDE
Microsoft Excel
Microsoft Project
SharePoint
Web Browser
Expression Studio
Visual Studio Team Explorer
2010
Visual Studio Team Explorer
Everywhere 2010
Eclipse IDE
Visual Studio Lab Management
2010
Microsoft Test Manager 2010
Visual Studio 2010
Other Microsoft
Other Vendors and Open Source
Illustrating TFS
Visual Studio
Team Foundation Server 2010
Work Item
Tracking
• Requirements/
User stories
• Tasks
• Test cases
• Bugs
• …
Version
Control
Build
Management
Reports and
DashboardsProcess
Templates
• MSF for Agile Software
Development
• MSF for CMMI Process
Improvement
• …
Using Visual Studio 2010
Bug
Bug
Test Case
Test Case
Test Case
Test Case
Task
Task
Task
Managing Requirements/User Stories
VS 2010 doesn’t define how requirements/user stories should be gathered
It does define how they’re managed
– Using Requirement/User Story work items
– Which can be linked to other work items
Requirement X
Bug
Bug
Requirement Y
Task
Task
Test Case
Test Case
Test Case Bug
Managing Requirements/User StoriesExample: Accessing User Story work items from Excel
Architecting the Solution
Visual Studio 2010 supports UML modeling
– With Class, Sequence, UseCase, Activity, and Component diagrams
– A UML diagram can be linked to a TFS work item
• Such as linking a UseCase diagram to a Requirement
Other design/visualization tools include:
– Layer Explorer for creating layer diagrams
– Architecture Explorer for creating dependency graphs
– More
Architecting the SolutionAn example layer diagram
Architecting the SolutionAn example dependency graph
Writing CodeToolkits and designers
VS 2010 includes toolkits for:
– SharePoint development
– Office development
– Windows Azure development
It also includes:
– The WPF and Silverlight Designer
– The Workflow Designer for creating WF workflows
– The O/R Designer for creating LINQ to SQL object model mappings
– More
Writing CodeTools for writing better code
Refactoring support
Static code analysis
– Examines code for security holes and more
Dynamic code analysis
– Performance profiling
– Code coverage, showing what’s being tested
Code metrics
– Measuring complexity and maintainability
Debugging support
– Including IntelliTrace
Testing Code
VS 2010 has lots of support for testing
– It’s important
This release introduces Microsoft Test Manager (MTM), supporting:
– Creating and managing test suites
– Running manual tests
– Running automated tests
– More
Computer
Testing CodeGathering test results
Application Under Test
R 2) Return test results
Microsoft Test Manager
Visual Studio 2010 IDE
1) Run test T
TesterDiagnostic
Data Adapters (DDAs)
Testing CodeExample DDAs
IntelliTrace: Creates a detailed trace of an application’s execution, which a developer can replay
Action Recording: allows recording and replaying a manual test
Event Log: Collects information written to event logs during the test
Video Recorder: Records the screen of the computer the tested app is running on
Test Impact: Allows test impact analysis
Testing Code Using MTM: Examining a requirement’s test cases
VM
System Center Virtual Machine Manager 2008
Microsoft Test Manager
Lab Manager
Testing Code Illustrating Lab Management
Visual Studio Lab Management 2010 allows creating and managing VMs for a test lab
– VMs can be created from predefined templates
– The Lab Management client is part of MTM
Visual Studio Lab Management
Testing CodeUsing MTM and Lab Management: Preparing to run tests
Microsoft Test Manager
2) Create test suite
Team Foundation
Server
Test Agent
Test Agent
Test Agent
1) Create test lab
VMs
VM
Test Management
3) Deploy test build
T
T
T
T
T
T
T
T
Visual Studio Lab
Management
Lab Manager
Test Agent
Test Agent
Testing CodeUsing MTM: Running tests
Microsoft Test Manager
Lab Manager
Team Foundation
Server 2) Run tests and collect test results
DDAsDDAsDDAs1) Run test cases
Test Management
4) Access test results 3) Return
test results
R
T
T
T
T
T
T
T
T
Test Agent
Test Controller
Testing CodeUsing MTM: Running a manual test
Testing CodeOptions for automated tests
Visual Studio 2010 supports several kinds of automated tests
DatabaseBusiness
Logic
User
Interface
Database
Unit Tests
T T T T T
Unit Tests
T T
T T T
T T
Web
Performance
Tests
T
T
T
T
Coded
UI
Tests
T
T
Testing CodeIllustrating load testing
Web
Performance
Tests
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
Load Test Virtual User
PackTest
Agent
Test Agent
Test Agent
Test Agent
Test Controller
Managing and Tracking the Project
VS 2010 provides:
– Reports created using Excel or SQL Server Reporting Services
– Dashboards created using SharePoint
The available reports and dashboards depend on what process template is used
– They can also be customized
Managing and Tracking the ProjectExample report: Stories Overview
Managing and Tracking the Project Example dashboard: Quality
Adopting Visual Studio 2010
How Visual Studio 2010 is PackagedMapping software to SKUs
Visual Studio Team Foundation
Server
Visual Studio Lab
Management 2010 x
*With MSDN subscription
Visual Studio
2010 Premium* x xx
Visual Studio
2010 Professional* x xx
Visual Studio
2010 Ultimate* x xx x x
xVisual Studio Team
Explorer
Everywhere 2010
Visual Studio Test
Professional 2010 * xxx
Visual Studio Team
Explorer Everywhere
Visual Studio Lab
Management
Microsoft Test
Manager
Visual Studio Team
Explorer
Visual Studio IDE
How Visual Studio 2010 is PackagedOptions for the IDE
Class Designer
Sequence Diagrams
Layer Diagrams
Dependency Graphs
UMLModeling
Fast Forward for Manual Testing
Load Testing
Microsoft Test ManagerVisual Studio
2010 Ultimate
Web Performance Testing
ManualTesting
Test Case Management
IntelliTrace
XML Schema Designer
UnitTesting
SharePoint Development
Workflow Designer
Object/Relational Designer
WPF/Silverlight Designer
Multi-Core Development
Visual Studio
2010 ProfessionalWeb
Development
Office Development
Windows Azure Development
Windows Development
C#, VB, C++, F#, JScript
Database Deployment
Code Metrics
Test Impact Analysis
Database Test Data Generators
Code Coverage
Visual Studio
2010 Premium
Database Unit Testing
Coded UI Testing
Database Change Management
Static Code Analysis
Performance Profiling
Diagnostic Data Adapters
Remote Test Execution
Conclusions
Modern software development requires a diverse set of tools
– Integrating those tools makes sense
Visual Studio 2010 provides an integrated set of diverse development tools
– For large teams, small teams, and solo developers
About the Speaker
David Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for many events and conferences on five continents, and his seminars have been attended by tens of thousands of IT decision makers, architects, and developers in more than forty countries. His books have been published in a dozen languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.
Copyright © 2010 David Chappell
Chappell & Associates
www.davidchappell.comSOAP/WS-*