The Willie Horton Effect In Software Testing
0 comments Posted by Eric Jacobson at Monday, March 21, 2016While reading Paul Bloom’s The Baby In The Well article in The New Yorker, I noted the Willie Horton effect’s parallel to software testing:
In 1987, Willie Horton, a convicted murderer who had been released on furlough from the Northeastern Correctional Center, in Massachusetts, raped a woman after beating and tying up her fiancĂ©. The furlough program came to be seen as a humiliating mistake on the part of Governor Michael Dukakis, and was used against him by his opponents during his run for President, the following year. Yet the program may have reduced the likelihood of such incidents. In fact, a 1987 report found that the recidivism rate in Massachusetts dropped in the eleven years after the program was introduced, and that convicts who were furloughed before being released were less likely to go on to commit a crime than those who were not. The trouble is that you can’t point to individuals who weren’t raped, assaulted, or killed as a result of the program, just as you can’t point to a specific person whose life was spared because of vaccination.
How well was a given application tested? Users don’t know what problems the testers saved them from. The quality may be celebrated to some extent, but one production bug will get all the press.
Testers Are Never Done - Like Scientists
4 comments Posted by Eric Jacobson at Friday, August 21, 2015I’m a Dr. Neil deGrasse Tyson fanboy. In this video, he pokes fun of a common view of scientists. A view that when scientists think they’ve figure something out, they stop investigating and just sit around, proud of themselves. Neil says, “[scientists] never leave the drawing board”. They keep investigating and always embrace new evidence, especially when it contradicts current theories.
In other words, a scientist must trade closure for a continued search for truth. “Done” is not the desired state.
As a tester, I have often been exhausted, eager to make the claim. “it works…my job here is done”. And even when faced with contradicting evidence, I have found myself brushing it away, or hoping it is merely a user problem.
Skilled testers will relate. Test work can chew us up and spit us out if we don’t have the right perspective. Don’t burden yourself by approaching test work as something you are responsible for ending.
Test Your Testing With Bug Seeding – Part 1
0 comments Posted by Eric Jacobson at Tuesday, November 25, 2014I’m feeling quite cocky at the moment. So cocky that I just asked my lead programmers to secretly insert a bug into the most complex area of the system under test.
Having just finished another epic automated check based on the Golden Master approach I discussed earlier, and seeing that most of the team is on pre-Thanksgiving vacation, this is the perfect time to “seed a bug”. Theoretically, this new automated check should help put our largest source of regression bugs to rest and I am going to test it.
The programmer says he will hide the needle in the haystack by tomorrow.
I’m waiting…


You’ve got this new thing to test.
You just read about a tester who used Selenium and he looked pretty cool in his bio picture. Come on, you could do that. You could write an automated check for this. As you start coding, you realize your initial vision was too ambitious so you revise it. Even with the revised design you’re running into problems with the test stack. You may not be able to automate the initial checks you wanted, but you can automate this other thing. That’s something. Besides, this is fun. The end is in sight. It will be so satisfying to solve this. You need some tasks with closure in your job, right? This automated check has a clear output. You’ve almost cracked this thing…cut another corner and it just might work. Success! The test passes! You see green! You rule! You’re the Henry Ford of testing! You should wear a cape to work!
Now that your automated thingamajig is working and bug free, you can finally get back to what you were going to test. Now what was it?
I’m not hating on test automation. I’m just reminding myself of its intoxicating trap. Keep your eyes open.
Pushing Up All The Levels On The Mixing Board
1 comments Posted by Eric Jacobson at Friday, July 11, 2014…may not be a good way to start testing.

I heard a programmer use this metaphor to describe the testing habits of a tester he had worked with.
As a tester, taking all test input variables to their extreme, may be an effective way to find bugs. However, it may not be an effective way to report bugs. Skilled testers will repeat the same test until they isolate the minimum variable(s) that cause the bug. Or using this metaphor, they may repeat the same test with all levels on the mixing board pulled down, except the one they are interested in observing.
Once identified, the skilled tester will repeat the test only changing the isolated variable, and accurately predict a pass or fail result.

So, you’ve got a green thumb. You’ve been growing houseplants your whole life. Now try to grow an orchid. What you’ve learned about houseplants has taught you very little about orchids.
- Put one in soil and you’ll kill it (orchids grow on rocks or bark).
- Orchids need about 20 degrees Fahrenheit difference between day and night.
- Orchids need wind and humidity to strive.
- Orchids need indirect sunlight. Lots of it. But put them in the sun and they’ll burn.
- Fading flowers does not mean your orchid is dying (orchids bloom in cycles).
So, you’re a skilled tester. You’ve been testing functional applications with user interfaces your whole career. Now try to test a data warehouse. What you’ve learned about functionality testing has taught you very little about data testing.
- “Acting like a user”, will not get you far. Efficient data testing does not involve a UI and depends little on other interfaces. There are no buttons to click or text boxes to interrogate during a massive data quality investigation.
- Lack of technical skills will kill you. Interacting with a DB requires DB Language skills (e.g., TSQL). Testing millions of lines of data requires coding skills to enlist the help of machine-aided-exploratory-testing.
- Checking the health of your data warehouse prior to deployments probably requires automated checks.
- For functional testing, executing shallow tests first to cover breadth, then deep tests later is normally a good approach. In data testing, the opposite may be true.
- If you are skilled at writing bug reports with detailed repro steps, this skill may hinder your effectiveness at communicating data warehouse bugs, where repro steps may not be important.
- If you are used to getting by as a tester, not reading books about the architecture or technology of your system-under-test, you may fail at data warehouse testing. In order to design valuable tests, a tester will need to study data warehouses until they grok concepts like Inferred Members, Junk Dimensions, Partitioning, Null handling, 3NF, grain, and Rapidly Changing Monster Dimensions.
Testers, let’s respect the differences in the projects we test, and grow our skills accordingly. Please don’t use a one-size-fits-all approach.
James Bach’s Beautiful Testing Metaphors
6 comments Posted by Eric Jacobson at Thursday, May 22, 2014(and one of Michael Bolton’s)
One of my testers took James Bach’s 3-day online Rapid Testing Intensive class. I poked my head in from time to time, couldn’t help it. What struck me is how metaphor after metaphor dripped from Bach’s mouth like poetry. I’ve heard him speak more times than I can count but I’ve never heard such a spontaneous panoply of beautiful metaphors. Michael Bolton, acting as assistant, chimed in periodically with his own metaphors. Here are some from the portions I observed:
- A tester is like a smoke alarm, their job is to tell people when and where a fire is. However, they are not responsible for telling people how to evacuate the building or put out the fire.
- (Michael Bolton) Testers are like scientists. But scientists have it easy; They only get one build. Testers get new builds daily so all bets are off on yesterday’s test results.
- Buying test tools is like buying a sweater for someone. The problem is, they feel obligated to wear the sweater, even if it’s not a good fit.
- Testers need to make a choice; either learn to write code or learn to be charming. If you’re charming, perhaps you can get a programmer to write code for you. It’s like having a friend who owns a boat.
- Deep vs. Shallow testing. Some testers only do Shallow testing. That is like driving a car with a rattle in the door…”I hear a rattle in the door but it seems to stay shut when I drive so…who cares?”.
- Asking a tester how long it will take to test is like being diagnosed with cancer and asking the doctor how long you have to live.
- Asking a tester how long the testing phase will last is like asking a flight attendant how long the flight attendant service will last.
- Complaining to the programmers about how bad their code looks is like being a patron at a restaurant and walking back into the kitchen to complain about the food to the chefs. How do you think they’re going to take it?
- Too many testers and test managers want to rush to formality (e.g., test scripts, test plans). It’s like wanting to teleport yourself home from the gym. Take the stairs!
Be Careful When Testing With Kitchen Windows
1 comments Posted by Eric Jacobson at Tuesday, November 19, 2013Have you ever been to a restaurant with a kitchen window? Well, sometimes it may be best not to show the customers what the chicken looks like until it is served.
A tester on my team has something similar to a kitchen window for his automated checks; the results are available to the project team.
Here’s the rub:
His new automated check scenario batches are likely to result in…say, a 10% failure rate (e.g., 17 failed checks). These failures are typically bugs in the automated checks, not the product under test. Note: this project only has one environment at this point.
When a good curious product owner looks through the kitchen window and sees 17 Failures, it can be scary! Are these product bugs? Are these temporary failures?
Here’s how we solved this little problem:
- Most of the time, we close the curtains. The tester writes new automated checks in a sandbox, debugs them, then merges them to a public list.
- When the curtains are open, we are careful to explain, “this chicken is not yet ready to eat”. We added an “Ignore” attribute to the checks so they can be filtered from sight.
Per one of my favorite podcasts, WNYC’s On the Media, journalists are finding it increasingly more difficult to check facts at a pace that keeps up with modern news coverage. To be successful, they need dedicated fact checkers. Seem familiar yet?
Journalists depend on these fact checkers to keep them out of trouble. And fact checkers need to have their own skill sets, allowing them to focus on fact checking. Fact checkers have to be creative and use various tricks, like only following trustworthy people on Twitter and speaking different languages to understand the broader picture. How about now, seem familiar?
Okay, try this: Craig Silverman, founder of Regret the Error, a media error reporting blog, said “typically people only notice fact checkers if some terrible mistake has been made”. Now it seems familiar, right?
The audience of fact checkers or software testers has no idea how many errors were found before it was released. They only know what wasn’t found.
Sometimes I have a revenge fantasy that goes something like this:
If a user finds a bug and says, “that’s so obvious, why didn’t they catch this”, their software will immediately revert back to the untested version.
…Maybe some tester love will start to flow then.
Bite-Sized Test Wisdom From RST Class – Part 2
1 comments Posted by Eric Jacobson at Monday, July 23, 2012See Part 1 for intro.
- There are two reasons why your bugs are not getting fixed:
- There is more important stuff going on
- You are not explaining them well.
- Testers need to be good at articulating why we think something is a bug. One approach is PEW. State the Problem, provide an Example, explain Why it matters.
- “How many test cases?” is usually a silly question.
- There are two reasons why all tests do not get executed:
- The tester didn’t think of it.
- The tester thought of it but decided not to execute it. Hopefully it’s the latter. It may be worth while to brainstorm on tests.
- One way to communicate coverage to stakeholders is to use a mind map.
- If you get bored testing, you may be doing something wrong (e.g., you are doing repetitive tests, you are not finding anything interesting).
- Testing is about looking for a “problem”. A “problem” is an undesirable situation that is solvable.
- (I need to stop being so militant about this) All bugs don’t need repro steps. Repro steps may be expensive.
- Consider referencing your oracle (the way of recognizing a problem you used to find the bug) in your bug report.
- When asked to perform significantly time consuming or complex testing, consider the Orange Juice Test: A client asked three different hotels if the hotels could supply said client with two thousand glasses of fresh squeezed orange juice tomorrow morning. Hotel #1 said “no”. Hotel #2 said “yes”. Hotel #3 said “yes, but here’s what it’s going to cost you”. The client didn’t really want orange juice. They picked Hotel #3.
- No test can tell us about the future.
- Nobody really knows what 100% test coverage means. Therefore, it may not make sense to describe test coverage as a percentage. Instead, try explaining it as the extent to which we have travelled over some agreed upon map. And don’t talk about coverage unless you talk about the kind of coverage you are talking about (e.g., Functions, Platforms, Data, Time, etc.)
- Asking how long a testing phase should be is like asking how long I have to look out the windshield as I drive to Seattle.
- Skilled testers are like crime scene investigators. Testers are not in control (the police are). Testers give the police the information they need. If there is another crime committed, you may not have time to investigate as much with the current crime scene.
- No test can prove a theory is correct. A test can only disprove it.
- (I still have a hard time with this one) Exploratory Testing (ET) is not an activity that one can do. It is not a technique. It is an approach. A test is exploratory if the ideas are coming from the tester in the here and now. ET can be automated. Scripts come from exploration.
- Exploratory behavior = Value seeking.
- Scripted behavior = Task seeking
- Tests should not be concerned with the repeatability of computers. It’s important to induce variation.
- ET is a structured approach. One of the most important structures is the testing story. A skilled tester should be able to tell three stories:
- A story about the product (e.g., is the product any good?).
- A story about how you tested it (e.g., how do I know? Because I tested it by doing this…).
- A story about the value of the testing (e.g., here is why you should be pleased with my work…).
We Test To Find Out If Software *Can* Work
18 comments Posted by Eric Jacobson at Monday, July 09, 2012Yes, Michael Bolton is one of my biggest mentors. And you’ve read a lot of fanboy posts on this blog. But before I start spewing stuff from my RST notes, I want to post a disagreement I had with Michael Bolton (and RST). After a 15 minute discussion, he weakened my position. But I still disagree with this statement:
We don’t test to find out if something works. We test to find out if it doesn’t work.
Here is a reason I disagree: Knowing at least one way software can work, may be more valuable than knowing a thousand ways it can NOT work.
Example: Your product needs to help users cross a river. Which is more valuable to your users?
- “hey users, if you step on these exact rocks, you have a good chance of successfully crossing the river”
- “hey users, here are a bunch of ways you can NOT cross the river: jump across, swim past the alligators, use the old rickety bridge, swing across on a vine, drain the river, dig a tunnel under it, etc.”
Users only need it to work one way. And if it solves a big enough problem, IMO, those users will walk across the rocks.
Sure, finding the problems is important too. Really important! But if someone puts a gun to my head, and says I only get one test. It’s going to be a happy path test.
Bolton referred us to the following discussion between James Bach and Michael Kelly (http://michaeldkelly.com/media/ then click on “Is there a problem here?”). I thought it would change my mind, as most James Bach lessons do. It hasn’t…yet.
I might be wrong.
Jon Bach walked up to the podium and (referring to his readiness as the presenter) asked us how to tell the difference between a tester and a programmer: A programmer would say, “I’m not ready for you guys yet”.
STPCon Spring 2012 kicked off with the best keynote I have seen yet. Jon took on the recent Test-Is-Dead movement using a Journalism-Is-Dead metaphor.
He opened with the observation, “Did anyone get a ‘USA Today’ delivered to their room this morning?”
“No”. (something as a tester I was embarrassed not to have noticed.)
And after a safety language exercise, Jon presented a fresh testing definition, which reflects his previous career, journalism:
Testing is an interrogation and investigation in pursuit of information to aid evaluation.
Jon wondered out loud what had motivated the Test-Is-Dead folks. “Maybe there is a lot of bad testing in our midst.” And he proceeded to examine about 7 threats (I think there were more) that he believed could actually make testing dead. Each testing threat was reinforced with its metaphorical journalism threat and coupled with a quote from the Test-Is-Dead folks.
(I listed each threat-to-testing in bold text, followed by its journalism threat. I listed an example Test-Is-Dead quote for threat #3 below.)
- (threat to testing) If the value of testing become irrelevant – (threat to journalism) If we stop caring about hearing the news of what is happening in the world. (implied: then testing and journalism is dead)
- If the quality of testing is so poor that it suffers an irreversible “reputation collapse event”. If “journalist” comes to mean “anybody who writes” (e.g., blogs, tweets, etc.).
- If all users become early adaptors with excellent technical abilities. If everyone becomes omnipotent; they already know today’s weather and tomorrow’s economic news.
For this threat, the Test-Is-Dead quote was from James Whittaker, “You are a tester pretending to be a user”. The context of Whittaker’s statement was that testers may not be as important because they are only pretending to be users, while modern technology may allow actual users to perform the testing. Bach’s counterpoint was: since not all users may want to be testers and not all users may possess the skills to test, there may still be value for a tester role. - If testers are forced to channel all thoughts and intelligence through a limited set of tools and forced to only test what can be written as “executable specifications”. If journalists could only report what the state allows. Jon listed the example of the Egyptian news anchor that just resigned from state media after 20 years, due to what she called “lack of ethical standards” in the media’s coverage of the Arab Spring.
- If all the tests testers could think of were confirmatory. If all the journalists did not dig deeper (e.g., If they always assumed the story was just a car crash.)
- If software stops changing and there is no need to ask new questions. If the decisions people made today no longer depend on the state of the economy, weather, who they want to elect, etc.
- If the craft of testing is made to be uninviting; into a boring clerical activity that smart, talented, motivated, creative people are not interested in. If you had to file a “news release approval” form or go through the news czar for all the news stories you told.
Jon’s talk had some other highlights for me:
- He shared a list of tests he performed on eBay’s site prior to his eBay interview (e.g., can I find the most expensive item for sale?). Apparently, he reported his test results during the interview. This is an awesome idea. If anyone did that to me, I would surely hire them.
- He also showed a list of keynote presentation requirements he received from STPCon. He explained how these requirements (e.g., try to use humor in your presentation) were like tests. Then he used the same metaphor to contrast those “tests” with “checks”; am I in the right room? Is the microphone on? Do I have a glass of water?
Jon concluded where he started. He revealed that although newspapers may be dead, journalism is not. Those journalists are just reporting the news differently. And maybe it’s time to cut those unskilled testers loose as well. But, according to Jon, the testing need for exploration and sapience in a rapid development world is more important than ever.
Last week we celebrated two exciting things on one of my project teams:
- Completing our 100th iteration (having used ScrumBut for most of it).
- Kicking off the switch to Kanban.
Two colleagues and I have been discussing the pros and cons of switching to Kanban for months. After convincing ourselves it was worth the experiment, we slowly got buy-in from the rest of the project team and…here we go!
Why did we switch?
- Our product’s priorities change daily and in many cases users cannot wait until the iteration completes.
- Scrum came with a bunch of processes that never really helped our team. We didn’t need daily standups, we didn’t like iteration planning, we spent a lot of time breaking up stories and arguing about how to calculate iteration velocity. We ran out of problems to discuss in retrospectives and in some cases (IMO) forced ourselves to imagine new ones just to have something to discuss.
- We’re tired of fighting the work gaps at the start and end of iterations (i.e., testers are bored at the iteration start and slammed at the end, programmers are bored at the iteration end and slammed at the start).
- Deploying entire builds, filled with lots of new Features forced us to run massive regression tests, and deploy on weekends, during a maintenance window (causing us to work weekends, and forcing our users to wait for Features until weekends).
- Change is intellectually stimulating. This team has been together for 6 years and change may help us to use our brains again to make sure we are doing things for the right reasons. One can never know if another approach works better unless one tries it.
As I write this, I can hear all the Scrum Masters crying out in disgust, “You weren’t doing Scrum correctly if it didn’t work!” That’s probably true. But I’ll give part of the blame to the Scrum community, coaches, and consultants. I think you should strive to do a better job of explaining Scrum to the software development community. I hear conflicting advice from smart people frequently (e.g., “your velocity should go up with each iteration”, “your velocity should stay the same with each iteration”, “your velocity should bounce around with each iteration”).
When I was a young kid, my family got the game “Video Clue”. We invited my grandpa over to play and we all read through the instructions together. After being confused for a good 30 minutes, my grandpa swiped the pieces off the table and said, “anything with this many rules can’t possibly work”.
Anybody else out there using Kanban?
Break Up Your Testing Into Sessions And Breaks
2 comments Posted by Eric Jacobson at Tuesday, May 10, 2011The Proceedings of the National Academy of Sciences just published a study, “Extraneous factors in judicial decisions”, that finds decision making is mentally taxing and when people are forced to continually make difficult decisions, they get tired and begin opting for the easiest decision.
Eight parole board judges were observed for 10 months, as they ruled whether or not to grant prisoners parole. The study noticed a trend. Near the end of work periods, prisoners being granted parole dropped significantly. The decision of granting parole takes much longer to explain and involves more work than the decision to deny parole.
(For those of you reading my blog from prison, try to get your parole hearing scheduled first thing in the morning or right after lunch.)
What does this remind you of?
Testing! I don’t have the ambition to perform said study on test teams, but I have certainly experienced the same pattern. I’m guessing fewer bugs get logged latter in the day. The decision that you found a bug is a much more difficult decision than denial. Deciding you found a bug means investigating, logging a report, convincing people sometimes, testing the fix, regression testing what broke, etc.
I wrote about Tester Fatigue and suggested solutions in How To Combat Tester Fatigue. But according to the above study, taking breaks from testing is paramount. Therefore, I will now head downstairs for some frozen yogurt.
- As with fishing, testing without catching bugs can get boring. It’s important to let newbies catch some bugs.
- When someone finds a bug you missed, it’s humiliating. When the tables turn and you find the missed bug, maybe it’s time to set your ego aside and put your coaching hat on.
Testing is Intangible - Ask Testers What They Did
4 comments Posted by Eric Jacobson at Wednesday, March 09, 2011- How did George Clooney do?
- Was it slow paced?
- Was the story easy to follow?
- Any twists or unexpected events?
- Was the cinematography to your liking?
Programmer Profiling - Don't Be Afraid To Use It
5 comments Posted by Eric Jacobson at Friday, February 11, 2011- The TSA protects passengers by finding bombs among 3 million people.
- I protect users by finding bugs among 3 million lines of code.
- If I ask ProgrammerA how she tested something and she shows me a set of sound unit tests, and a little custom application she wrote to help her test better, I gain a certain level of confidence in her code.
- On the other hand, if I ask ProgrammerB how she tested something and she shrugs and says “that’s your job”, I gain a different level of confidence in her code.

- Black Box Testing - Regular food (e.g., canned soup, cereal, pasta) would get thrown away if its expiration date was <>
- White Box Testing – Sometimes food looks good on the outside, but if you screw off the peanut butter jar lid and look inside, you may find someone has broken the inner seal and helped themselves to a few spoonfuls.
- Cosmetic Testing – Cans with no labels or bags of food without an ingredient listing were rejected.
- Bugs – Literally. Reject it if the food was exposed. Finding damaged secondary packaging (e.g., cardboard cereal box ripped but plastic bag intact) was like finding a software bug. Let the dev tape it back together, then you can accept it.
- Usability Testing – Some cans are smashed; can they easily be opened? Is it so smashed the user can injure themselves on sharp corners?
- Security Testing – Was the product recalled? Example: Campbell’s Spaghettios were recalled due to uncooked meatballs. Fail!
- Motivation – we were told what the average work performed by volunteers was. We consider ourselves above average so we set a goal to beat the norm. Thus, we worked hard to achieve our goal and prove we were the best.
- Roles – We were assigned to roles as either inspector, sorter, or packer. When any role was caught up, we switched roles to keep busy and keep things moving.
- Collaboration – “I forgot, what do we do with baby food?”, “What is the rule for powdered milk?”, “Can you hold this shut while I tape it up?”. We worked side-by-side in the same room and answered each other’s questions.
- Breaks – They forced us to take breaks. Without the breaks, fatigue may have set in. The breaks allowed us to reflect and exchange stories about mistakes we had made (spilling salt all over the place) or gross encounters (sticky stuff leaking out of jar). This also motivated us to work harder after the break, attempting to encounter good story material. They gave us free beverages and chocolate during the break (donated chocolate can’t get packaged because it melts), which means we didn’t have to be distracted with food/beverage as we worked.
- Oracles – When we couldn’t help ourselves, we knew which volunteers were the oracles. They knew all the answers based on prior experience.
- Music – Who doesn’t love listening to Michael Jackson’s Thriller?
Rubber Stamp Instead of Test? The Horror!
1 comments Posted by Eric Jacobson at Friday, February 26, 2010You probably think this is just another post about how important it is to test everything before it goes to production. Nope.
Testers are too often expected to test things they don’t have a chance in hell at testing. Testing for the sake of process or perception, provides little to no value and degrades the whole trade of testing.
Sometimes when people ask,
“What are the testers going to do to test it?”, I respond,
“Nothing…we’ll just rubber-stamp it.”
Devs usually laugh because they know the bug risk is ridiculously low or the tester does not have the skills to test anything beyond what the dev already tested. However, other testers, managers, or BAs react with horror.
“Rubber-stamp it? Blasphemy! You’re the tester. EVERYTHING must be tested by you before going to production!”
The term “rubber-stamping” invokes negative reactions because it brings up the mental image of the desk clerk stamping document after document without paying any attention to what is on them…like the tester marking “Verified” on the bug or feature they didn’t really do anything to test. But that’s why I like the term! I’m trying to be honest about what value the tester added…none.
Here are some examples where the rubber-stamper-tester is justified:
- The tester has inadequate skills to perform the tests but has interviewed someone else on the team (usually the devloper) who did test.
- The test is not feasible to recreate in a non-prod environment (e.g., a complex multi-user scenario, custom PC environments, unknown repro steps)
- The patch can only be verified in debug mode, using complex timing and coordination requiring breakpoints and other unrealistic tricks. Even devs may skip testing if regression tests pass.
- If critical functionality is broken in prod, we may decide to release a fix without testing it. Speed becomes paramount in this scenario. We are smart...it is possible that we are smart enough to see a logic error, make the fix, take a deep breath and release to prod without the overhead of testing. After all, it can’t get any worse in prod, right?
'Twas The Night Before Prod Release
1 comments Posted by Eric Jacobson at Tuesday, December 22, 2009'Twas the night before prod release, when all through the build,
Not a unit test was failing, the developers were thrilled;
The release notes were emailed to users with care,
In hopes that new features, soon would be there;
The BA was nestled all snug in her chair,
With visions of magnitude ready to share;
And I on my QA box, trying not to be stressed,
Had just settled down for a last minute’s test;
When during my test there arose such a clatter,
I opened the error log to see what was the matter;
And what to my wondering eyes should appear,
But an unhandled fault, with its wording unclear;
When I showed it to dev, and he gave me a shrug,
I knew in a moment it must be a bug;
More rapid than eagles, dev’s cursing it came,
And he shouted at testers, and called us by name;
“Now, Jacobson! Now, Zacek! Now, Whiteside and Surapaneni!
On, Cagle! On, Addepalli, on Chang and Damidi!
Stop finding bugs in my web service call!
Now dash away! dash away! dash away all!"
And then, in a twinkling, I heard from the hall,
The tester who showed me, scripts can’t test it all;
As I rejected the build, and was turning around,
Into my cube, James Bach came with a bound;
He was dressed really plain, in a baseball-like cap,
And he patted my back for exploring my app;
He had a big white board and a little round belly,
That shook when he diagrammed like a bowlful of jelly;
He was chubby and plump, a right jolly old elf,
And he laughed when he saw RST on my shelf;
Then he spoke about testing, going straight to his work,
And attempted traspection, though he seemed like a jerk;
His eyes -- how they twinkled! his dice games, how merry!
He questioned and quizzed me and that part was scary!
He told me of lessons he taught at STARWEST,
Made an SBT charter and then told me to test;
Then I heard him exclaim, ere he walked out of sight
“Happy testing to all! ...just remember I’m right!”

RSS