This screencast shows the workflow for making updates to features, and have those updates deployed on the testing (or live) site. Basically, the workflow is like this:
- Make sure you have the feature installed on the site where you do experiments.
- Make changes until you are happy with them. (If you want to wipe your changes, you can normally do this just by reverting the feature. Smooth!)
- When you're happy, recreate the feature. While doing this, you can also add new components (or remove old ones).
- Add the new feature on your development site, just to see that it looks the way it should.
- Get the new feature to your testing site, replacing the old feature.
- Make sure to revert the feature on the testing site, to make Drupal read relevant configuration from the new code instead of any stuff stored in the database. Also clear the cache.
- Done! (Or, rather, make sure that everything works the way it should, then you may deploy to the live site.)
To move files between different enivironments, and also version control changes, you probably want to use a version control system. Most Drupalists use Git, since it is the tool used for drupal.org projects.
It isn't mentioned in this screencast, but if you want to update a feature without adding/removing any components, you can use Drush. Drush is good.