Testing AutoSuggest functionality – Verification of Autosuggest list:
I am taking an example of a text box that will suggest city names from a list of cities according to inputs entered by user. Suggestions displayed are list entries that start with the string given as input. The maximum display limit of suggestions will be 10. The list of suggestions should be displayed in ascending alphabetical order.
1. Enter 1 character in the autosuggest field for which values are not present in the auto suggest list.
Eg. Enter “x” when there is no city name in the list that starts with ‘x’
>> No suggestions should be given to the user
>> On replacing the “x” with a character that is the first letter of a city in the list (like “n”), suggestions will be given to user accordingly (cities whose name starts with ‘n’)
2. Enter 1 character in the autosuggest field for which values are present more than the max display limit of auto suggest list. (Max limit + 1)
For example, there are 11 cities with names starting with “h” in our database. So, we enter “h” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the letter “H”
>> Suggestion list should display only 10 out of the 11 available cities.
>> Confirm which 10 of the records should be displayed, and which 1 city should be ignored (should be mentioned in the requirements)
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
3. Enter 1 character in the autosuggest field for which count of values present is exactly equal to the max display limit of auto suggest list. (Max limit)
For example, there are 10 cities with names starting with “L” in our database. So, we enter “L” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the letter “L”
>> Suggestion list should display all the 10 available cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
4. Enter 1 character in the autosuggest field for which count of values present is exactly 1 less than the max display limit of auto suggest list. (Max limit – 1)
For example, there are only 9 cities with names starting with “E” in our database. So, we enter “E” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the letter “E”
>> Suggestion list should display all the 9 available cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
5. Enter 1 character in the autosuggest field for which count of values present is exactly 1.
For example, there is only one city that has its name starting with “Y” in our database.
So, we enter “Y” in the input field, and check the suggestion list
>> Only the city name starting with the letter “Y” should be displayed in the list
>> Suggestion list should display the city name that starts with “y”.
6. Check for case-sensitivity
>> Suggestions provided for “H” should be the same as those provided for “h”
>> If suggestions are not provided for “x”, they should not be provided for “X”
>> If records are displayed, the input string should be highlighted in the records that are displayed in the suggestion list.
7. Assuming, cities exist whose names start with “H”
Enter “H”. Remove the character using backspace. Enter “h” (or vice-versa; replacing “h” with “H”)
>> Suggestions provided for “h” should be the same as those provided for “H”
(I found a bug in Google search with this test case)
8. Verify that user is able to select any value from autosuggest list
Assuming, at least 3 cities exist whose names start with “H”.
>> After user enters “H”, user should be able to select any value using only the keyboard (up & down keys)
>> After user enters “H”, user should be able to select any value by clicking on it
>> User should be able to select the first displayed suggestion
>> User should be able to select a suggestion in between extremes (the 2nd one)
>> User should be able to select the last displayed (3rd) suggestion
9. Enter 1 character in the autosuggest field for which values are present in the auto suggest list. Then, replace it with another character for which values are present.
Eg. Assuming cities starting with letters ‘s’ & ‘t’ exist in the test list
Enter “s”. Remove the character using backspace. Enter “t”
>> On entering “s”, suggestions should be displayed with city names that start with “s”
>> On pressing backspace, the displayed suggestions should be removed (hidden from view)
>> On replacing the “s” with “t”, suggestions will be given to user accordingly (only cities whose name starts with ‘t’)
10. Enter 1 character in the autosuggest field for which values are present in the autosuggest list. Then, replace it with another character for which values are not present.
Eg. Assuming cities starting with letter ‘s’ exist in the test list, and there are no city names that start with “x” in the list.
Enter “s”. Remove the character using backspace. Enter “x”
>> On entering “s”, suggestions should be displayed with city names that start with “s”
>> On pressing backspace, the displayed suggestions should be removed (hidden from view)
>> On replacing the “s” with “x”, no suggestions should be given to the user
11. Enter 2 letters such that city names starting with 1st letter exist, but city names starting with the 2 letter combination don’t.
For eg., we have cities that have names starting with “s”. But, there is no city name that starts with “sd”.
Enter “sd”, and check the displayed suggestions.
>> No suggestions should be given to the user
12. Enter 2 letters such that city names starting with 2nd letter exist, but city names starting with the 2 letter combination don’t.
For eg., we have cities that have names starting with “d”. But, there is no city name that starts with “kd”.
Enter “kd”, and check the displayed suggestions.
>> No suggestions should be given to the user
13. Enter a 2 letter combination such that the count of city names starting with the 2 letter combination is more than the max display limit of auto suggest list. (Max limit + 1)
For example, there are 11 cities with names starting with “ha” in our database. So, we enter “ha” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the string “Ha”
>> Suggestion list should display only 10 out of the 11 available cities.
>> Confirm which 10 of the records should be displayed, and which 1 city should be ignored (should be mentioned in the requirements)
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
14. Enter a 2 letter combination such that the count of city names starting with the 2 letter combination is exactly equal to the max display limit of auto suggest list. (Max limit)
For example, there are 10 cities with names starting with “Le” in our database. So, we enter “Le” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the string “Le”
>> Suggestion list should display all the 10 available cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
15. Enter a 2 letter combination such that the count of city names starting with the 2 letter combination is 1 less than the max display limit of auto suggest list. (Max limit – 1)
For example, there are only 9 cities with names starting with “Ed” in our database. So, we enter “Ed” in the input field, and check the suggestion list
>> All city names displayed in the list should start with the string “Ed”
>> Suggestion list should display all the 9 available cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
16. Verify that user is able to select any value from autosuggest list after entering a 2 letter combination.
Assuming, at least 3 cities exist whose names start with “Hu”.
>> After user enters “Hu”, user should be able to select any value using only the keyboard (up & down keys)
>> After user enters “Hu”, user should be able to select any value by clicking on it
>> User should be able to select the first displayed suggestion
>> User should be able to select a suggestion in between extremes (the 2nd one)
>> User should be able to select the last displayed (3rd) suggestion
17. Enter 2nd,3rd, 4th char (and so on..), and verify the values displayed in the autosuggest list.
>> Suggestions should keep getting updated according to the newest letter added as input
>> The input string should be highlighted in the records that are displayed in the suggestion list.
>> If we have a city “Ahmedabad” in our list, and there is no other record that starts with the string “Ahmedabad”. When we enter “Ahmedabad” as our input, only one suggestion of the city should be displayed (duplicates should not be present, and full name should narrow down the suggestion list).
18. Copy-Paste should work.
Assuming cities starting with letter ‘Si’ exist in the test list
Copy the string “Si”, and paste it into the text box
>> All city names displayed in the list should start with the string “Si”
>> Suggestion list should not display more than 10 cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
19.Enter first character as special character and verify the autosuggest list.
Eg. Assuming cities starting with letter ‘s’ exist in the test list.
Enter any special character (like +,_,*,$,etc…), and then enter “s”
>> Confirm requirements. One of the two results might occur:
i) No suggestions should be given to the user
ii) Special characters should be ignored while checking inputs, and suggestions should be displayed to you for city names that start with “s”
20. Enter a city name that contains a special character. Check for all possible special characters.
Eg. “St. Louis”, “New Delhi”, “Chittur-Thathamangalam”, “Daman & Diu”,”O’ Valley”
>> Proper suggestions should be displayed to user if the cities exist in the list
21. Check what happens when you enter names with non-english special characters.
Eg. “Orléans”
>> Confirm requirements
22. Without entering anything in the search text box, click Search icon or hit enter key
>> Confirm requirements. If city is mandatory, user should be displayed an error, otherwise, results should be displayed according to default.
23. Without selecting anything from suggestion list, hit enter key or click search icon
Eg. Enter a full city name like “New Delhi”, and hit enter key or click search icon.
>> If requirements require selection, an error should be displayed to the user
>> Otherwise, results should be displayed for the city “New Delhi”
24. Enter a city name that is not present in the suggestion list, and hit enter key or click search icon
Eg. Assuming “Paris” is not in our list, and hence will not be displayed as a suggestion in any case.
Enter “Paris”, and hit enter key or click search icon.
>> An error should be displayed to the user
25. Check scenario where a city name contains more than 1 word.
Eg. If “New Delhi” is in the test list,
Enter “New” and check auto suggest list. Enter “Delhi” and check auto suggest list.
>> If users are likely to enter a word other than the first for the city name, entering the contained words (other than 1st word) should also display the city name in suggestions.
As in India, people are as likely to call the city “Delhi” as they are to call it “New Delhi”, the suggestion list should display “New Delhi” when either of the “New” or “Delhi” is typed by the user.
26. Check by entering input with a preceding space character
Eg. Assuming cities starting with letter ‘s’ exist in the test list.
Enter a space character (” “), and then enter “s”.
>> Preceding space character should be ignored, and suggestions should be displayed to you for city names that start with “s”.
>> Suggestion list should not display more than 10 cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
>> The matching text should be highlighted in the auto-suggest list
27. Check by entering input with a succeeding space character
Eg. Assuming cities starting with letter ‘s’ exist in the test list.
Enter “s”, and then enter a space character (” “).
>> Succeeding space character should be ignored, and suggestions should be displayed to you for city names that start with “s”.
>> Suggestion list should not display more than 10 cities.
>> Check the sorting order of display of the suggestions. (According to given requirement, the list of suggestions should be displayed in ascending alphabetical order.)
>> The matching text should be highlighted in the auto-suggest list
28. Check handling of input to be entered that can be called by different names (different spellings).
Eg. In our example of city names, a city can have an old name, and a new name. The name of a city called “Baroda” was changed “Vadodara”. A user is likely to type in any of the two names.
>> Confirm requirement on whether the user should be displayed the new name in suggestion list when typing old name, or whether both the names are to be treated as independant & separate records.
29. Enter some characters, select a value from the auto suggest list, delete the value from the text box, then enter a different input and select from auto suggest list.
Eg. Assuming “Mumbai” and “Chandigarh” are in the test list.
Enter “Mum”. Select “Mumbai”. Clear the input text box, and then type “Cha”. Select “Chandigarh”
>> The last selected value (“Chandigarh”) should be displayed as selected. On hitting enter key or clicking button, results should be displayed according to input = “Chandigarh”
30. If values in auto suggest list come from more than one categories, check display of the list values on entering input
>> Confirm requirements on the sorting order of values to be displayed from across categories.
>> Check that all related values from across categories are displayed in the auto suggest list. None of the available categories should get missed out
31. Check that the auto suggest functionality works as expected across various browsers and their different versions. (Cross Browser compatibility check)
32. In all pages where the auto suggest is implemented, check that existing functionality of page is working properly. At times, javascript errors occur, or the new code starts interfering with the existing functions.
33. Check widening of suggestion list when characters are removed from input field.
Eg. Assuming there are 11 cities with names starting with “ha” in our database, and there are 6 cities with names starting with “hal” in our database.
Enter “HA”. Enter “L”. Remove “L”.
>> On entering “HA”, 10 cities should be displayed in the suggestion list (max. limit)
>> When “L” is added to make it “HAL”, suggestion list should be updated to display only the 6 cities that start with “HA”
>> When “L” is removed to make the input “HA” again, suggestion list should be updated to display the same 10 cities that were being displayed earlier (before typing “L”).
34. Check how drag-drop of text is being handled by the input text box
Eg. Assuming city “Pune” is present in our database, and the page containing the auto suggest functionality input box also has the text “Pune” written somewhere in it.
Drag-drop the text “Pune” from the page into the input text box
>> “Pune” should be displayed in the suggestion list to the user
Along with my own list of test cases, I also used the list in given link as guidance material. A very big thanks to the writer! 🙂