How To Test a Search Engine?
Have any of you written test cases for the testing of a search engine or a search field on a website? I've run some "front-end" test cases, basically inputting several different search strings and ensuring that the search string is contained in each of the returned links/stories, etc...
What can be tested on the backend? Any log files one should check when testing a search engine? I guess the best question might be, "What tests do the QA engineers at Yahoo, Excite and Lycos run?"
Re: How To Test a Search Engine?
Stevew, I would reccomend you to read something about syntaxis testing.
It's fairly good described in "Black-Box Testing" by Boris Beizer. It can
give you some ideas how to compose logical queries for checking if Search
returns logically correct results. I believe that some Basic ways for
finding most obvious problems are.
1. Empty string is given (search should return 0 results or should not allow
to Start Search)
2. Only * is given (If Search supports wild charts). This case search should
return a message about producing too many results or no results.
3. Try the words, which definitely used in every sentense. Such as articles
the, an, a. See what Search returns in this case.
4. Try replacing some character in the query with ? (For wildcharts support)
and to check such replacing slightly changes number of returned results or
doesn't change it at all.
5. Try to compose logical queries with the length equal to maximum length of
search string and to check if it's processed correctly.
6. If Search supports NOT operation, try following trick. Check some query
for results and then perform Search with double applying NOT operation to
original query. If results are different, then something might be incorrect
7. If Search supports marking found words in text, you will need to verify
(better to use test automation for such purposes) that only correct words
are marked in text.
To perform more detailed Search, you will probably need some test automation
which performs independent Seach in engine databases and verifies that
results given by Search engine are correct.
Hopefully it will help.