For most of the use cases, there is no need to 'prepare' the application under test.
You can use your application as is, and even test applications that are downloaded from the App Store.
In other cases (that are listed below) instrumentation is required. Instrumentation refers to a process where the testing code is running in the application process.
Anyway, the instrumentation process doesn't require the code of the application but just the compiled artifact (IPA / APK files).
The cases that instrumentation is required:
- An application that contains WebView (Hybrid application).
- Application with nonstandard UI elements.
- Give you more option to identify elements.
- Enable you to execute your tests faster.
- Use some advance coverage feature like camera image injection, telematics, integration with Siri...