99

Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Embed Size (px)

Citation preview

Page 1: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are
Page 2: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Testing and Debugging Microsoft SharePoint Applications with Microsoft Visual Studio 2012Benjamin Day &Brian Randell

DEV-B332

Page 3: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Who are these guys?

Page 4: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Benjamin Day• Brookline, MA• Consultant, Coach, & Trainer• Microsoft MVP for Visual Studio ALM• Team Foundation Server, Software Testing,

Scrum, Software Architecture• Scrum.org Classes• Professional Scrum Developer (PSD)• Professional Scrum Foundations (PSF)

• www.benday.com, [email protected], @benday

Page 5: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Brian A. Randell• Partner with MCW Technologies• Microsoft MVP for Visual Studio ALM• Member of Pluralsight’s Technical Staff

[email protected] | @brianrandell | www.mcwtech.com/blogs/brianr

Page 6: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Here’s the mission.

Page 7: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Show you the testing & debuggingfeatures in

Visual Studio 2012.

Page 8: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Apply the Visual Studio 2012 testing features to your

SharePoint code.

Page 9: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Show you why you should care.

Page 10: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Debug stuff.

Page 11: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The testing features.• Test the ‘guts’ with

Unit Tests & the VS Fakes Framework

• Test a user interface with Coded UI Tests

• Find performance problems with Load Tests

Page 12: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Debugging features.• IntelliTrace

• IntelliTrace

• IntelliTrace

Page 13: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

What’s a unit test?

Page 14: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

It’s code-based proof that your stuff works.

Page 15: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Small chunks of code that run and validate small chunks of code in

your app.

Page 16: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Small chunk = unit test

Page 17: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Lots of small chunks = the test suite.

Page 18: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Automated.

Page 19: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Should run fast.

Page 20: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Should not get in your way.

Page 21: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

If something in your automated test suite is failing…

Page 22: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

…your app is broken.

Page 23: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Unit tests are automated debugging.

Page 24: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

“Now what does this have to do with an airplane bathroom?”

Page 25: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

How would you test this?

Page 26: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Anything that makes it hard to test causes…

Page 27: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

…testing friction.

Page 28: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The Microsoft Fakes Frameworkhelps you to minimize

testing friction.

Page 29: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The Microsoft Fakes Framework• Unit test in isolation• Use delegates & lambda expressions• Shims• (Magic)• Substitute hard-coded types with *something else* at runtime

• Stubs• Helps if you’re interface-driven• Creates default() implementations of an interface • including properties & methods

Page 30: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Fakes & Unit Tests withSharePoint

Page 31: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Sweet.

Page 32: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

“What if it doesn’t go as smoothly as

your demo?”

Page 33: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Debugging.

Page 34: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Actually, have you looked atthe debugging features lately?

Page 35: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

(Ben hadn’t.)

Page 36: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

There’s a lot more than just watch windows, breakpoints,

and F11.

Page 37: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Breakpoint labeling.

Page 38: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Import & Export Breakpoints.

Page 39: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Conditional breakpoints.

Page 40: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Breakpoint hit counts.

Page 41: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Pinnable data tips.

Page 42: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Import & export data tips.

Page 43: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

And then there’s the 800 lb. gorilla of debugging in Visual Studio

2012…

Page 44: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace

Page 45: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace®

Page 46: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

… because

Page 47: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

F11 can start to suck

Page 48: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace serves you …

Page 49: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

2ways

Page 50: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

live debugging

Page 51: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

historical debugging

Page 52: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

With SharePoint, you can do both.

Page 53: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace captures debugger state information during program execution.

Page 54: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

It’s all about eliminating the“no repro” scenario.

Page 55: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace collects:IntelliTrace Events

Method entry/exit callsBreakpoints

Page 56: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace live debugging supports two modes:Events only

Events and Methods

Page 57: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace• A feature of Visual Studio Ultimate• Visual Studio 2010 provides live debugging and historical debugging

(from test)• Visual Studio 2012 adds historical debugging (from production)

• Supports managed code only• Visual Basic and Visual C# version 2.0 and higher

• Visual Studio 2012 Update 2 provides enhanced support specific to SharePoint 2010 and 2013

Page 58: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Live Debugging withIntelliTrace

Page 59: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Awesome.

Page 60: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

So we’ve got tests for the innards.

Page 61: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

What about the user interface?

Page 62: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

“Gimme something for the tedium.”

Page 63: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Coded UI Tests.

Page 64: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Unit Tests vs. Coded UI Tests

• Tests at the API level• If it tests a UI, it’s testing an abstraction.• (not quite testing the UI)• UI testing has been hard

• Test stuff as you build it

• UI testing• Test a running application• Simulates a user’s keyboard and mouse activities• Test stuff that’s pretty much done• Integration testing

Unit Tests Coded UI Tests

Page 65: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Unit tests test your APIs.

Coded UI Tests test your running user interfaces.

Page 66: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Coded UI withSharePoint

Page 67: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Wickid.

Page 68: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

“But what if it’s slow?”

Page 69: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

“Our company is toast ifour SharePoint app is slow.”

Page 70: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Load Testing.

Page 71: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The Purpose of Load Testing

• Identify the capabilities of your application

• Possible goals• Explore• Verify • Find the limits• Crush

Page 72: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The Obligatory “Eat Your Vegetables” Slide.• Load test throughout the development cycle.

• Catch problems early• Establish performance baseline• Watch for performance trends

• Cheaper to fix early

• Plan for performance

Best Practice

Page 73: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Cheaper to Fix Early

Graph courtesy of May-Dupp Info, LLC

Early Less Early Nearly Done Production0

10

20

30

40

50

60

Time

Cost

to fi

x

Page 74: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Dose Of Reality

• You know you should work that way.• You probably don’t.

• You have problems.• How do you figure out what’s going

wrong?

Page 75: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

What is a Web Performance Test?• Test type in Visual Studio 2012 Ultimate

• Exist in a Web Performance and Load Test project

• Collection of HTTP requests

• Simulates a user using an ASP.NET (or other web) application

• Building block of Load Tests

Page 76: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Load Tests• Made up of…• ...Web Performance Tests• …Unit Tests

• Simulates lots of users hitting your app

Page 77: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Two ways to run load tests.

• Generate load from Visual Studio 2012• Load from a single machine

• Generate load from a Test Rig• Load from many machines• Far better test• Simulate lots more users

Page 78: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Load Test Rig & The Application

• Controller• Orchestrates• Licensing• PerfMon Counters

• Agent (1..n)• Simulates users

Controller

Agent 1

SharePoint

Database

Agent 2

Agent n

Coordinates & Gathers Information

Generates Load

Application Under Test

Page 79: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Load Testing aSharePoint app

Page 80: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Nice

Page 81: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

We’re almost done.

Page 82: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Remember earlier, we showed you IntelliTrace?

Page 83: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Wouldn’t it be cool if you could use that with your production sites?

Page 84: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

You can.

Page 85: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace in Production• Free to collect• Download “xcopyable” package• Activate via command-line, PowerShell, whatever• Run app• Collect logs

• Analyze with Visual Studio 2012 Ultimate• Visual Studio 2012 Update 2 provides

enhanced support specific to SharePoint 2010 and 2013

Page 86: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

historical debugging withIntelliTrace

Page 87: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

In summary.

Page 88: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Unit testing.

Page 89: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

The Fakes Framework.

Page 90: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

IntelliTrace.

Page 91: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Coded UI Tests.

Page 92: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Load Testing.

Page 93: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Thank you.

www.mcwtech.com www.benday.com

Page 94: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Related contentBreakout Sessions (session codes and titles)

Hands-on Labs (session codes and titles)

Product Demo Stations (demo station title and location)Related Certification Exam

Find Me Later At...

Required Slide*delete this box when your slide is finalized

Speakers, please list the Breakout Sessions, Labs, Demo Stations and Certification Exams that relate to your session. Also indicate when they can find you staffing in the TLC.

Page 95: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Track resourcesResource 1

Resource 2

Resource 3

Resource 4

Required Slide*delete this box when your slide is finalized

Track PMs will supply the content for this slide, which will be inserted during the final scrub.

Page 96: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

msdn

Resources for Developers

http://microsoft.com/msdn

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Resources for IT Professionals

http://microsoft.com/technet

Page 97: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

Complete an evaluation on CommNet and enter to win!

Page 98: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

MS tag

Scan the Tagto evaluate this session now on myTechEd Mobile

Page 99: Upload your final deck on the speaker portal on or before May 28, 2013 at 5:00 pm PT. PowerPoint presentations undergo a brief scrub process and are

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows 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.