DevelopsenseLogo

Oracles and The Right Answer

In which the conversation about heuristics and oracles continues… Tony’s brow furrowed as he spoke. “No oracle comes with a guarantee that it’s giving you the right answer. That’s what you said. But surely there are some oracles that are reliable,” he said. “What about pure math?” “Pure math? All right. Here’s an example: what’s 61 plus 45?” “Duh. 106.” “Well,” I said, “for many computer systems prior to the … Read more

All Oracles Are Heuristic

In which the conversation about heuristics and oracles continues… “So what’s the difference,” I asked my tester friend Tony, “between an oracle and a heuristic?” “Hmm. Well, I’ve read the Rapid Testing stuff, and you and James keep saying an oracle is a principle or mechanism by which we recognize a problem.“ “Yes,” I said. “That’s what we call an oracle. What’s the difference between that and a heuristic?” “An … Read more

Heuristics for Understanding Heuristics

This conversation is fictitious, but it’s also representative of several chats that I’ve had with testers over the last few weeks. Tony, a tester friend, approached me recently, and told me that he was having trouble understanding heuristics and oracles. I have a heuristic approach for solving the problem of people not understanding a word: Give ’em a definition. So, I told him: A heuristic is a fallible method for … Read more

Problems with Problems

People sometimes seem to struggle with a concept that’s central to testing, the concept of “oracle”. In the three-day Rapid Software Testing class, we define an oracle as a principle or mechanism means by which we recognize a problem. Sometimes I like to emphasize that oracles are fallible and context-dependent. When that’s so, I say that an oracle is a heuristic principle or mechanism means by which we recognize a problem. (Updated … Read more

Three Conferences of Note

A strong, active, local testing community is a wonderful thing. Kitchener-Waterloo, a hub of software and software-related companies small and large, has such a community, and an active association in the KWSQA. Each year, the KWSQA presents the Targeting Quality conference, which I’ve had the pleasure of participating in for a few years. Alas, this year I can’t make it—but maybe you can. This year’s presenters and workshop leaders are … Read more

I Might Be Wrong (But Not For Me)

Jerry Weinberg tells a story (yes, it’s me; I’m telling yet another Jerry Weinberg story) of meeting an old friend who looked distraught. “What’s the matter?” Jerry asked. The fellow replied, “Well, I’m kind of shellshocked. My wife just left me.” “Was that a surprise?” “Yes, it really was,” the fellow said. “I mean, we had had some problems, but I thought they were all settled.” Jerry paused for a … Read more

Delivering the News (Test Reporting Part 3)

In the last post in this series, I noted some potentially useful structual similarities between bug reports (whether oral or written) and newspaper reports. This time, I’ll delve into that a little more. To our clients, investigative problem reports are usually the most important part of the product story. The most respected newspapers don’t earn their reputations by reprinting press releases; they earn their reputations through investigative journalism. As testers … Read more

Braiding The Stories (Test Reporting Part 2)

We were in the middle of a testing exercise at the Amplifying Your Effectiveness conference in 2005. I was assisting James Bach in a workshop that he was leading on testing. He presented the group with a mysterious application written by James Lyndsay—an early version of one of the Black Box Test Machines. “How many test cases would you need to test this application?” he asked. Just then Jerry Weinberg … Read more

Why Pass vs. Fail Rates Are Unethical (Test Reporting Part 1)

Calculating a ratio of passing tests to failing tests is a relatively easy task. If it is used as a means of estimating the state of a development project, though, the ratio is invalid, irrelevant, and misleading. At best, if everyone ignores it entirely, it’s simply playing with numbers. Otherwise, producing a pass/fail ratio is irresponsible, unethical, and unprofessional. A passing test is no guarantee that the product is working … Read more

Do Not Close This Window (Or Click The Back Button)

Here’s a classic case of poor design and user experience. Most of us have seen something like it. It happened to my wife yesterday. It will happen to you again soon, probably. You’re making an online payment for some product or service. You press a button that says something like “Submit Payment”. A web page appears that says something like “Your payment is being submitted. Please do not close this … Read more