Wednesday, October 14, 2015

How about "The Yellow Face" Heuristic?

I was reading the book 'The Memoirs of Sherlock Holmes' and found this interesting case called - The Yellow Face. This is a good read. Sherlock is asked to help a man who feels that there is a secret between him and his wife. Sherlock suspects that its the lady's first husband who has come to the cottage and blackmailing the lady, along with another lady.

Only when they reach the cottage, Sherlock and the man realize that it is not the first husband but the child who was unwell and has now recovered. So, Sherlock fails to solve the case or to be fair, his assumptions and inferences about the case is false.

After reading this story, I realized that investigation is a key skill in software testing as well. Think about how we listen to the facts, lay our assumptions, build a story, conduct experiments and prove our theories or learn from it. Sometimes we go ahead and without any experiments, conclude that our theory is correct. Just before the story ended, Sherlock tells Watson 
'If it should ever strike you that I am getting a little overconfident in my powers, or giving less pains to a case than it deserves, kindly whisper 'Norbury' in my ear, and I shall be infinitely obliged to you.'

Just when I read those words, I felt that it can be turned into a heuristic - "The Yellow Face" heuristic. A heuristic which warns the testers against complacency. Against believing a theory without enough investigation, without enough critical thinking. 

Imagine in a project when someone is building assumptions after assumptions, just tell them - Beware of the yellow face heuristic

Leia Mais…

Friday, September 11, 2015

Three interesting bugs

When I started testing this feature, it looked quite simple. On a page, the user would be provided an option to view the default number of entries. This was helpful compared to the current UI where the default was set to X. Also, this feature was supposed to be a widget level change which meant that it can be applied across pages with minimal or no change. Also, one could jump to a particular page using a button.

The typical test ideas that came to my mind were:
- Change the defaults
- Compare with production
- Try every value
- Try combination of the Jump button and the drop down to change the default value.

But as I started testing, I discovered few interesting issues which I would like to highlight here:

Issue 1: Incorrect text displayed when the product of default value (drop down) and Jump to page value equaled 1000. The text read 'Displaying 1-1000' instead of 990-1000

First of all, I wanted the test data setup part to be automated. I wanted to have more than 1000 entries for my testing. Thanks to my colleague Vinod G Srinivas, who gave me a quick script to create X number of entries. This particular bug was present only for the value 1000 and worked fine for any value below 1000 and up to 2000.
For example:

This was an example of a bug at the boundary. Strange things happen at the boundary. To our surprise, this bug is existing in production. With 10 as the default, someone would had to navigate till the 100th page to see this bug. No one reported till now.

Issue 2: Action on records messes up the page count
For example, I have set 25 as the default in the drop down. I populate 26 records. I can now navigate to page 2. If I delete the record on page 2, I am left with 25 records and should be redirected to page 1. But guess, what happened? I was left at page 2 without any records and the text which read: Displaying 26-26 records.

Issue 3: Switch between default values displays incorrect records
Suppose I had 11 records and default was set to 10. I saw the results in two pages. Without navigating to second page, I expect to see all 11 records when I switch the default to 25. Everything worked fine till now. When I switched back to 10 from 25, I still saw 11 records. The switch back to 10 as default was not respected.

Think about these three issues. These don't look straight forward. You play with the software and slowly you get the ideas. And these bugs were interesting according to me. I had never predicted that I would have seen these issues when I first got the feature. And that is what makes me test - The uncertainty, the joy of exploration and investigation. Till next time, do share your interesting bugs. 

Leia Mais…