Energy Performance Testing of Smartphones: A First Look at Energy Bugs in Mobile Devices
Smartphones have revolutionized the way people live their daily lives, the way they communicate with each other and the way they access information on-line. A decade ago, desktop computers and laptops were the primary source to use internet and access on-line information. But with all the technological advancements, smartphones and tablets have taken over. An important factor that aided to the popularity of smartphones is different applications available on smartphones. These applications provide easy accessibility to almost everything. Whether a user wants to play games, watch videos, read books, access on-line information or check his/her email, there are applications for each and every one of them. These applications have greatly enhanced the user experience on smartphones.
According to an old saying, ‘everything comes at a price’. The same is the case with these smartphone applications. In addition to enhancing user experience and providing easy accessibility, they affect the smartphone battery consumption. They utilize the hardware resources and in turn consume the battery's energy. In comparison to the advancements in hardware and software industry, the development in battery technology is significantly slow. Even the battery energy density has little effect on the battery life with inefficient applications. Therefore there is a need: (a) for applications that efficiently utilize the smartphone battery, (b) to investigate the energy issues (energy bugs) in smartphones. For applications to be energy efficient, we need to have some testing methodologies so that the developers are aware of the energy consumption of their applications and can take appropriate measures while the applications are still in the development phase. Bugs are usually defined as an error in the system and energy bugs in smartphones are responsible for the unexpected and substantial battery drain. In order to research the energy bugs in smartphones, we need to have a comprehensive definition in context of software testing so that the developers can use it as a reference while testing their applications and improve the functionality of their applications.
With the above objectives in mind, in this thesis we have proposed and implemented a methodology to efficiently reduce the configuration parameters of smartphone applications that will help in reduction of test cases and will efficiently reduce the testing time. We also validated our methodology by measurements and experiments on four different smartphones. We have investigated the energy bugs in smartphones and have given a comprehensive definition to this phenomenon. We also validated our definition with measurements and experiments.