(almost) everything i know about testing i learned playing poker - matt eakin

42
NOTICE: Proprietary and Confidential This material is proprietary to Centric Consulting, LLC. It contains trade secrets and information which is solely the property of Centric Consulting, LLC. This material is solely for the Client’s internal use. This material shall not be used, reproduced, copied, disclosed, transmitted, in whole or in part, without the express consent of Centric Consulting, LLC. © 2013 Centric Consulting, LLC. All rights reserved (Almost) Everything I know about testing I learned playing poker Matthew Eakin, National Automation Architect [email protected] @MatthewEakin MatthewEakin At Centric, we deliver unmatched client experiences that center on collaboration. Working together, we implement lasting solutions that work. Solutions that matter.

Upload: qaoth

Post on 15-Apr-2017

547 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: (Almost) everything i know about testing i learned playing poker - Matt Eakin

NOTICE: Proprietary and ConfidentialThis material is proprietary to Centric Consulting, LLC. It contains trade secrets and information which is solely the property of Centric Consulting, LLC. This material is solely for the Client’s internal use. This material shall not be used, reproduced, copied, disclosed, transmitted, in whole or in part, without the express consent of Centric Consulting, LLC. © 2013 Centric Consulting, LLC. All rights reserved

(Almost) Everything I know about testing I learned playing poker

Matthew Eakin, National Automation [email protected]@MatthewEakinMatthewEakin

At Centric, we deliver unmatched client experiences that center on collaboration. Working together, we implement lasting solutions that work. Solutions that matter.

Page 2: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Does anyone want to play some poker?

Need 6 “volunteers”To play Texas Hold ‘Em

.

Page 3: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Texas Hold ‘Em & Software Testing

Some testing concepts we are going to see in action:

1.Knowledge of the domain

2.Risk Analysis

3.Planning vs. Writing a Test Plan

4.Adjusting your efforts as you go

5.Knowledge gathering

6.Estimation

7.Resource allocation

Page 4: (Almost) everything i know about testing i learned playing poker - Matt Eakin

What we are going to do…

At least 2 hands of Texas Hold ‘Em

Hand 1: “Agile”•Constant evaluation of risk•Constant knowledge gathering•Constant planning and adjusting

Hand 2: “Waterfall”•Risk evaluation conducted up-front (even though our knowledge is limited)•Knowledge is gathered up-front (even though our knowledge is limited)•Planning conducted up-front (even though our knowledge is limited)•Adjusting is discouraged. You MUST follow the Plan!!

Hand 3 and beyond: You choose the approach…

Page 5: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Hand 1:Agile

Page 6: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Knowing your Table/Team

What is their Knowledge of the Domain?

Page 7: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relationship to testing

What is your testing teams knowledge of each domain?•Knowledge of Testing

•Knowledge/experience with the process (agile or waterfall)

•Technical Knowledge

•Knowledge of the Application

Page 8: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Assessing Risk

Risk Assessment: Key concept to both Poker & Software Testing•In Poker: assess your probability of winning the hand with your cards

•Probability of your cards•Probability of opponents cards (what you think they have)•Probability with chip stacks

•Conduct risk analysis on every card drop

•Conduct risk analysis on every bet

•Conduct risk analysis on every player action

Page 9: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Rules of Texas Hold ‘Em (in a nutshell)

•All players are dealt 2 cards face down. You can look at them, but don’t show anyone.

•A round of betting will follow

•5 additional cards will be dealt into the “Community” face up.•3 cards will be dealt first followed by a round of betting•1 card will be dealt followed by a round of betting•1 card will be dealt followed by a final round of betting

•Make the best 5 card hand

•Hand order:•Royal flush – 10-A all same suit•4 of a kind – 4 cards match, i.e. 9-9-9-9-3•Full House – 3 of one card, 2 of another, i.e. K-K-K-5-5•Flush – all cards same suit, i.e. 2-3-6-8-Q all clubs•Straight – all cards in a row, i.e. 4-5-6-7-8•3 of a kind – 3 cards match, i.e. K-K-K-5-7, 2-2-2-7-9•2 pair – i.e. K-K & 6-6 in your hand•Pair – 2 cards match, i.e. K-K, 6-6•High card in hand

Page 10: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Deal

•Everyone is dealt 2 cards

•At this point you know very little about the deck of cards or what cards other players could potentially have.

10

Page 11: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Assessing Risk

Risk Assessment: Key concept to both Poker & Software Testing•In Poker: assess your probability of winning the hand with your cards

•Probability of your cards•Probability of opponents cards (what you think they have)•Probability with chip stacks

•Conduct risk analysis on every card drop

•Conduct risk analysis on every bet

•Conduct risk analysis on every player action

Page 12: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relation to testing

Testing is Risk Minimization•In Testing: use risk analysis to determine what to build/test first

•Conduct risk analysis on product backlog

•Conduct risk analysis on sprint backlog

•Conduct risk analysis on every User Story

•Conduct daily risk analysis on work in progress

Page 13: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Betting

•As each player bets you begin to know more about:

• Their skill level• Their aversion to risk• What they have in their hand

•Hint: players won’t bet unless they think they can win the hand, right? WRONG!!!

• Beware the bluff

13

• Everyone bets

Page 14: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relation to Testing

14

Resource Allocation• As a project progresses you learn more about:

• the risks associated with these changes of the application, • your testing team• the entire project team

• You might want to allocate more/less resources to one area of the app

• You might want to focus more on automation

Bluffing• With every code drop you learn more about the code

base/application • Is the project really 80% done?• Are the developers bluffing?

• Does this change the risk? Change resource allocation?

Page 15: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Flop

•The flop•3 cards are dealt face-up. All players can use these cards to create the best 5 card hand possible.

•You now know a little more about the deck of cards.

•You conduct another risk assessment of your now 5 cards and determine if you should bet or fold.

15

Page 16: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relation to Testing

16

Planning“Planning is everything. Plans are nothing.”–Field Marshal Helmuth Graf von Moltke

• Plan for (almost) every possible outcome. When it happens you are ready for it

• Do you have the tools/equipment/skills to handle each outcome?

• What will you do when only 50% of your scripts pass? What if 100% on first pass?

• What if development delivers code late? What if scope changes? What if your test environment isn’t available on day 1 of testing?

• Many “risks” are identified in a test plan. But what are you going to do if they actually happen?

• Can you plan out the rest of the hand?

Page 17: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Flop - betting

17

• Everyone bets– As each player bets continue to conduct

risk assessments on them. Does their betting indicate they have a good hand? A bad hand?

Page 18: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Turn & the Turn Bet

•The Turn•1 card is dealt face-up (4 total in the community cards).

18

• Everyone bets– Can you figure out what hand everyone has yet?

– Can you predict your final hand?

Page 19: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relation to Testing

19

Estimating & Predicting• As a project progresses can you predict how/when it will end?

• Can you predict your final hand?• Can you predict opponents final hand?• Can you estimate, based on your predictions, how many

chips you will end up with?

• Tools• Burn-up/Burn-down charts• %pass or # of defects with every code drop

• Very important for testers to be able to predict the future & estimate

• Discuss bad news early• Critical team discussions

Page 20: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The River & the Final Bet

•The river•The final card is dealt face-up into the community cards (there are now 5).

20

• Final bets– Your last chance to get everyone's $$$

Page 21: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Show

•Before we show our hands…•Can you guess each players hand?•Who do you think won the hand?

•The show•Everyone shows their cards.•Best hand takes the pot.

21

Page 22: (Almost) everything i know about testing i learned playing poker - Matt Eakin

What we learned…

Understand your teams knowledge of the domain

Constant risk analysis

Adjust resources as needed

Planning is critical

Can you predict the outcome of a project accurately?

22

Page 23: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Hand 2:Waterfall

Page 24: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The 2nd Hand – the “Waterfall Hand”

We are going to play this hand as if we were testing in a waterfall project.

All planning will be done up-front rather than as we go.

All risk analysis will be conducted up-front rather than as we go.

Resources will be allocated up-front rather than as we go.

Your knowledge of the requirement is assumed to be 100%.

24

Page 25: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Test Plan

Each player is given a Test Plan which they must follow EXACTLY for the entire round.

Plan will include:•What every other players cards will be•Cards in the Board will be revealed.•Did you win?

25

Page 26: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Sample Test Plan

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 9, 4Player 3 will be dealt 3, 9 Player 4 will be dealt 6, 7Player 5 will be dealt 8, 10Player 6 (you) will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Straight A, K, Q, J, 10You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9

Page 27: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Relation to Testing

27

Estimating & Predicting in Waterfall• Every Test Manager has had to provide a resource estimate for

a project they know almost nothing about. • Have your estimates every been accurate? +_ 50%?• Estimates are very difficult when there is so much unknown

• Based on past experiences you can start getting closer on you estimates

• Tools can help

Page 28: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Betting

•As each player bets you begin to know more about:

• Their skill level• Their aversion to risk• What they have in their hand

•Hint: players won’t bet unless they think they can win the hand, right? WRONG!!!

• Beware the bluff

28

• Everyone bets for all rounds

Page 29: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Deal

•Everyone is dealt 2 cards•Players must stick to their Test Plan.

29

• Are there any problems with the Test Plan?– Too bad, you must stick to the Test Plan!!!

• Did anything happen that was not covered in the Test Plan?– How did you react?

Page 30: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Flop

•3 cards are dealt to the Board•Players must stick to their Test Plan.

30

• Are there any problems with the Test Plan?– Too bad, you must stick to the Test Plan!!!

Page 31: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Change Requests

31

A change request has been introduced.

Since the code delivered was not as expected, numerous questions were asked of the business/BA.

Some requirements have been changed and new ones have been introduced.

Result:

• Each player can now change their Test Plan– Conduct a new Risk Assessment on each Player.

– Evaluate your own stack and create a new betting plan for the Turn and River.

Page 32: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Turn & the Turn Bet

•The Turn•1 card is dealt face-up (4 total in the community cards).

32

• Everyone bets– Can you figure out what hand everyone has yet?

– Can you predict your final hand?

Page 33: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The River & the Final Bet

•The river•The final card is dealt face-up into the community cards (there are now 5).

33

• Final bets– Your last chance to get everyone's $$$

Page 34: (Almost) everything i know about testing i learned playing poker - Matt Eakin

The Show

•Before we show our hands…•Can you guess each players hand?•Who do you think won the hand?

•The show•Everyone shows their cards.•Best hand takes the pot.

34

Page 35: (Almost) everything i know about testing i learned playing poker - Matt Eakin

What we learned…

Writing out a Test Plan based on critical assumptions we have very little information about is dangerous.

A Test Plan does not fit every situation.

Following a Test Plan, even though it doesn’t match reality, will result in disaster for the tester.

35

Page 36: (Almost) everything i know about testing i learned playing poker - Matt Eakin

NOTICE: Proprietary and ConfidentialThis material is proprietary to Centric Consulting, LLC. It contains trade secrets and information which is solely the property of Centric Consulting, LLC. This material is solely for the Client’s internal use. This material shall not be used, reproduced, copied, disclosed, transmitted, in whole or in part, without the express consent of Centric Consulting, LLC. © 2013 Centric Consulting, LLC. All rights reserved

Thank you

Page 37: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 1

Deal: Player 1 will be dealt K, 10Player 2 will be dealt 9, 4Player 3 will be dealt 3, 9 Player 4 will be dealt 6, 7Player 5 will be dealt 8, 10Player 6 will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Straight K, Q, J, 10, 9You will lose to Player 4 who has a Straight Flush 5, 6, 7, 8, 9

Page 38: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 2

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 6, 7Player 3 will be dealt 3, 9 Player 4 will be dealt 9, 4Player 5 will be dealt 8, 10Player 6 will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Straight Flush 5 , 6, 7, 8, 9You WIN!!!!!

Page 39: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 3

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 9, 4Player 3 will be dealt 3, 9 Player 4 will be dealt 6, 7Player 5 will be dealt 8, 10Player 6 will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Pair 9, 9, Q, J, 8You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9

Page 40: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 4

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 9, 4Player 3 will be dealt 3, 9 Player 4 will be dealt 6, 7Player 5 will be dealt 8, 10Player 6 will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Straight Flush 5 , 6, 7, 8, 9You WIN!!!!!

Page 41: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 5

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 9, 4Player 3 will be dealt 8, 10Player 4 will be dealt 6, 7Player 5 will be dealt 3, 9 Player 6 will be dealt A, K

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Pair 9, 9, Q, J, 8You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9

Page 42: (Almost) everything i know about testing i learned playing poker - Matt Eakin

Test Plan Player 6

Deal: Player 1 will be dealt Q, 10Player 2 will be dealt 9, 4Player 3 will be dealt 3, 9 Player 4 will be dealt A, KPlayer 5 will be dealt 8, 10Player 6 will be dealt 6, 7

Flop: Cards will be 5, 8, 9

Turn: Card will be Q

River: Card will be J

You will end up with a Straight Flush 5 , 6, 7, 8, 9You WIN!!!!!