After browsing quickly through some posts on Testing vs. Checking on Michael's blog I reach this page
I am thinking - Am I according too much importance to a at-best a fringe concept and giving it importance that is not due? Will I have to grudgingly say "Good Job, Michael?" I am NOT against Michael just that all "Good Job"'s come a bit reluctantly. I am being reminded of Hancock. It was very difficult to say Good Job.
This writing about my thoughts while I read is very distracting. What should I do? Read or Write? Decision is to read, try-to-remember and then write. Reading printed copy is so much easier. You can write some things quickly, draw diagrams or ...
OK. Comments start coming in
"Checking Is Confirmation" - The paragraph seems to say what I had thought. Checking is confirming existing belief. Checking is focused on making sure that the program doesn’t fail. POSITIVE TESTS.
I have a a few bones to pick with the paragraph.
1. "Checking is focused on making sure that the program doesn’t fail" - Unless you are tinkering with the code there is no way you can make sure that the program does not fail. Even the most minor of the inputs/actions can make the program fail. I would have written that checking is focused on "checking/verifying" that the program does not fail by providing appropriate conditions that are least likely to make the program fail. OK, I am verbose but am I not more clear? I have begun now to feel a little smug. I also have a thought that my smugness is going to be punctured soon. Is smugness a baloon that can be punctured?
2. "When we already believe something to be true, we verify our belief by checking."
I don't think I already believe something to be true. I might hope it to be true but I do not believe it. Even if I think the sentence is correct I don't see the difference between checking and testing. At least YET! Maybe I will see it after I read about testing.
Reading on...
"Testing Is Exploration and Learning"
When we configure, operate, and observe a product with the intention of evaluating it, or with the intention of recognizing a problem that we hadn’t anticipated, we’re testing"
Hmmm, I knew that Michael is going to throw the word exploration into the mix.
As a tester do I anticipate that when I press Ctrl+F while using MS Word the find dialog would come up? Yes. Why? Because I expected it based on requirements, business knowledge, product knowledge and so on. So it is checking. Right? Positive tests.
If I pressed Alt button then removed my finger and then pressed Ctrl+F, will the find dialog come up? If I answer this as YES that means I am anticipating the behavior. This makes it chekcing.
However, if I answer it as NO or "I don't NO" err... sorry "I don't KNOW" then it is Testing because I have an INTENTION to RECOGNIZE a problem that I had not ANTICIPATED.
So far it seems that the defition of checking and testing depends on what I AM THINKING and not really on the test. That means one persons checking can be another person's testing. Does not sound very encouraing. Another important point is that the defition of TESTING also seems to match what I had anticiapted.
Time to read further...
"We’re testing when we’re trying to find out about the extents and limitations of the product and its design, and when we’re largely driven by questions that haven’t been answered or even asked before."
Looks like what is commonly understood as negative testing. Of course all the criticism that I have applied to Testing and Checking above are also applicable to the terms Positive and Negative testing as well. I don't have an answer or solution to that. At least NOT YET. ;-)
"Checks Are Machine-Decidable; Tests Require Sapience. A check provides a binary result—true or false, yes or no.
A test has an open-ended result. Testing is about asking and answering the question “Is there a problem here?”
Sounds reasonable. Not different from my thought process if you take out the names check and test. However there are a few things that one has to understand. These are:
A. A binary true or false is not really the result of the test but the result of the knowledge of the person who is asking the question. To give you an example - Swastika is banned in Germany. Swastika is a religious symbol of Hindus, Buddhists, Jains and maybe a few more religions. It is a 4000+ year old symbol meaning peace and prosperity from all sides. What if I want to display Swastika as part of being a Hindu? Do I have freedom of my religion or my freedom is gone because of on evil person who distorted this symbol?
What is your answer? Is it yes or no? Oh! You are not sure so you would want to find out. Meaning you are exploring. So it is a test.
Once you find out from a lawyer or somebody that Hindu/Buddhist temples can have this Symbol, even in Germany, then this becomes a simple Yes/No answer from now onwards.
B. A tells us that a test can be a check depending on the knowledge of the person concerned. Thus what is a check for one person may be a test for another person. I am sure you can recall many incidents from your life where your knowledge of intricacies of a feature was a given, a yes or no and for somebody else it was exploration followed by discovery.
There is nothing wrong with this interpretaion of test and check except that it does not solve any problem for me in terms of communicating the same meaning. Check for one is Test for others. The only thing differentiating a check and test is the documentation which clearly spells out an EXPECTED RESULT. If I have an expected result then it is a check else it is a Test.
If it is that simple then what is all this fuss about? I am feeling definitely very happy for having so many pearls of wisdom at this later hour. I am sure most of them will turn out to be pearls made of ice that turn into water with time and heat (heat that I am going to get once this gets published!). I need to return back to reading rather than writing my thoughts out.
Turning out that I have similar arguments for other paragraphs as well. I will stop writing/recording my thoughts, do some serious reading and re-reading. Michael is not known to write things lightly and he usually has very good arguments so it is time I threw my ususal biased style dissecting the sentences, read the article/post as a whole and try to gain knowledge.
More later folks.
