It helps if you understand your game mechanics very well to gain an understanding of what is and is not possible.
For example, knowing the acceleration and maximum speed of your player character tells you if it is theoretically possible to move a certain distance in a certain time. You might not be able to pull it off, but if you do the math, you can calculate that it is possible if the player inputs are accurate within x
ms, which you consider within the abilities of the best players.
But theoretical understanding of your game is no replacement for the one most important thing when it comes to understanding a game: get testplayers. Find many testplayers of many different skill levels. When you aren't skilled enough to beat your own game, find someone who is. When you can't find anyone who succeeds even after lots of training, then succeeding might not actually be possible.
You can't find good testplayers? Then you can take the programmer's solution and just program your own. Add a system for controlling the player-character with pre-programmed timed inputs. Then figure out a sequence of inputs which beats a level. This might be a bit tedious, but it really pays off, because now you also have an automated test suit. Whenever you make a code change, run your test suit. If it fails to complete the levels it managed to complete before, you broke something. If it still succeeds, you know your game still plays like it used to. Such automated test suits can be a great time-saver when it comes to finding bugs. For a real world example, check out the video of the test suit for the game Factorio.