The document describes a presentation given by Matthew Eakin of Centric Consulting on how concepts from playing poker relate to software testing. Some key points discussed include:
- Conducting risk analysis and adjusting plans and resource allocation based on new information gained, similar to reevaluating hands in poker as new cards are revealed.
- The difficulty of planning and estimating accurately when knowledge is limited, as in initial poker betting or developing test plans before understanding requirements.
- The importance of gathering knowledge throughout the process to improve plans and predictions, rather than relying only on up-front information like in a strict "waterfall" poker hand.
'Playing Around With Risks' by Jurgen CleurenTEST Huddle
I looked at my cards. 2 Aces. The best hand possible to have in poker on an empty board. At this point there is no risk that I can be beaten. I decide to exploit the situation. Get as much value as possible, but not letting my opponents know I have such a good hand. I don’t raise. 3 cards come on the board. I wait. The 4th card comes. I still wait. The fifth and last card comes and I make my move. I put all my money on the line and as it turns out, I got beaten by someone who has made a straight. How is this possible? I had the best hand, I evaluated the risk and still lost. The reason is obvious, the board changed 3 times, and with each extra card, my risk of losing also changed. And I did not adapt. I didn’t re-evaluate my risks and acted accordingly.
There are quite a few games that deal with risks and risk responses. Poker and Monopoly are a few examples. There are world championships held in these games and there is general consensus who are the best players in the world. Those players have game tactics. What if we can map those tactics to Risk Based Testing? Can we improve our process based on those successful game tactics? In this presentation, I will elaborate on a few game tactics and map them on the Risk Based Testing process. I will give concrete examples of similarities between them and demonstrate that they can be adapted to improve our test process.
At some point, some people decided to give “error”, “defect” and “bug” slightly different meanings for a slightly more detailed context. For some time now, some folks have been trying to do the same with “testing” and “checking”. Let me attempt to share that point of view and together, let’s see if our perspective changes...
Create testing commandos for creative problem solving!!! by Pradeepa Narayana...QA or the Highway
As testers, you are truly playing a role of creative problem solver in your teams. How often are you able to turn on your creative brains easily? It’s Not easy! Although there are techniques you can use to to get there.
In this highly practical and fun workshop, Pradeepa Narayanaswamy will introduce the attendees to a variety of simple games and techniques. Attendees will practice and take back variety of ideas and concepts to creatively solve your testing problems. You can also use these techniques as a way to creatively collaborate with other testers and team members to create rich ideas.Learning Outcomes:
Audience will:
Understand the usage of games being a vehicle for engaging teams towards creative problem solving
Practice these games within the session as a medium to improve collaboration and create richer ideas with their real life teams
Immediately apply these games at work to uplift their team’s capability to solve problems in a creative manner
'Playing Around With Risks' by Jurgen CleurenTEST Huddle
I looked at my cards. 2 Aces. The best hand possible to have in poker on an empty board. At this point there is no risk that I can be beaten. I decide to exploit the situation. Get as much value as possible, but not letting my opponents know I have such a good hand. I don’t raise. 3 cards come on the board. I wait. The 4th card comes. I still wait. The fifth and last card comes and I make my move. I put all my money on the line and as it turns out, I got beaten by someone who has made a straight. How is this possible? I had the best hand, I evaluated the risk and still lost. The reason is obvious, the board changed 3 times, and with each extra card, my risk of losing also changed. And I did not adapt. I didn’t re-evaluate my risks and acted accordingly.
There are quite a few games that deal with risks and risk responses. Poker and Monopoly are a few examples. There are world championships held in these games and there is general consensus who are the best players in the world. Those players have game tactics. What if we can map those tactics to Risk Based Testing? Can we improve our process based on those successful game tactics? In this presentation, I will elaborate on a few game tactics and map them on the Risk Based Testing process. I will give concrete examples of similarities between them and demonstrate that they can be adapted to improve our test process.
At some point, some people decided to give “error”, “defect” and “bug” slightly different meanings for a slightly more detailed context. For some time now, some folks have been trying to do the same with “testing” and “checking”. Let me attempt to share that point of view and together, let’s see if our perspective changes...
Create testing commandos for creative problem solving!!! by Pradeepa Narayana...QA or the Highway
As testers, you are truly playing a role of creative problem solver in your teams. How often are you able to turn on your creative brains easily? It’s Not easy! Although there are techniques you can use to to get there.
In this highly practical and fun workshop, Pradeepa Narayanaswamy will introduce the attendees to a variety of simple games and techniques. Attendees will practice and take back variety of ideas and concepts to creatively solve your testing problems. You can also use these techniques as a way to creatively collaborate with other testers and team members to create rich ideas.Learning Outcomes:
Audience will:
Understand the usage of games being a vehicle for engaging teams towards creative problem solving
Practice these games within the session as a medium to improve collaboration and create richer ideas with their real life teams
Immediately apply these games at work to uplift their team’s capability to solve problems in a creative manner
Improving Test Team Throughput via Architecture by Dustin WilliamsQA or the Highway
A lot of modern testing teams are built from people with some automation experience, developers, and people who think code is something used to open a safe. These diverse backgrounds bring a diverse set of ideas, but don’t always find optimal division of work. With some fairly small changes in automated test design, we can leverage the best skills of all team members to not only improve throughput, but to end up with a better overall product. These design principles help isolate truly challenging code problems and help separate the concerns of test structure and test execution. If your team has ever said (with sad faces) “We’re still automating that”, then come discover how tomorrow you can exclaim “That’s Done!”
Test automation has become a critical part of most testing efforts. When a highly trained team is creating and maintaining a powerful test automation framework, and Quality is a team practice, and infrastructure teams help create a solid test environment, and database teams help build a production-like test database, each run is clean with few defects found. Unfortunately, test automation runs are almost never clean. Figuring out what went wrong can be time consuming and tedious. Did 1/2 of your tests fail because the environment is just flaky? Or are there real performance or connectivity issues which need to be addressed? The defect might be a ghost hunt as the problem might have been caused by something that will never happen again. In this presentation, Mr. Eakin will discuss how a well thought out defect triage methodology can significantly help any team member triage failed tests. A customized reporting system can also help.
If you work in the field of testing/QA then it is likely that you have encountered test automation in one form or another. Maybe you have embraced it and have gained expertise. Or maybe you’ve avoided it because you’re hoping it’s a fad that will fade away. I’m guessing most of you would like to learn it but don’t know where to start.
My goal is simple: to demystify the subject by taking a novice tester with no coding experience through the process of writing a simple automated test using the Page Object framework in Ruby/Cucumber. I will take a volunteer from the audience and transform that person from an ordinary QA professional (or whatever their occupation) into an automation engineer in one short hour.
Don’t be afraid; the code will not bite. Much.
It’s easy to get focused on your test cases, automation suite, gherkin, cucumber, acceptance criteria etc. and miss the big picture. This talk will focus on the importance of QA being involved in ALL aspects of the Software Development Lifecycle (SDLC) from inception to support. As product owner, I advocate for EVERYONE on the team to own the product. This approach results in higher quality, higher customer satisfaction, and higher team morale. In this talk I will address:
How QA can get more involved throughout the whole SDLC
How managers can encourage QA to be more involved throughout the whole SDLC
How agile can help QA be more holistic
Tools and techniques that have facilitated a more holistic approach
What it really looks like for QA to own the product
Attendees will come away with a new outlook on the QA role and ideas on how to implement positive change in their organization, whether they are QA or a leader of QA.
“Automate everything you can.” This DevOps principle propels automated testing into a primary enabling position for any organization that embarks on a DevOps journey. No longer an option. No longer something we *should* do. Either we automate testing or the bright promise of DevOps will remain out of reach.
In this session, we will examine the multiple ways that automated testing is the lynchpin that enables the flow of software through the DevOps pipeline. And we will see how it changes – but does not eliminate – manual testing. (After all, “everything you can” is not everything.)
CoverMyQuality: Implementing a Quality Program by Rick Neighbarger and Susan ...QA or the Highway
Follow the Quality Assurance journey taken by CoverMyMeds as it transitioned from a start-up to a growth company. Founded in 2008 with a mission to help patients get the medication they need to be healthy, CoverMyMeds has doubled its staff and revenue every year since inception. As the company expands, quality processes have become paramount in protecting Patient Health Information (PHI) and mitigating risk. Implementing Juran’s concept of Big Q, CoverMyMeds has begun its journey in creating its own quality center of excellence.
Most testers are quite familiar with standard test metrics: defect counts, test pass rates, defect removal efficiency, etc… In fact, most status reports are replete with metrics and graphs galore. But do metrics really help you manage your testing effort and are they really the best means to communicate with executives. Come learn about how I manage testing efforts without leaning on metrics as a crutch or a shield.
Quality Assurance & User Experience: Friends or Foes? by Richard DouglassQA or the Highway
Is it possible for User Experience (UX) and Quality Assurance (QA) professionals to work well together? At times, both can struggle to effectively communicate what they need in order to do their jobs well. However, opportunities exist for the two to work well together. For example, QA professionals often struggle to obtain quality requirements in order to write effective test cases. Whereas, UX professionals typically struggle when after they do their work early in the project they often hand off their work only to find it mangled in the final stages of the project when they are no longer involved.Yet, great things are possible when UX and QA teams work together. The UX professionals can ensure that requirements are well written early in the project when they are heavily involved in the project. In addition, QA professionals can be very helpful by making sure UX team members are invited to review the final product before it goes live and are part of the final reviews.
Testing within a closed system is easy. Everything is generally accessible and can be interacted with freely. But what happens when the application requires integration with one or more third parties in order to function? In unit tests, we can use mocks and there are many Ruby libraries to make that happen. However, this doesn’t help us much when we’re testing deployed code in end-to-end scenarios or exploratory tests. The solution I found was to build a mock application to mimic the third party. This talk will cover the process and tools used to build the application, the advantages/disadvantages it provides, and explain how this mock is utilized in real-world situations.
Applied Data Science for monetization: pitfalls, common misconceptions, and n...DevGAMM Conference
This talk guides us through modern twists on classic user-oriented data science tasks, such as churn prediction, clusterization, calculating user metrics, and others. We will discuss unusual angles for solving these tasks; how and why they can be used to improve player experience and monetization; the intuition behind these methods, and insights into inner machinery; and why conventional methods work poorly. Finally, I'll show you how you can apply this knowledge to improve your users' playing experience, and streamline analytics; and we'll talk general situation of applied data science and analytics in the industry.
The Effects of Work Habits Around Agility Through SimulationsPaul Boos
This is an experiential workshop to help managers understand how the work habits they choose or reinforce help or hinder the Agility of an organization.
Improving Test Team Throughput via Architecture by Dustin WilliamsQA or the Highway
A lot of modern testing teams are built from people with some automation experience, developers, and people who think code is something used to open a safe. These diverse backgrounds bring a diverse set of ideas, but don’t always find optimal division of work. With some fairly small changes in automated test design, we can leverage the best skills of all team members to not only improve throughput, but to end up with a better overall product. These design principles help isolate truly challenging code problems and help separate the concerns of test structure and test execution. If your team has ever said (with sad faces) “We’re still automating that”, then come discover how tomorrow you can exclaim “That’s Done!”
Test automation has become a critical part of most testing efforts. When a highly trained team is creating and maintaining a powerful test automation framework, and Quality is a team practice, and infrastructure teams help create a solid test environment, and database teams help build a production-like test database, each run is clean with few defects found. Unfortunately, test automation runs are almost never clean. Figuring out what went wrong can be time consuming and tedious. Did 1/2 of your tests fail because the environment is just flaky? Or are there real performance or connectivity issues which need to be addressed? The defect might be a ghost hunt as the problem might have been caused by something that will never happen again. In this presentation, Mr. Eakin will discuss how a well thought out defect triage methodology can significantly help any team member triage failed tests. A customized reporting system can also help.
If you work in the field of testing/QA then it is likely that you have encountered test automation in one form or another. Maybe you have embraced it and have gained expertise. Or maybe you’ve avoided it because you’re hoping it’s a fad that will fade away. I’m guessing most of you would like to learn it but don’t know where to start.
My goal is simple: to demystify the subject by taking a novice tester with no coding experience through the process of writing a simple automated test using the Page Object framework in Ruby/Cucumber. I will take a volunteer from the audience and transform that person from an ordinary QA professional (or whatever their occupation) into an automation engineer in one short hour.
Don’t be afraid; the code will not bite. Much.
It’s easy to get focused on your test cases, automation suite, gherkin, cucumber, acceptance criteria etc. and miss the big picture. This talk will focus on the importance of QA being involved in ALL aspects of the Software Development Lifecycle (SDLC) from inception to support. As product owner, I advocate for EVERYONE on the team to own the product. This approach results in higher quality, higher customer satisfaction, and higher team morale. In this talk I will address:
How QA can get more involved throughout the whole SDLC
How managers can encourage QA to be more involved throughout the whole SDLC
How agile can help QA be more holistic
Tools and techniques that have facilitated a more holistic approach
What it really looks like for QA to own the product
Attendees will come away with a new outlook on the QA role and ideas on how to implement positive change in their organization, whether they are QA or a leader of QA.
“Automate everything you can.” This DevOps principle propels automated testing into a primary enabling position for any organization that embarks on a DevOps journey. No longer an option. No longer something we *should* do. Either we automate testing or the bright promise of DevOps will remain out of reach.
In this session, we will examine the multiple ways that automated testing is the lynchpin that enables the flow of software through the DevOps pipeline. And we will see how it changes – but does not eliminate – manual testing. (After all, “everything you can” is not everything.)
CoverMyQuality: Implementing a Quality Program by Rick Neighbarger and Susan ...QA or the Highway
Follow the Quality Assurance journey taken by CoverMyMeds as it transitioned from a start-up to a growth company. Founded in 2008 with a mission to help patients get the medication they need to be healthy, CoverMyMeds has doubled its staff and revenue every year since inception. As the company expands, quality processes have become paramount in protecting Patient Health Information (PHI) and mitigating risk. Implementing Juran’s concept of Big Q, CoverMyMeds has begun its journey in creating its own quality center of excellence.
Most testers are quite familiar with standard test metrics: defect counts, test pass rates, defect removal efficiency, etc… In fact, most status reports are replete with metrics and graphs galore. But do metrics really help you manage your testing effort and are they really the best means to communicate with executives. Come learn about how I manage testing efforts without leaning on metrics as a crutch or a shield.
Quality Assurance & User Experience: Friends or Foes? by Richard DouglassQA or the Highway
Is it possible for User Experience (UX) and Quality Assurance (QA) professionals to work well together? At times, both can struggle to effectively communicate what they need in order to do their jobs well. However, opportunities exist for the two to work well together. For example, QA professionals often struggle to obtain quality requirements in order to write effective test cases. Whereas, UX professionals typically struggle when after they do their work early in the project they often hand off their work only to find it mangled in the final stages of the project when they are no longer involved.Yet, great things are possible when UX and QA teams work together. The UX professionals can ensure that requirements are well written early in the project when they are heavily involved in the project. In addition, QA professionals can be very helpful by making sure UX team members are invited to review the final product before it goes live and are part of the final reviews.
Testing within a closed system is easy. Everything is generally accessible and can be interacted with freely. But what happens when the application requires integration with one or more third parties in order to function? In unit tests, we can use mocks and there are many Ruby libraries to make that happen. However, this doesn’t help us much when we’re testing deployed code in end-to-end scenarios or exploratory tests. The solution I found was to build a mock application to mimic the third party. This talk will cover the process and tools used to build the application, the advantages/disadvantages it provides, and explain how this mock is utilized in real-world situations.
Applied Data Science for monetization: pitfalls, common misconceptions, and n...DevGAMM Conference
This talk guides us through modern twists on classic user-oriented data science tasks, such as churn prediction, clusterization, calculating user metrics, and others. We will discuss unusual angles for solving these tasks; how and why they can be used to improve player experience and monetization; the intuition behind these methods, and insights into inner machinery; and why conventional methods work poorly. Finally, I'll show you how you can apply this knowledge to improve your users' playing experience, and streamline analytics; and we'll talk general situation of applied data science and analytics in the industry.
The Effects of Work Habits Around Agility Through SimulationsPaul Boos
This is an experiential workshop to help managers understand how the work habits they choose or reinforce help or hinder the Agility of an organization.
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em UpLuke Dicken
Guest presentation given to a mixed-discipline group at the University of West of Scotland Research Students Society @ UWoS 3rd March 2010.
Topics covered : High level overview of work with AI for Poker, Ms. Pac-Man and my own research on the I2 system, concluding with some of my opinions on the current state of Academic and Industrial Game AI.
Estimation is associated with Fear, Uncertainty and Death marches. Most of us would rather not estimate. Yet, sometimes we do need estimates and commitments, even on "estimation-less" projects. Play a series of estimation games to experience how different techniques deliver very different results. Learn a few simple rules that turn you into a reliable estimator. But correct estimates aren't enough. See what else is required to deliver on your promises. Learn to deal with the destructive games people play with estimates. Estimating can be Fun, embracing Uncertainty and Delivering.
Casual Connect Tel Aviv - To the Stars! Scaling your Game from Concept to Sof...Adir Ron
This presentation was a part of Casual Connect Tel Aviv 2016.
It’s easy to scale a game from 1 million users to 10 million. But how do you scale from 0 to 1,000? or 10,000? In this presentation, Adir shares his experience in scaling multiple games from concept to soft launch, while revealing tips, best practices and common pitfalls to avoid when launching a new mobile game.
To the Stars! Scaling your Game from Concept to Soft Launch (and Beyond!) | A...Jessica Tams
Delivered at Casual Connect Tel Aviv 2016 | It’s easy to scale a game from 1 million users to 10 million. But how do you scale from 0 to 1,000? or 10,000? In this session, Adir will share his experience in scaling multiple games from concept to soft launch, while revealing tips, best practices and common pitfalls to avoid when launching a new mobile game.
Your Game is None of Your Business | Randall RobbinsJessica Tams
Delivered at Casual Connect USA 2016. How can you validate if your game is worth playing before you write a single line of code? How can you get people to sign up to play your game before a demo is even ready? How many units do you need to ship in order to pay for the initial development of your next game? How many signups do you need this month? The purpose of this talk is to take a step back and view the “Business” as being your product, not the game.
NoEstimates: Forecasting with Less Effort and More Accuracy by Matthew PhilipBosnia Agile
Wondering what NoEstimates means in practice or why you would want to try NoEstimates? Perhaps you’ve heard the buzz or read Vasco Duarte’s book. Maybe you simply want to understand how you can spend less time estimating and more time delivering working software—all while providing your customers with some understanding of predictability. If so, this group board game-based workshop will help you understand what and to what degree different factors influence delivery time. Join this session to learn how to move from upfront intuition-based estimates to create a data-based probabilistic forecast that provides a more reliable way to talk about when stuff will be done—and expend less effort to do so. Learn to forecast when things will be done -- with less effort and more accuracy!
Jeff Lopez Presentation for Agile Impact Conference 2018 Day 1.
"Learn speedy affinity facilitation techniques to eliminate waste and boost productivity in creating, prioritizing and estimating a backlog."
Similar to (Almost) everything i know about testing i learned playing poker - Matt Eakin (20)
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
2. Does anyone want to play some poker?
Need 6 “volunteers”
To play Texas Hold ‘Em
.
3. 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
4. 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…
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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?
15. 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
16. 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?
17. 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?
18. 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?
19. 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
20. 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 $$$
21. 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
22. 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
24. 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
25. 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
26. Sample Test Plan
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 3, 9
Player 4 will be dealt 6, 7
Player 5 will be dealt 8, 10
Player 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, 10
You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9
27. 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
28. 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
29. 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?
30. 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!!!
31. 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.
32. 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?
33. 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 $$$
34. 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
35. 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
37. Test Plan Player 1
Deal:
Player 1 will be dealt K, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 3, 9
Player 4 will be dealt 6, 7
Player 5 will be dealt 8, 10
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 Straight K, Q, J, 10, 9
You will lose to Player 4 who has a Straight Flush 5, 6, 7, 8, 9
38. Test Plan Player 2
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 6, 7
Player 3 will be dealt 3, 9
Player 4 will be dealt 9, 4
Player 5 will be dealt 8, 10
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 Straight Flush 5 , 6, 7, 8, 9
You WIN!!!!!
39. Test Plan Player 3
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 3, 9
Player 4 will be dealt 6, 7
Player 5 will be dealt 8, 10
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, 8
You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9
40. Test Plan Player 4
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 3, 9
Player 4 will be dealt 6, 7
Player 5 will be dealt 8, 10
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 Straight Flush 5 , 6, 7, 8, 9
You WIN!!!!!
41. Test Plan Player 5
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 8, 10
Player 4 will be dealt 6, 7
Player 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, 8
You will lose to Player 4 who has a Straight Flush 5 , 6, 7, 8, 9
42. Test Plan Player 6
Deal:
Player 1 will be dealt Q, 10
Player 2 will be dealt 9, 4
Player 3 will be dealt 3, 9
Player 4 will be dealt A, K
Player 5 will be dealt 8, 10
Player 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, 9
You WIN!!!!!