This is tricky and subjective. From a programmer's perspective, you definitely want to test new features. You want to make sure you are not bored of your world, because if you are, players may be even less charitable. But it is tough to find anything new.
I find that focusing on one class of errors each run-through helps a lot. This goes for technical or nontechnical errors.
- The stuff that just changed is an obvious first candidate. If you make daily backups of your code and have WinMerge, you have a ready-made chunk of code to test.
- Maybe on one (early) run, you try default verbs (JUMP, WAVE, THINK, SLEEP)
- Other acceptable defaults are worth it, too: ABOUT, CREDITS, VERB(S), HINT(S), HELP, WALKTHROUGH
- Another, you try other commands like pushing or taking anything. In Inform, Juhana Leinonien's Object Response Tests lets you poke at a ton of stuff many different ways without repetitive typing. Even silly troll testing (BURN or CLIMB everything) is handy. Having one funny idea can spread.
- Another, you try talking to NPCs. Do they make sense? Do they say enough/too much?
- Another, try the verbs you yourself created for the game. Be sure they are clued and implemented. Try them as they weren't meant to be tried.
- Try abusing activities in any added extension.
- Imagine someone with a grudge against you is playing your game. What big things would they find? (Note: this isn't a good attitude to have in general. You may wind up fixing small bugs picturing some nitpicker. But it can help to look for the big stuff.)
- Imagine they will be upset with any exits not listed.
- Imagine they will be upset with any items not listed. (e.g. scenery)
- In Inform, run the game in release mode. It should be roughly the same as debug, but if it has debug messages or you mistakenly marked a verb as "not for release," that will catch it.
From a tester's perspective, you can poke at areas you avoided the last time.