When you have an app in the App Store and are making an updates to the same, when it comes to test how an upgraded app will behave, Apple recommends:
Install an ad hoc distribution of an archived build of the update using iTunes on a device that already has the old version of the app installed.
In other words, don’t use Xcode to install/run your updated code tests. Reason being, Xcode pushes only changed files, which makes for a faster build process.
And in turn:
…using Xcode to install an app over an older old build can make a “frankenbuild” with legacy files it wouldn’t otherwise have. This can cause problems during testing and mask bugs.