Wednesday, January 20, 2010

Test local search engine

Search must work for all inputs. There is no invalid data for search. System should perform search for all input provided by user and show respective result(found/not found).

1. Try XSS injection - Enter the following script in search field and hit enter button

It should not execute the script. It should show a message saying no match found for your search.

2. Try to search keyword with special characters in it (!, @, #, $, %,^, &, *,(,_, -, +, =, `,~).
URL encoding must be done and hence should not result in bad URL request error.

3. Try to search keyword with space besides the keyword on right and left.
It must trim the spaces, fetch the matching records, and show it as results.

4. Check the max and minimum keyword size that can be searched. Depends on requirement.

5. Search without entering any keyword. System must instruct user to enter keyword and then search.

6. Perform search and bookmark the results page.
This page must be accessible anytime later.

7. Manipulate the bookmarked URL with new search.
Search should work and show corresponding result.

8. If wild card search is allowed, then nearest matching result must show up first and then follow with least matching result.

9. Pagination if any must be checked. Alpha pagination if any - starting letters in result set only must be highlighted in the pagination.
Numerical pagination count must be correct. Showing X1-X5 of XX must be verified.
On 2nd page, this pagination message must be X6-X10 of XX.

10. Search field must be focused if there is no other field on the page.

11. Search must work without depending on mouse also. Must support Enter key.

12. Disable javascript. Search must support and work without javascript also.
Check error scenarios with javascript disabled.

13. Try search with mixed case - "SeArCh" It must work.

14. Search keyword with apostrophe. "/" must not appear in search result.

15. Search keyword must be retained in search field anytime a search is performed.

16. Try to search keyword with maximum and minimum limit. It must work.

17. Try to search keyword with less than minimum and more than max limit. It must show error message.

18. Search keyword must be shown on page title, URL also - to enhance SEO.

19. If look ahead completion is provided for search, then it must work be case in-sensitive and also must work for keyboard keys also(up, down arrows; enter key)

20. Pagination using AJAX is not SEO friendly as of today. So, avoid AJAX pagination.
Google search engine doesn't recognize AJAX calls, and hence doesn't index the paginated AJAX links.

21. Bookmark the 2nd page of search result which is implemented without AJAX. Clear cache, cookies, session and open the bookmarked link. It must support "Next" and "Previous" links.
Also, the search keyword used while bookmarking must show in the keyword search field.

22. View the site with a text browser ( Eg: http://www.delorie.com/web/lynxview.html). This is nearest to search engine's view of the site.

Note: Will update the above list as I explore.

2 comments:

Thamizh said...

Anisha,

Nice information for all web developers. Keep it up.

Ajisha said...

Thanks Thamizh