• Comment writer (unregistered)

    Only second

  • rudraigh (cs)

    I got yer monkey.

  • Captain Obvious (unregistered) in reply to Comment writer

    Why is my "Single Result Search" test case for "second" coming up with two results?!?!

  • Rosuav (unregistered)

    Funny enough to bring back for a second showing! Alas, though, one of the links has died - the full article text isn't available. I can't read this awesome bestseller!

  • port22 (unregistered)

    So.. why was the single result showing two results? -- And why was it not caught for years?

  • daef (unregistered)

    that's the reason why testin' should happen in its own universe!

    so it wouldn't be able to tamper w/ the production statistics...

    noobs

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered)
    Comment held for moderation.
  • Anon (unregistered) in reply to port22
    port22:
    So.. why was the single result showing two results? -- And why was it not caught for years?

    Why don't you try re-reading the article? Maybe it won't take you years to understand.

  • Hello (unregistered) in reply to port22

    Not the sharpest stick in the woods, are you?

  • Nightwish (unregistered)

    Now, I may not do proper testing either, but I don't think the problem is that they tested too much...

  • anon (unregistered) in reply to port22
    port22:
    So.. why was the single result showing two results? -- And why was it not caught for years?

    Hey look, Bob's retarded son finally started posting on TDWTF. Believe me, this will be no laughing matter.

  • Jack (unregistered) in reply to port22
    port22:
    So.. why was the single result showing two results? -- And why was it not caught for years?

    I don't think I can explain it any better than the article itself, but here goes:

    It showed two results because a new book was added to the system. So now there were two books whose titles contained the word "monkey." It was not caught for years, because it wasn't a problem for years. The problem started when the new book was added.

  • Anketam (cs)

    But it is not your BuildMaster's monkey though. Anyways classic wtf not for technical reasons but for marketing, but then again marketing is so full of things to make fun of, it is almost not fun.

  • Steve The Cynic (cs) in reply to Anketam
    Anketam:
    But it is not your BuildMaster's monkey though. Anyways classic wtf not for technical reasons but for marketing, but then again marketing is so full of things to make fun of, it is almost not fun.
    No, the WTF is very much technical. They were polluting the production database with the side effects of //testing//. *And* they were creating an interesting situation: loads and loads of orders that were fulfulled, but no physical product shipped...
  • Wally (unregistered)

    TRWTF is marketing.

    Always.

  • PedanticCurmudgeon (cs)

    Does anyone else wonder what geoffrey will have to say about this?

  • Lost in Code (unregistered)

    I always wondered how that article could be so far ahead of all the others. It is good, but not that good compared to the other articles they had available. Thanks for the info.

  • Efpophis (unregistered) in reply to Steve The Cynic
    Steve The Cynic:
    Anketam:
    But it is not your BuildMaster's monkey though. Anyways classic wtf not for technical reasons but for marketing, but then again marketing is so full of things to make fun of, it is almost not fun.
    No, the WTF is very much technical. They were polluting the production database with the side effects of //testing//. *And* they were creating an interesting situation: loads and loads of orders that were fulfulled, but no physical product shipped...

    Makes me wonder if any royalty checks were sent to the author for all these "sales" ...

  • BrainiacV (unregistered)

    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

  • wonk (unregistered) in reply to BrainiacV
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    Sadly, the lesson management will take away from this is "never test".

  • Your Name (unregistered) in reply to BrainiacV
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    Why the hell would you type your own (or any valid) credit card number into a test order? You must be one of those idiots that emails your password to people right after they specifically say "we wont ask for account details."

  • backForMore (unregistered) in reply to Your Name
    Your Name:
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    Why the hell would you type your own (or any valid) credit card number into a test order? You must be one of those idiots that emails your password to people right after they specifically say "we wont ask for account details."

    LOL seriously why in the world would you use your real CC number.'

  • Jack (unregistered) in reply to Steve The Cynic
    Steve The Cynic:
    Anketam:
    But it is not your BuildMaster's monkey though. Anyways classic wtf not for technical reasons but for marketing, but then again marketing is so full of things to make fun of, it is almost not fun.
    No, the WTF is very much technical. They were polluting the production database with the side effects of //testing//. *And* they were creating an interesting situation: loads and loads of orders that were fulfulled, but no physical product shipped...

    I reserve judgement on whether this sort of testing should ever occur in production. But in any case, I agree that it's not the marketing department's WTF. How can they be expected to know they're supposed to ignore certain orders unless they are told? For that matter, I doubt they are directly querying the database themselves to generate the reports they use. Certainly the test entries could have been filtered out for them.

  • Jack (unregistered) in reply to Your Name
    Your Name:
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    Why the hell would you type your own (or any valid) credit card number into a test order? You must be one of those idiots that emails your password to people right after they specifically say "we wont ask for account details."

    I assume it had to be valid, because he was trying to test the functionality to validate the number.

    ...but I still don't see why he had to use his OWN.

  • geoffrey, MCP, PMP (unregistered) in reply to PedanticCurmudgeon
    PedanticCurmudgeon:
    Does anyone else wonder what geoffrey will have to say about this?

    This college website is predictably amateurish. There's nothing more to be said.

  • Meep (unregistered) in reply to BrainiacV
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    You used your personal CC?

    Were BrainiacsI through IV even dumber?

  • foo (unregistered)

    How often did they run those tests? Even if daily, this would be some 1000 orders in those 3 years. Is that enough to make a "run-away bestseller"?

  • Jay (unregistered)

    I wondered when I read this the first time: Why were they entering test orders into a production system? Even if the shipping department realized that orders from "Mr Joe Test" should not really be filled, wouldn't this screw up metrics and accounting in all sorts of ways?

    Someone else posted a question on here about whether they paid royalties to the author on these test sales. Exactly. Did the test sales get included in the company's balance sheet? Did their inventory management system keep generating replenishment orders to replace the books that were "sold"? Etc etc.

    And just by the way: If you just take it for granted that orders from a customer named "test" should be ignored, what happens if someday you actually get a customer whose name is "Test" -- like I found a reference on the web to a Mr Paul Test of South Yarmouth, Massachusetts. I suddenly have an image of poor Bob Test sends in an order and the shipping department ignores it. He calls customer service to complain, they log the problem, and the next customer service person sees the "test" entry and ignores it. Poor Mr Test calls and calls and his calls keep getting ignored or thrown out.

  • M (unregistered) in reply to Jay
    Jay:
    If you just take it for granted that orders from a customer named "test" should be ignored, what happens if someday you actually get a customer whose name is "Test" -- like I found a reference on the web to a Mr Paul Test of South Yarmouth, Massachusetts. I suddenly have an image of poor Bob Test sends in an order and the shipping department ignores it. He calls customer service to complain, they log the problem, and the next customer service person sees the "test" entry and ignores it. Poor Mr Test calls and calls and his calls keep getting ignored or thrown out.

    This is exactly why "magic" values in any system are a horrible idea.

    captcha: gravis - Made the best soundcards and joysticks of it's time. The Ultrasound and the Phoenix ruled.

  • Anonymous (unregistered) in reply to Your Name

    Well, maybe he had some type of validation that checked for an invalid CC number, thus preventing him from using a made up number.

    Though if I did something like this, I would have at least called the guys upstairs and said "Hey, I'm running some tests. If you see something in the comment field marked 'TEST TEST TEST DO NOT PROCESS! TEST TEST TEST' Don't process it" rather than just expecting clairvoyance from them.

  • OccupyWallStreet (unregistered) in reply to Jack
    Jack:
    port22:
    So.. why was the single result showing two results? -- And why was it not caught for years?

    I don't think I can explain it any better than the article itself, but here goes:

    It showed two results because a new book was added to the system. So now there were two books whose titles contained the word "monkey." It was not caught for years, because it wasn't a problem for years. The problem started when the new book was added.

    And the new book was added because the test procedure called for ordering the book that showed up, so marketing thought that it was popular and commissioned a new book.

  • VAXcat (unregistered)

    This reminds me of how we used to test our automated office supply ordering system.

    THe programmer who wrote the system would, every couple of weeks, order a paperback copy of a dictionary through the system. If it arrived in a couple of days...the test was considered successful. 'Course, after a while, the dictionaries started to clutter up his office...

  • Anonymoose (unregistered) in reply to Anonymous
    Comment held for moderation.
  • State Your Name (unregistered) in reply to foo
    foo:
    How often did they run those tests? Even if daily, this would be some 1000 orders in those 3 years. Is that enough to make a "run-away bestseller"?

    I wondered that myself. Maybe 1000 copies is a run-away best seller compared to others in the HBS catalog.

  • Kony (unregistered)

    Why are integration tests run on a production system? Why was there no staging/testing environment used?

    It isn't marketing's fault that they took metrics on 'test' orders. This is a failure by the Release Engineers / Systems Integration team.

    And don't try to tell me that testing on a staging system is not the same as testing on a production system. Your staging system environment should be the same as your production environment and your system should not be dependent on where it was deployed.

  • Gunslinger (unregistered)

    So, the real WTF is marketing departments. That makes sense.

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered) in reply to Jay
    Jay:
    And just by the way: If you just take it for granted that orders from a customer named "test" should be ignored, what happens if someday you actually get a customer whose name is "Test" -- like I found a reference on the web to a Mr Paul Test of South Yarmouth, Massachusetts.
    Is he down the street from Bobby Tables?
  • Ben Jammin (unregistered) in reply to BrainiacV
    BrainiacV:
    ... Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    I believe this may be against PCI Compliance.

  • Ben Jammin (unregistered) in reply to Hello
    Hello:
    Not the sharpest stick in the woods, are you?

    Nor the sharpest star in the toolbox

  • CSB (unregistered) in reply to Anonymous

    "Well, maybe he had some type of validation that checked for an invalid CC number, thus preventing him from using a made up number. "

    That's why CC companies have several use-only-for-testing numbers. They validate properly when run through mod 10, but the actual payment processors know to reject the number.

    I can't post an actual link to a list of them because Akismet is being annoying, but Google for "Test Credit Card Account Numbers" and it should be up near the top.

  • AndrewH (unregistered)
    As part of the aggressive testing strategy mentioned earlier, the HBSP logistics team would fill their down time by executing test cases.

    It seems they were running their test-cases almost continuously, not just once a day. They probably generated more than 1000 orders.

  • pjt33 (cs) in reply to BrainiacV
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.
    I'm sure the client in question was most grateful.
  • Tasty (unregistered) in reply to backForMore
    backForMore:
    Your Name:
    BrainiacV:
    I had written a credit card accepting web application for unpaid bills for my former employer. Everything worked in Test, on the big day that it was moved to production, I tested it again. I chose the account of a particularly big ticket offender and chose to pay off $25,000 of a $30,000 outstanding invoice. I used my personal credit card and in the comment field wrote "TEST TEST TEST do NOT process! TEST TEST TEST' Everything seemed to work well until I got a call from my credit card company saying I was WELL over my limit, immediately followed by a call from my companies Accounts Receivable, saying my card was denied. Mind, our web apps were not tied directly into the accounting database, someone had to print out the entries, walk them to another terminal and re-enter them.

    Why the hell would you type your own (or any valid) credit card number into a test order? You must be one of those idiots that emails your password to people right after they specifically say "we wont ask for account details."

    LOL seriously why in the world would you use your real CC number.'

    Many CC vendors provide test account numbers. I recall that VISA uses 4 + 1*15 (four and fifteen ones) that passes the LUHN check.

  • Emperor Norton (unregistered) in reply to Anonymoose

    Srsly, how hard is it to remember 5555555555554444?

  • Zemm (cs) in reply to Tasty
    Tasty:
    Many CC vendors provide test account numbers. I recall that VISA uses 4 + 1*15 (four and fifteen ones) that passes the LUHN check.

    I thought it was 4444333322221111 - this is the main number I use for testing!

  • Brendan (unregistered) in reply to Zemm
    Zemm:
    Tasty:
    Many CC vendors provide test account numbers. I recall that VISA uses 4 + 1*15 (four and fifteen ones) that passes the LUHN check.

    I thought it was 4444333322221111 - this is the main number I use for testing!

    That's my credit card you bastard! Do you have any idea how much $$ you owe me now?

  • Shinobu (unregistered)

    What is important to realise is that a lot of marketing folks pull stunts like this on purpose. Every time some web page or some cable TV lunch show tells you about what's popular now, remember that trends are easily faked.

  • Helix (unregistered)

    Monkey Magic!!

  • Parliamentary Train (unregistered)

    And TRWTF is testing on a production system...

  • boog (unregistered)

    Alex really owes us after yesterday.

Leave a comment on “Classic WTF: I've Got The Monkey Now”

Log In or post as a guest

Replying to comment #:

« Return to Article