james a. whittaker principal architect visual studio team test microsoft...

41
The Future of Testing James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Upload: bernadette-cross

Post on 11-Jan-2016

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

The Future of Testing

James A. WhittakerPrincipal ArchitectVisual Studio Team TestMicrosoft

blogs.msdn.com/james_whittaker

Page 2: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

toerris

HUMAN

Page 3: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

nothing

is

PERFECT

Page 4: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

WEall

make

MISTAKES

Page 5: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

ITcouldhave

happenedto

ANYONE

Page 6: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

We have many expressions to capture the fact

that humans are fallible

Page 7: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Our creations and inventions echo this unnerving tendency

Page 8: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

toFAIL

Page 9: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

if there was an Olympics for FAILURE

Page 10: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Or a World Cup for that which sucks

Page 11: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

surelySOFTWARE

wouldreign

supreme

Page 12: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker
Page 13: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

It’s enough to make one wonder …

… what we’re doing wrong

Page 14: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Software … … stocks supermarket shelves… delivers electricity and water… stores our personal information… runs nuclear power plants… controls doomsday weapons…

Page 15: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Are these failures typical?

How many of you have seen software fail?

How many users share this same experience?

Page 16: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Any reason to think things will improve?

Let’s take a look at the future and find out

Page 17: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

How will we test the applications of tomorrow?

Page 18: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 19: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 20: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

This prediction is 20 years out, but the technology to achieve it is here today

Page 21: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

• Users are effective testers• Let’s leverage their power– They have the environments we seek– They have the data we lack– They run the tests we don’t think of

• “Crowd-sourcing” is one answer I like• Virtualization is the next step

Page 22: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

• The story today:– A user (or tester) finds a bug, developer can’t repro it– A tester wants to reuse test cases, but can’t get them to run

• Virtualization solves this– User creates a VM at the point of failure

• These VMs have a market value• Developers could have access to the sum total of all the

environments in which their application can run

– A tester creates VMs for every test suite • We now have reusable, fully transferable testing assets • An automated historical record of all testing on our app

• If we can store every video in the world, why not every test case/test data/user environment?– It’s not been possible before but it is now

Page 23: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

• What does the virtualized testing world look like?– Think crowd-sourcing on steroids– Test VM’s have great value, businesses emerge owning

and managing these environments– Testers analyze an app, license the appropriate Test VM’s,

conduct the test and report results

• Companies no longer need QA departments• Why test a subset of possible usage when (in the

future) we can test them all?• Software is important, it deserves this kind of

coverage

Page 24: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 25: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 26: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

This prediction is 1-3 years out, people are working on it today

Page 27: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

Page 28: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

Information about me (Status, Health, etc.)

Quick Access to oft-used abilities.

Information about my target. Information about my

location in the world.

Page 29: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

• What is the information we need?– Architects see Visio diagrams and flow

charts– Program Managers see PowerPoint decks

and Word storyboards– Developers see Visual Studio– Testers see binaries and interfaces

• In this model, testers see only what the user sees … I object!

Page 30: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

What the user sees

What the tester sees

Page 31: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Information

• Testers need more information– The architecture, design, code … they

are all useful to testers in the right context

– I want to hover over a UI element and see code, data types, value ranges, previous bugs, test history …

– ‘Cheating’ is not wrong when you are trying to build a great product!

Page 32: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 33: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Virtualization

Information

Visualization

Page 34: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Visualization

This prediction is happening today among the best test teams, soon it will be pervasive

Page 35: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Visualization

Page 36: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

What does software look like?

Visualization

Page 37: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

• Well, there’s:– Input– Output– Data flow– Control flow– Modules– Dependencies– Environment variables– Files– Interfaces– Bugs

Visualization

Page 38: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Conclusion

• Software will continue to run our economy, our businesses and our lives

• Software will be a critical part of the solutions that will grow food, cure disease and produce sustainable energy

• Remove software from the equation and humankind’s problems get a lot harder

• It is imperative that we get software right!

Page 39: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Parting thoughts

• 20 years from now– Software testing will look fundamentally

different– The tools will be more powerful and

allow us to be more impactful– Software testers will contribute more

fundamentally to the development process

Page 40: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

Parting thoughts

• 20 years from now–Will the quality of software be taken for

granted? Will users be genuinely surprised when it fails?

–Will researchers look back in wonder that there was ever even a need for dedicated bug finders?

–What hard problems will simply cease to be hard because the software industry of this time did what needed to be done?

Page 41: James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker

James A. Whittaker, PhDBlog: blogs.msdn.com/james_whittakerEmail: [email protected]: msdn.microsoft.com/testercenter