Say I am a QA person so I have no control over the complexity of the code in the following example.
I have a datatable widget with many different filtering and searching options. All the columns on my data table are also sortable.
There are many issues with components not working together. For example, if someone uses Filter A & Filter B together, it will break. Or, if someone uses Filter A and sorts by Column A, it will break.
One more example. If I have 3 columns, I want to test with column 1 active, column 1 & 2 active, column 1,2, & 3 active, column 2 & 3 active and so on.
How do I determine all of the possible states of the widget? If I have 5 columns and 6 filters, and the user can sort by as many columns and filters they want, how do I generate a list of the combinations I need to test?