Assuming you are looking at some kind of input, I presume your test case variables here are organized a little like this:
- Number of strings - 1, 2, 4
- Total length - 9, 10, 13, 15, 16
- Character set - alpha, special characters, numeric
- Casing - lowercase, uppercase
Your dependencies and limitations are probably:
- Only alpha character sets can have casing
- more than one string must include a separator (probably the space key)
- Number of strings and total length variables cannot be combined
- Character set and casing can be combined
That means you have:
- 3 possible string counts
- 5 string lengths
- Because character sets don't combine against themselves (that is, it's useless to have alpha + alpha as a character set variable) you have 7 possible character set groupings:
- alpha
- numeric
- special characters
- alpha + numeric
- alpha + special
- numeric + special
- alpha + numeric + special
- 3 casing sets
- Upper case
- lower case
- mixed case (upper + lower)
That makes the total number of character set + casing combinations 12: 3 casing options multiplied by the 4 character set groupings containing alpha characters.
So, if you choose to test each possible combination of string count, string length, character set, and casing you will have:
(number of strings)*(length)*(character set + casing)
or:
3*5*12 = 180 test cases