Testing every possible combination of inputs is theoretically the safest approach to software testing. It’s also practically impossible for anything beyond the simplest applications.
Take a web form with five input parameters, each with four possible values. Exhaustive testing of all combinations requires 4^5 = 1,024 test cases. Add a sixth parameter and you’re at 4,09...