Home

Showing posts with label Things to Think. Show all posts
Showing posts with label Things to Think. Show all posts

Wednesday, October 19, 2011

Search by POST method–A small research

This post is based on a small research I have done on Mozilla Firefox Search Plug-in.

Searchbar

The research started with the study of cookies stored by Mozilla Firefox and moved towards building the Mozilla Firefox Search Plug-in for my blog. My research is not finished yet but still I would like to share an opportunity I found testing these Search Plug-ins.

Testing Nook

While exploring these search plug-ins I noted that every search plug-in is using GET method to send the search query to Search Engine. It seems fine to me as it is just a search so using POST method to send the request doesn’t make a sense to me, but then I thought other way – What would happen if POST method is used to send the request to server. I got curious about this and start to edit the properties of these plug-ins. I have tested multiple search plugins to see how corresponding search engines handles the request sent by POST method and found these three different behaviours:

Google: Google was first search plug-in I tested. When I sent search request to Google using POST Method, I got an error page like this:

Error 405 (Method Not Allowed)!!1 2011-10-18 20-08-21

It seems appropriate. Google doesn’t serve any search request being send by POST Method but then a question is raised - does a non technical user really understand what is POST method? For eg.: My wife doesn’t know this terminology and she will definitely call me for help if she get such error from the Google.

(See the Error Code 405. I have not seen this error earlier. So my research also helped me to find a new error message Winking smile)

Yahoo: The next search engine was Yahoo. Initially I thought that Yahoo will give the same result as given by Google but it proved me wrong. To my surprise Yahoo has given the result for the search query I sent using POST method.

Hello - Yahoo! Search Results 2011-10-18 20-11-15

Bing: The third major search plugin which I tested was Bing – A Microsoft Product. I love my job because it surprises me and it surprises me daily. Till now I have tested two major search engines Google and Yahoo dealing with the request sent using POST method and both of them have given me different results. Once again I was guessing the result before testing. Based on my two previous results I was thinking that Bing should either display the error message or it should display the search result. I have not thought of any other result but surprisingly, Bing has given some unexpected result:

Bing 2011-10-18 20-20-39

Instead of displaying search results or any error, it has opened Bing Search Engine.

I have tested for few other search plugins for different search engine but result are more of the same as these three. Now, question is which search engine has served the user’s request properly: Google, Yahoo or Bing. Think as a tester, Think as a developer and Think as an end user.

Post me your answers with the reason in Comments section, we can have a good discussion on it.

Wednesday, April 7, 2010

A Heuristic and A Puzzle

A Heuristic is a “rule of thumb", an educated guess, an intuitive judgment or simply common sense. A heuristic is a general way of solving a problem.
- Wikipedia

There are few heuristics which I generally use while doing testing. One of them is “To solve a big problem let it divide it into smaller ones”. I learned this heuristic in one of the workshop by Pradeep Sir.

Recently when I visited the Blog of James Sir, I found a puzzle challenge. The Puzzle was:
Find the missing 13th number in this sequence:
77, 341, 923, 1547, 608, 2116, 377, 2263, 518, 1394, 3182, 1645, _____, 944, 4636 …”
I always love to play with numbers and so I thought to find the 13th number in the series.

My approach: I noted down the series in WordPad and started to apply different arithmetic operators. Nothing found. I left the exercise (Hopeless!!!!)
Next day I have started again from scratch. As I already played with them so I knew simple arithmetic operation would not help me. Then what should I do? How to find the missing number?
I was just gazing the numbers like an idiot and expecting them to tell me what the pattern hiding in the series is. At this moment, suddenly an idea came to my mind: Apply the heuristic which I learnt in the workshop.
To solve a big problem let it divide it into smaller ones
I was not sure that it will solve the problem, but there might be some logic which could help me to solve the problem. So I started to use the heuristic and I hit the Bull's Eye. After applying the heuristic, I not only got the answer but also found the two patterns in the series. The pattern in the series was awesome which is difficult to find by simply applying the arithmetic operations or any formula.
I am not solving the puzzle here so that you can find the solution of the problem with your own and share your approach of solving the problem here.

P.S.: I am posting the solution in comments section for those who want the solution of the puzzle but I wish you to try yourself before looking the solution.

Wednesday, March 31, 2010

What is your sentence?

Scene -1

Sir, there is an issue here.

What issue?

We are populating the date and time by default; but the date and time is already scheduled for another appointment. What’s the use of populating the data if user needs to change the data?

So what do you want? We are displaying the current date and time here. Client has gone through the module and he didn’t complaint about it, then what’s the problem?

Earlier we don’t have the functionality to display the next available schedule. Now when we have the function, we can implement the function here. It will increase the usability.

Hmmm…. Ok, we will see later.

Scene -2

Hey Jags, There is an issue?

What issue?

Look at this buddy. In the month view of the appointment scheduler, you are displaying the appointments for each day. User is able to create the appointment by clicking on a day. But when user clicks on the days of next month in the current month view, the appointment form doesn’t open although you are displaying the appointments for that day.

It’s not possible. To create the appointment for next month you have to go to the next month view.

But if you are displaying the appointments of next month here then user wishes to create the appointment from here too.

It’s not possible.

But the same functionality is already implemented in Google calendar then why it’s not possible.

Client didn’t complaint about this issue. We will do it when client will ask.

If it is not possible then how will you do it then?

Everything is possible what client wants. We have other tasks too so we can’t do it just for your satisfaction.

You are not developing the things to satisfy me. We all here are working for client satisfaction.

Tester went to his Project Manager. He detailed the issue to PM.

Hmmm…. Ok, we will see later.

Scene -3

Sir, the module is still under test. There are few issues which need to be fixed before uploading the client site.

Is there any show stopper?

No Show stopper is there but there are many minor issues which can not be ignored.

Hmmm…. Ok, Let us upload the module today as we promised him. You carry on your test, find the bugs and assign them. After bug fixing we will upload the changes.

Next day, Client logged the issues.

Scene -4

Why did you disclose the issues to client when he was unaware?

He wants to know the issues in the module.

He was not aware of those issues. You could hide them easily. We could fix them afterwards.

Later if he finds the issues, he can conclude that I am not a good tester for his project.

We would handle the situation in that case. Now he is demanding for the major changes in the module which can cause late delivery and hence deduction in billing. You are on responsible designation. I was not expecting this from you. Well, never repeat the same.

Scene -5

Hey Jags, This is not right. Client wants to do the things in this fashion. What you are doing is incorrect. Do it in this way

Hey man, we are the developers, not God. Why you don't accept the simple things.

It is not simple. It is buggy. Client is asking for a dinner chair and you are giving him Potty Chair. Do as I said, it is the right approach.

Hmmmm....

After three days:

Congrats Jags, Client has really liked the module. Well Done boy. I was not sure that he would like the module. Good Job.

What does your Manager say:

On Scene -1

I am agree that it increase the usability but as I said Client didn't ask for implement the changes here. There is lot of work in the project, we can't spend time for the things for which client doesn't care. So I put the things on hold.

On Scene -2

This is a valid issue but if client didn't make a complaint it means he is satisfied with the current feature. In the limited time line we can't provide everything to client. We have put the issue in our To-Do list and if we can get enough time, we will surely fix the issue.

On Scene -3

Bad things are better than nothing. I have promised to client that I would deliver the module on particular date. Postponing the delivery can cause the bad credibility. So I decided to upload the module.

On Scene -4

Due to your stupidity, Client has known the issue which we could deal later. He gives us a long list of changes which has put us back from the schedule. The client will deduct the payment if project is not delivered on scheduled date and you'll be the only one responsible for the situation.

On Scene -5


I never knew that you also contributed so much in the module. I thought it was Jags who developed the module alone. I really appreciate your efforts but you must also agree that Developers are the real contributor in a project; if they are not there no project could take a shape. Your work depends only on their work.

What is your sentence?

Now as a tester what is your response? Are you agree with the Project Manager or you have different sentence. Share your point of view as Comments.