I decided to read 1q84, a novel by Haruki Murakami, when I read novel excerpt as part of news that mr. Murakami is one of candidates for 2012 Nobel prize of literature. He did not won the prize, but excerpt:
A fictional story about best selling book in 1984 Japan that involves parallel worlds.
was my buy in to read the book. So what this book has to do with software testing? Chapter 4 in book 3, Occam’s Razor, is about detective Ushikawa and his reasoning as part of its detective assignment.
Occams’s Razor is a problem-solving principle devised by William of Ockham (c. 1287–1347). It states that among competing hypotheses, the one with the fewest assumptions should be selected. Other, more complicated solutions may ultimately prove correct, but—in the absence of certainty—the fewer assumptions that are made, the better [Wikipedia].
In science, Occam’s Razor is used as a heuristic (discovery tool) to guide scientists in the development of theoretical models rather than as an arbiter between published models [Wikipedia].
Here we are, the connection with software testing! Heuristics are powerful tool of software testers.
I searched using Google, for any mentioning of Occams’s Razor in software testing, but there were no any results.
Occams’s Razor could be used in two ways. To help us to answer question: “Do we have a problem here?”, and to help us to create model of software under test. I will start to apply Occams’s Razor in my daily testing job in order to test it on real testing problems.