Change checkboxes in a node edit form alter
But when I change the value of the select list, the ajax doesn't seem
  work and options stay the same.


Simply because there is no db_query logic inside the ajax_options_choice callback.

How is Drupal suppose to know that it needs to run again the results db_query and then assign it to #options? 

So essentially, currently, AJAX is executing, but you're just returning the same value that was calculated on initial page load.




  Which ways can I test the ajax works or not?


function ajax_options_choice(&amp;$form, &amp;$form_state) {
  drupal_set_message('Yes AJAX was called');
  dpm('yay dpm works!'); 
  watchdog('my_module', 'ajax was fired', array(), WATCHDOG_NOTICE); // now check /admin/reports/dblog
  return $form['field_options'];
}