Assuming things work just because you can run a program and not have it crash is a sure path to failure.
If you are using automating testing, that will catch a lot of issues before they become a problem – provided that you did a good job with your test coverage. But, either way run your program many times. Make sure to test every option, or combination of options. Try things that don’t make sense – put words in a number field. Try to break your program, and when you are done with that get it in front of other people and let them attempt to break it also.
Only then can you begin to feel confident that your program will do what you expect it to do and users won’t run into issues.
Well, I should back off that last statement – errors will still manage to show up and people will find them like magic. It is amazing how many things manage to get missed even after thorough testing.
So, just keep testing. Even if you think you’ve tried everything, try a few more things.