25
Real World Developer Testing with Visual Studio 2012 David Starr Chief Software Craftsman Scrum.org Peter Provost Program Manager Lead Microsoft AAP401

Real World Developer Testing with Visual Studio 2012 David Starr Chief Software Craftsman Scrum.org Peter Provost Program Manager Lead Microsoft AAP401

Embed Size (px)

Citation preview

Real World Developer Testing with Visual Studio 2012David StarrChief Software CraftsmanScrum.org

Peter ProvostProgram Manager LeadMicrosoft

AAP401

About Us

David Starr

Chief Software Craftsman, Scrum.orgVisual Studio ALM MVPElegantCode.com founder

[email protected]@elegantcoder

Peter Provost

The guy who makes cool Agiley stuff in Visual Studio

[email protected] peterprovost.org@pprovost

Today’s Discussion

Doubling DownTesting the TopPackagingInverting YourselfParallel and Threads

Developer Testing Haiku

Real world is messy

Response is to isolate

We drive us crazy

Photo by Caitlin Regan

Doubling Down

That’s not what I expected him to do.

Double the Alternatives

DummiesFakesStubsMocksSpies, etc.

Framework Emulation

It’s like using a test-specific table when creating and testing the

balls.

Testing the Top

Only by testing the UI do I know that everything under it works.

- Scott Schimanski, Test Manager

A Test

Things found on top

XAMLJavaScript

We combat this withMVC MVC MVVM

Here

Packaging PatternsRelationships between projects affect test execution times

Test execution times affect how often developers run tests

Things that grow

Teams

The thing we’re making

Test suites

Integration effort

Build times

The Player

Exe or Site

Assembly A

Assembly C

Assembly B

TestProject

Snake Eyes

Exe or SiteUnit Test Project 1Integration Test

Project 1

Assembly AUnit Test Proj 2Integration Test

Project 2

Assembly BUnit Test Proj 3Integration Test

Project 3

Assembly CUnit Test Project 4Integration Test

Project 4

Performance Test Project 2

Security Test Project 3

Functional Test Project 1Monogamy

Exe or Site

Assembly A

Assembly C

Assembly B

Test Project 1

Test Project 2

Test Project 4

Test Project 3

Code Specialists

Quality Specialists

Inverting YourselfInversion of Control

A. A lifestyle choice

B. What happens when parents age

C. A sweet trick

D. A tool for decoupling code which occasionally causes developers to curse after finding the config issue in the test project. Again.

The Dependency Addict

Primitive Obsession

Parallel and Threads

Many patterns exist for multi-threading

Task Parallel Library enables feats of strength

Async and Await bring juice, too

Thank you!David Starr

[email protected]: elegantcode.com@elegantcoder

Peter Provost

[email protected] Blog: peterprovost.org@pprovost

Related Content

Breakout SessionsDEV214 Introducing the New Visual Studio 11 Unit Testing ExperienceDEV411 Testing Un-testable Code with Fakes in Visual Studio 2012AAP311 Compile & Execute Requirements in .NETHands on LabsDEV17-HOL Explore the New Unit Testing and Code Clone Capabilities of

Visual Studio 2012Product Demo Stations

DEV01-TLC Application Lifecycle Management (ALM)

Resources

Connect. Share. Discuss.

http://northamerica.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Complete an evaluation on CommNet and enter to win!

MS Tag

Scan the Tagto evaluate thissession now onmyTechEd Mobile

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.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.