You test all possible executions of your program when you test with all possible data inputs, which is infinite.
I try to only use random data when possible, less and smaller tests to write with a proper setup. End result: more bugs found.
Random data is a great method of testing.