Say I have a page with search function. The search function has 21 search criteria. If I want to test all combinations of criteria can be used, to calculate the number of times to test should be 21! Factorial = 51090942171709440000 times. So my question is, other than testing only the individual function of each searching criteria, how to test for the combinations of searching criteria in this case? By prioritizing only the important criteria or how?

Some example of search criteria includes,

  • created time from,
  • created time to,
  • created by,
  • updated time from,
  • updated time to,
  • is mapped,
  • league name.
  • home name,
  • away name,
  • system league name,
  • system home name,
  • system away name,
  • is special,
  • is ignored,
  • sport type,
  • is opened, etc,

user can use to search the sports game based on the criteria matched


1 Answer 1


If you had 3 search criteria A,B,C would you test A,B,C and C,B,A both with same values? Because that is what 3! would provide you with, all possible scenarios, not all testable scenarios.

You should test a search function outside in, meaning:

  • you should decide expected search results first,
  • then create a map where the 21 search criteria will be plugged in to produce those search result
  • It will be like as if your results are predecided, you are trying to generate them using 21 search criteria

The total number of possible search result is not dependent on your search criteria, it is dependent on your inventory / database. Your total number of tests should not be a function of possible inputs, it should be of expected outputs

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.