The search bar is one of the most popular tools of the site. The quality of the internal search can have a huge impact on the loyalty of site users, and therefore affect the commercial success of the company.
Содержание
About types of testing
All types of software testing are applicable to the search function. Let’s list some of them:
- Load testing: you need to check the performance of the search module (or the search API, if it exists).
- Search security testing (for example, checking for various vulnerabilities: XSS, Code injections).
- Testing the usability of the search.
- Functional testing of the search.
- Checking the relevance of search results.
- Checking paired search queries.
About functional testing of search
Checks that can be made as part of functional search testing:
- The search bar in a site is usually not case-sensitive. Therefore, you need to check that the same search query in different registers leads to the same search results: for example, «REFRIGERATOR», «refrigerator», «ReFrIgErAtOr».
- Search results are usually displayed by pressing the «Search» button (or the magnifying glass image) or Enter on the keyboard. You need to check that both methods work.
- The search functionality can include various types of sorting for search results. For example, online stores are characterized by sorting by price, product rating, and delivery time. It will be useful to check that when sorting by price is enabled, the products found in the search results are actually sorted by the «price»attribute.
- Checking for text occurrence. 1) a random search object is taken: for example, an article in a website or a product in an online store. 2) a random word is used in the article (product name). This word is sent to the search bar. 3) Checks whether the initial article (or product) is presented in the search results for this word.
- Checking whether search suggestions work correctly.
- Selection of equivalence classes in a set of search queries. Checking multiple requests from each class. To distinguish equivalence classes, it is useful to study the types of search queries.
- From private to general. Consider two queries: «refrigerator» and «refrigerator Ariston». The «refrigerator» query is wider than the «Ariston refrigerator» query. The essence of the check is to make sure that the search output for the wide query «refrigerator» contains all the output for the query «refrigerator Ariston».
About evaluating the relevance of search results
Relevance of search results is an important characteristic of the quality of the search engine in the site. It shows how well the objects found by the search match the entered search query.
The relevance of search results can be evaluated in the following ways:
- Work of assessors — people who manually check whether a found document (or product) matches the search query.
- Evaluate the relevance of search results based on the site’s online metrics: the number of clicks on search results, the number of product additions to the cart (in the case of an online store).
About pair search queries checking
Paired search queries are a pair of queries whose search results are expected to be the same.
Examples:
- Synonyms: «dryer for vegetables and fruits» — «the dehydrator».
- A valid request and a request with a typo: «prograMMer» — «prograMer».
- A valid query and a query with a blank space: «chocolate cake» — «chocolatecake».
- Queries with different word order: «java developer» — «developer java».
- A valid query and a query with an incorrect keyboard layout: «recorder» — «кусщквук» (Russian keyboard layout).
- Morphology. Different forms of a word: «laptop» (single) — » laptops «(plural).
- Query and query with an optional auxiliary word: «monitor» — «buy monitor» (online store); «tester» — «tester vacancies» (job site).
Let’s imagine that one of the queries in the {query_1; query_2} pair already has a good relevance score. Then it is enough to compare the search results of query_1 and query_2. If the results match, we can conclude that the relevance score for another query is also good.
Thus, identifying paired search queries reduces the cost of evaluating the relevance of search results.
Cases that are specific to the theme of the site
Depending on the site theme, you can identify specific cases for internal search testing.
Case #1. Movies streaming service. Try entering the name of a famous actor in the search field, whose films are definitely in the service’s database. In the search results, we expect to see all the movies with his participation from the service database, and, possibly, a link to a separate page of the actor.
Case #2. Online book store. Enter the writer’s first and last name in the search bar. In the search results, we expect to see all the author’s books that are in the store.
Case #3. Online clothing store. Enter the name of the clothing brand in the search bar. We expect to see all products of this brand in the search results.
Case #4. Job search service:
- Try to enter the company name in the search form. In the search results we expect to see a link to the vacancies of this company or a link to the page of the company.
- Try to compare search results for queries-synonyms «Java developer» and «Java programmer». We expect to see similar results.