Use the specification for the test engine and set up rules for every type of search that it should be able to support. Then let it spider the web to find the information references before you fire off your tests. It is not that complex...
I think while testing 'Search' feature you should consider -(Might be my process would not be accurate but it worked for me).
- Pagination Numbers for search results should
- No repeatation of search results.
- Same number of records on each pagination.
- All search result should be able to be viewed.
- Should not provide search result for Keywords
like 'a','the','is' etc.
Apart from this you also need to check what are exact functionality expected from 'Search' Feature by getting requirements.
Search testing is a bit different from normal Testing
A very important factor for testing search is performance.Although just saying good performance is very subjective but u will have to consider the performance expectations of the engine before writing the cases.
Knowing the internal architecture and algos used will help a great deal.and ur cases should depend on that.
Load testing also will be a very important.
Part of the issue as well is how does your search engine handle text and special characters? Do you need to worry about international languages, ignore words, buffers, or hacks put into the search fields? The comments on stress and load are also very valid, depending on how your "search" works.
Nothing learns better than experience.
"So as I struggle with this issue I am confronted with the reality that noting is perfect."