Selecting correct entities and fields in Rules
Rules Module

Rules has a built-in debugger that can be fairly useful to see what was passed to your rule.  It can be found and enabled at admin/config/workflow/rules/settings



Devel Module

The Devel module is another tool that is very valuable when debugging Rules. If you are working with custom code there are two functions in particular that will save you tons of time.

dd() and dpm(). 

dd() will write debugging data to file.  Generally to /tmp/drupal_debug.txt on *nix based systems.

dpm() will display debugging data to screen, but may be a little less useful when debugging rules as redirects at times can cause issues while viewing.

Usage Examples

dpm($form);
dd($form_state);


Rules is an incredible module, but debugging can be a pain for sure.  I would be happy to clarify if the above doesn't answer your question.