Patent ID: 8650552

Claim:
A method for testing an application for a mobile computing device, the method comprising: initiating an emulator configured to simulate operation of an operating system on the mobile computing device; accessing a device profile for the mobile computing device, wherein the device profile specifies one or more hardware components of the mobile computing device that are simulated by the emulator, wherein the one or more hardware components specified in the device profile are received from a user of the emulator; accessing a set of energy utilization specifications for the one or more hardware components, wherein each energy utilization specification in the set of energy utilization specifications specifies one or more operating states of one of the one or more hardware components, and an energy consumption of the one of the one or more hardware components per time unit for each of the one or more operating states of the one of the one or more hardware components during operations of the one of the one or more hardware components; executing, by one or more processors, one or more applications on the emulator, wherein executing the one or more applications comprises: tracking, during execution of the one or more applications, a utilization by the one or more applications of each of the one or more hardware components, wherein the utilization comprises data reflecting an amount of time spent in each operating state of each of the one or more hardware components; and determining, for each of the one or more hardware components, a simulated amount of energy consumed during the execution of the one or more applications based on the utilization tracked during execution and based on the set of energy utilization specifications, wherein each simulated amount of energy comprises a product of an amount of time from an associated utilization and a corresponding energy consumption per time unit from an associated energy utilization specification; and outputting a usage of energy by the one or more applications during their execution based on the simulated amount of energy consumed by the one or more hardware components, wherein the outputting comprises displaying, in real-time, a report comprising the simulated amount of energy consumed by each of the one or more hardware components as the one or more applications execute.