Your main goal is to get feedback early and often as possible. As there are many tools available at your disposal it's usually up to you to determine the best approach for testing which can rely heavily on available resources, deadlines, etc. Each project is unique so your process may (will likely) be different for each one.
Due to the speed and lowest amount of overhead, starting off with sketches will have the fastest turnaround when it comes to getting feedback. I tend to start off with sketches or whiteboard with a majority of the projects I work on, complex or not.
If you need something more presentable you can design out a more hi-res version of the screens and create clickable prototypes using Marvel App or Flinto. Both of those apps allow you to create prototypes (both lo or hi res) in the shortest amount of time to allow for quickly validating your design hypothesis via user testing. I have used both for testing internally and with users in the past and they worked fine. Most of the time, with design in hand, you can get a working prototype together within 20 min, without touching a line of code.
I'd stay away from sites such as dribbble for any valuable feedback as you need to focus more on getting a working product (prototype) into the users hands as early as possible. Dribbble feedback tends consist of the "Nice!" and "Cool colors!" type of feedback which doesn't help any.