Why does WP_Query show only the same post even with different categories and endwhile?

If you want your posts based on different categories you should use category_name or cat as category id. For example;

<?php $test = new WP_Query('cat=1&showposts=1'); // where 1 is the id of your cat ?> 

Or

 <?php $test = new WP_Query('category_name=errands&showposts=1'); ?>

Also, you need to call wp_reset_postdata(); after each WP_Query. I hope this helps

More on how to use categories in WP_Query

http://codex.wordpress.org/Class_Reference/WP_Query