Software development is full of uncertainties.
Testing isn't.
I'm starting to suspect you're trolling, but ...
Welcome to my world, where few developers (me included) have any real idea how the product is used, and it's up to test to find out. Then approximate this by designing long-term stability tests etc (fighting the limitations of the in-house environment simulators). Then run and manage these. Then when something happens, answer questions like:
Is this important to a real customer?
Is it caused by the product or the test environment?
Can I convince others this is a bug?
Can I do anything to narrow it down, or help the developer in some other way?
There's also customer problems: a tester is often the most important person when a high-prio bug report comes in, because it's critical to find a way to reproduce the problem.
(Several times we've had to hack the product, and the test tools, and the test data, and come up with new techniques to do that. That means very close cooperation between three or four disciplines.)
Overall, there's plenty of challenging work to do, it covers many areas, and you get respected for doing it. And it's work at least as full of surprises as the programming bit.