Often, to simplify testing, I add UI controls that are only visible and enabled in debug build only. Or prepopulate mandatory input fields in debug build. Is this a bad practice? Assuming the release is tested too.
Main reason is to simplify fixing bugs - when the problem is in depths of your program, it's quite a pain to go through dozens of steps repetitively.
The way I did it so far is add "debug" button on the main form/page, leading to a form/page full of shortcuts to various places in the program.
This seems like a borderline code smell to me, so I was wondering if there are better ways.