Occasionally you'll find that Poker Copilot doesn't handle a particular type of tournament. Or reports that you didn't try to steal the blinds when you are sure you did. Or chokes on an unusual hand.
Let's call a spade a spade. Sometimes people find, ahem, bugs in Poker Copilot. There, I said it. I admit it. My code is not perfect. My testing is not perfect.
What I love is when the person who finds the, ah, bug sends me the hand history that caused the issue. Because I've got a good process for using that hand history to eradicate the bug forever.
First I create a unit test - a type of automatic test - that sends the hand history into Poker Copilot, and makes sure the resulting calculations are correct. Except that they aren't. So the test fails.
Then I fix the problem.
Now I run the unit test again. Problem solved? Good.
The final step is to run all the unit tests, to make sure I didn't break something else. For example, when I get things working for a 6-max turbo table, I might have broken things for a normal 6-max table.
I've now got about 100 of these tests.
The Poker Copilot Blog
Tracking the development of Poker Copilot, Mac OS X software for poker analysis and statistics.
Wednesday, 11 February 2009
Poker Copilot, Bugs, and Unit Tests
Subscribe to:
Post Comments (Atom)
Poker Copilot Translation Project
Want to use Poker Copilot in your language? Then help with the Poker Copilot Translation Project.
About This Blog
In May 2008 I started working on Poker Copilot, initially as a product to help me with my own poker playing. Soon I joined a "30-day Challenge", where the participants each aimed to launch a software product in 30 days. As a result of this challenge, Poker Copilot version 1.0 was launched in July 2008.
This blog tracks the ongoing development of Poker Copilot. Who would find this blog interesting? People interested in 1-person software development, in Poker, or in both.
Contact me via email at steve at pokercopilot dot com.
This blog tracks the ongoing development of Poker Copilot. Who would find this blog interesting? People interested in 1-person software development, in Poker, or in both.
Contact me via email at steve at pokercopilot dot com.
Blog Archive
-
►
2012
(31)
-
►
January
(29)
- Coming in the Next Update: Ignore Old Hand History...
- Coming in the Next Update: Poker Copilot can forma...
- From the "It's About Time, Too" Department
- Poker Copilot Business Cards
- Playing on Entraction Network?
- Unofficial Update for Ongame Players
- One Person with Two Accounts Playing on Ongame?
- Small Tweaks in Poker Copilot Preferences
- Ongame Network and Poker Copilot
- Buy Poker Copilot via Bank Transfer
- Improvement to Appearance of HUD Popup
- Improvement for Poker Copilot Translators
- Coming in the Next Update: HUD Layout has an extra...
- Unofficial Poker Copilot Update for Ongame Network...
- Poker Copilot Demo Video in French
- Reason I Like My Mac #17,823
- Updated Poker Copilot Demo Video
- Poker Copilot 3 Coming...
- News for Poker Copilot Translators
- Updated Poker Copilot Translations
- New Poker Copilot Screenshots Reveal How Version 2...
- Poker Copilot Translation Project: Update
- PokerStars now has built-in Auto-Hotkeys
- Reflection on the PokerStars Update that Broke Pok...
- Poker Copilot 2.101 Now Available
- Poker Copilot Website in French
- Spanish Website Translation
- Poker Copilot Website in Spanish
- Update for PokerStars Denmark Users (PokerStarsDK)...
-
►
January
(29)
-
►
2011
(154)
-
►
December
(10)
- New Unofficial Update
- Poker Copilot Discussion Forum in French
- Coming in the next update: multiple HUD layouts
- Poker Copilot Fact of the Day
- Unofficial Poker Copilot Update for the Brave
- Coming in the next update: All-in Equity in $ or B...
- Who uses BarrierePoker.fr?
- Coming in the next update: Filter tournaments by t...
- Help Wanted: BlazingStars or AHK for Merge Network...
- Coming in the next update: choose a language for P...
-
►
November
(13)
- MacKeeper's "Real-time protection" breaks Poker Co...
- PokerStars Playing History Audit CSV Problems with...
- Poker Copilot 2.99 Now Available
- HUD not working on PokerStars in update 2.98?
- PartyPoker support in Poker Copilot
- End of a Troublesome Week
- Poker Copilot 2.97 Problem Fixed?
- Desperately Seeking Help to Solve the Crashing Pro...
- Is Poker Copilot 2.97 Crashing For You?
-
►
December
(10)
-
▼
2009
(337)
-
▼
February
(18)
- Support via Skype Screensharing Rocks
- The One-Question Survey
- Any Publicity is Good Publicity?
- Poker Copilot 1.63 Released
- Flying, Checklists, and Updating Poker Copilot
- Economic Catastrophe?
- Source of Perplexing Bug Finally Located
- What Can Programmers do for the Environment?
- Sentence of the Day
- Technical Writer Sought
- Simplify. Repeat. New Poker Copilot Update
- Poker Copilot, Bugs, and Unit Tests
- The Poker Copilot HUD Customizator...
- Germany or Australia?
- A Satisfied German Customer
- From the "I found a _cool_ JavaScript trick and I'...
- Video Review of Poker Copilot
- Updated Poker Copilot Early Access Version
-
▼
February
(18)


5 comments:
How long does it take to run through these tests?
Hi Steve,
I've been following your CoPilot articles since they started, well done, seems to have come a long way in such a short time.
What are you using for your unit tests? NUnit, or something else?
Hi,
It seems to be a pretty good maneer to eradicate bugs.
Regards,
Quenitn
The entire set of tests run within a couple of seconds. That's because the hand history parser is blindingly fast.
I'm using JUnit 4 for unit tests.
Question: Have you thought about making poker copilot open source? I'm sure there would be some interest in that...
Post a Comment