visual studio 2010: a perspective - david chappell

32
Visual Studio 2010: A Perspective David Chappell Chappell & Associates

Upload: spiffy

Post on 01-Nov-2014

4.428 views

Category:

Technology


0 download

DESCRIPTION

Presentation by David Chappell at "MSDN Presents: Windows Azure Platform" Event (Apr 13, 2010) .

TRANSCRIPT

Page 1: Visual Studio 2010: A Perspective - David Chappell

Visual Studio 2010:

A Perspective

David Chappell

Chappell & Associates

Page 2: Visual Studio 2010: A Perspective - David Chappell

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

Page 3: Visual Studio 2010: A Perspective - David Chappell

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

Page 4: Visual Studio 2010: A Perspective - David Chappell

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

Page 5: Visual Studio 2010: A Perspective - David Chappell

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

• …

Page 6: Visual Studio 2010: A Perspective - David Chappell

Using Visual Studio 2010

Page 7: Visual Studio 2010: A Perspective - David Chappell

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

Page 8: Visual Studio 2010: A Perspective - David Chappell

Managing Requirements/User StoriesExample: Accessing User Story work items from Excel

Page 9: Visual Studio 2010: A Perspective - David Chappell

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

Page 10: Visual Studio 2010: A Perspective - David Chappell

Architecting the SolutionAn example layer diagram

Page 11: Visual Studio 2010: A Perspective - David Chappell

Architecting the SolutionAn example dependency graph

Page 12: Visual Studio 2010: A Perspective - David Chappell

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

Page 13: Visual Studio 2010: A Perspective - David Chappell

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

Page 14: Visual Studio 2010: A Perspective - David Chappell

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

Page 15: Visual Studio 2010: A Perspective - David Chappell

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)

Page 16: Visual Studio 2010: A Perspective - David Chappell

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

Page 17: Visual Studio 2010: A Perspective - David Chappell

Testing Code Using MTM: Examining a requirement’s test cases

Page 18: Visual Studio 2010: A Perspective - David Chappell

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

Page 19: Visual Studio 2010: A Perspective - David Chappell

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

Page 20: Visual Studio 2010: A Perspective - David Chappell

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

Page 21: Visual Studio 2010: A Perspective - David Chappell

Testing CodeUsing MTM: Running a manual test

Page 22: Visual Studio 2010: A Perspective - David Chappell

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

Page 23: Visual Studio 2010: A Perspective - David Chappell

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

Page 24: Visual Studio 2010: A Perspective - David Chappell

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

Page 25: Visual Studio 2010: A Perspective - David Chappell

Managing and Tracking the ProjectExample report: Stories Overview

Page 26: Visual Studio 2010: A Perspective - David Chappell

Managing and Tracking the Project Example dashboard: Quality

Page 27: Visual Studio 2010: A Perspective - David Chappell

Adopting Visual Studio 2010

Page 28: Visual Studio 2010: A Perspective - David Chappell

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

Page 29: Visual Studio 2010: A Perspective - David Chappell

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

Page 30: Visual Studio 2010: A Perspective - David Chappell

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

Page 31: Visual Studio 2010: A Perspective - David Chappell

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.

Page 32: Visual Studio 2010: A Perspective - David Chappell

Copyright © 2010 David Chappell

Chappell & Associates

www.davidchappell.comSOAP/WS-*