Depends whether you are testing UI (front-end) or data (back-end). Appengine supports multiple versions which access the same dDatastore, essentially different front-ends talking to the same back-end. If you are doing development which will not contaminate your data, and can be tested without contaminating your data, you can just do it on a development version. It's easy to later traffic split or set this to the default version.
If you are changing data - say, refactoring the way you store your users and entities - then you need to have a separate appengine app to develop and test that. You can backup and download the datastore from the admin console, as well as copy the data to another app, from Data -> Datastore Admin on the left. It is documented here. I don't think there is an API to do this, although it would not be much code to write. I have a script to backup / restore Text Search data (which the admin console does not support), and it's only a few hundred lines.