Best Practices for Testing Applications on a Physical Device

All applications should rigorous functional, load, and performance testing on a physical device before deploying them to your end users. Because there may be differences between development, test, and production environments, always use a physical device to perform these tests over the same network type that your end users will use.

In some cases, applications that work on a simulator or emulator may fail once installed onto a device. The testing applications pro-actively exposes configuration or design issues early on. SAP recommends that you watch for these potential issues:
When Moving from a Simulator to a Device
Practice to Consider Object API Application REST API applications HTML5/JS Hybrid Apps OData SDK Application Agentry applications
Ensure the server node is available from outside the firewall. Simulators run on an internal network, so when moving to a WiFi or wireless network, connectivity occurs through a proxy or a Relay Server. Ensure you configure RSOE properties in SAP Control Center accordingly. See Configuring RSOE Connection Settings in SAP Control Center for SAP Mobile Platform. Yes Yes Yes Yes Yes
Ensure the application uses names the correct domain for security configurations and/or packages. Frequently, developers specify a different domain for testing environment. Yes Yes Yes. Yes  
When connecting to an EIS, ensure the credentials required by the endpoint are correct for the environment you are connecting into. If you have preproduction instance, these credentials may not be the same. Yes. Credentials are sent in the HTTP request. Yes. Credentials are configured in the proxy connection pool. Yes. Yes.  
For networks that use an HTTP proxy server, ensure connection pool used by the application has the EnableHttpProxy set to true. See Creating Connections and Connection Templates in SAP Control Center for SAP Mobile Platform.   Yes      

Add the corresponding proxy server values in the User Options for the SAP Mobile Server profile. For example:

-Dhttp.proxyPort=8080 -Dhttp.proxyHost=proxyName

See Configuring SAP Mobile Server to Securely Communicate With an HTTP Proxy in SAP Control Center for SAP Mobile Platform.

  Yes      
For BlackBerry devices the application also needs to be signed using the BlackBerry Signing Authority Tool, in addition to using the Blackberry code signing API for sensitive applications. For details, see http://supportforums.blackberry.com/t5/Java-Development/Protect-persistent-objects-from-access-by-unauthorized/ta-p/524282. For an example of how code signing is used, see Migrating BlackBerry Applications in Developer Guide: Migrating to SAP Mobile SDK. Yes        
For iOS devices, monitor memory usage once the application is installed on the device, particularly on iPhones. Since the memory is limited on iPhone devices, define and release local auto-release pools frequently. Frequent releasing allows the auto-released objects to be promptly flushed from memory. Yes        
For iOS devices, monitor memory usage once the application is installed on the device. Because memory is limited on iOS devices, define and frequently release the local auto-release pool. Frequent releasing allows the auto-released objects to be promptly flushed from memory. See Managing the Background State section in Developer Guide: iOS Object API Applications. Yes        
For iOS applications, ensure the application is adjusted to use the APNS API to receive push notifications. The APNS API can only be used on applications installed to a device. Yes     Yes  
Deploy network edge certificates signed by a real CA. HTTP connections, or self-signed certificates will not work once you try connecting from outside a firewall. Yes Yes Yes Yes