AST2012 TestingMobileApps

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Software Testing of Mobile Applications:

Challenges and Future Research Directions

Henry Muccini Antonio Di Francesco Patrizio Esposito


Dipartimento di Informatica Dipartimento di Informatica Dipartimento di Informatica
University of LAquila, Italy University of LAquila, Italy University of LAquila, Italy
henry.muccini@di.univaq.it antonio.difrancesco84@gmail.com patexp80@gmail.com

AbstractWhile mobile applications are becoming so ex- engineering approaches are required to test those applica-
traordinarily adopted, it is still unclear if they deserve any tions [17].
specific testing approach for their verification and validation.
But, are mobile applications (so) different from traditional
This paper wants to investigate new research directions on
mobile applications testing automation, by answering three ones, so to require different and specialized new testing tech-
research questions: (RQ1) are mobile applications (so) different niques (RQ1)? And if so, what are the new challenges and
from traditional ones, so to require different and specialized research directions on testing mobile applications (RQ2)?,
new testing techniques?, (RQ2) what are the new challenges and which is the role automation may play in testing mobile
and research directions on testing mobile applications?, and
applications (RQ3)?
(RQ3) which is the role automation may play in testing mobile
applications?. We answer those questions by analyzing the Goal of this work is to provide an answer to those
current state of the art in mobile applications development research questions. For answering RQ1, we first analyze
and testing, and by proposing our view on the topic. what a mobile application is or is going to be (Section II-A).
We look at mobility and context-awareness as the most
peculiar characteristics of mobile applications, and based on
I. I NTRODUCTION
those, define two types of mobile applications. Then, we
Applications running on mobile devices (e.g., mobile analyze how mobile applications peculiarities drive special-
applications running on smart phone or new generation ized research on mobile applications testing (Section II-B).
tablets) are becoming so popular that they are representing a Section III helps to provide an answer to RQ2 and RQ3,
re-volution in the IT sector. In three years, over 300,000 mo- by identifying challenges and future research directions
bile applications have been developed (mobithinking.com), on automated testing of mobile applications. We outline
they have been downloaded 10.9 billion times in 2010 the most relevant aspects in systematic testing of mobile
(www.idc.com) with a forecast of 29 billions applications applications, followed by a brief analysis of state-of-the
downloaded in 2011 (www.abiresearch.com) and a predic- art solutions, and future research directions. Section IV
tion of 76.9 billion global downloads in 2014 that will be concludes this paper.
worth US$35 billion (www.idc.com).
While mobile applications were initially developed mostly II. M OBILE A PPLICATIONS I MPLICATIONS ON T ESTING
in the entertainment sector, they are now touching more Are mobile applications (so) different from traditional
critical domains: think about the NFC or SQUARE ones, so to require different and specialized new testing
(https://squareup.com/) technologies intended to revolution- techniques? While some studies have analyzed additional
ize the current payment system, to the m-government requirements of mobile applications not commonly found in
(www.mobih.org/resources/) and mobile-health initiatives1 , traditional ones [17], this section wants to investigate how
or to the huge amount of enterprise and industry-specific mobile applications testing differs from testing traditional
mobile applications expected to be produced in the next applications.
years [2].
The exponential growth of this market and the criticality A. What a Mobile Application Is
of the developed (or, to be developed) systems impose an
increased attention to dependability aspects of applications A mobile application is vaguely defined as an application
running on them. As demonstrated in some studies [7], running on mobile devices (see [7], [17]) and/or taking in
[9], mobile applications are not bug free and new software input contextual information [5]. In order to improve our
degree of knowledge on the topic, we decided to analyze
1 See for example: http://www.imedicalapps.com/, http:// iphonemedi- the role of mobility and context-awareness on mobile appli-
calapps.com/, https://market.android.com/apps/ MEDICAL?hl=en cations.
In mobile computing an application is considered to be B. Implications of Mobile Application Peculiarities to Soft-
mobile if it runs on an electronic device that may move ware Testing
(e.g., mp3 readers, digital camera, mobile phones). Satya- By keeping in mind the difference between Apps4Mobile
narayanan in [13] synthetically captures the uniqueness and and MobileApps, this section highlights how mobile
conceptual difference of mobile computing through four applications differ from traditional desktop applications and
constraints: limited resources, security and vulnerability, the implications on software testing. This analysis, while
performance and reliability variability, and finite energy building on mobile applications peculiarities defined in [17]
source. and mobile context-aware applications peculiarities [14],
In context-aware computing, instead, an application is [5], [13], re-shapes and extends available knowledge by
aware of the computing environment in which it runs, and looking at it from a testing perspective. Table 2 summarizes
adapts/reacts according to its computing, user, physical, or peculiarities and implications discussed in the sequel of
time context [14], [5]. Schmidt in [15] categorizes contextual this section.
information into human factors (i.e., user, social environ-
ment, and task) and physical environments (i.e., location, in-
frastructure, and physical conditions). Challenges in context-
aware computing are represented by contextual sensing (e.g.,
location, time, nearby objects, orientation, social contexts),
contextual adaptation/reconfiguration, context-triggered ac-
tions, and contextual resource discovery [11], [14].
Figure 1 summarizes our view on mobile applications
by classifying them in two different categories: traditional
applications rewritten to run on mobile devices (e.g., web
navigation and searching, social networking mobile appli-
cations, collaborative work applications) hereafter referred
as App4Mobile, and mobile applications that make use of
contextual information to generate context-based outputs
(denoted as MobileApps). As a direct impact on testing, Figure 2. Table
App4Mobile applications inherit the peculiarities of mo-
bile applications (e.g., mobility, autonomy, and connectiv-
ity) [13], while MobileApps inherits the challenges associ- 1) Peculiarities of Apps4Mobile Applications and Im-
ated to context-aware applications as well. plications on Software Testing: The main peculiarities of
From a testing perspective, we thus define an App4Mobile Apps4Mobile are:
as an application that, driven by user inputs, runs on a Mobile Connectivity:
mobile device with limited resources. A MobileApp is a Peculiarities: mobile connectivity is one of the most
particular App4Mobile that inputs data from the (potentially peculiar, as well as critical, characteristics of a mobile
evolving) environment surrounding the mobile device and/or application. Mobile applications typically connect to
from user actions, producing context-based outputs. mobile networks, that may vary in speed, security, and
Different testing techniques will be required for those two reliability.
types of mobile applications. Implications on Testing: the application reliability, per-
formance, security, and correct functioning strongly
relies on the available connectivity type. Functional and
extra functional testing has to be performed in different
connectivity scenarios and networks. Bugs related to
unreliable Wi-Fi, 3G, or bluetooth connections have
been reported [1].
Limited Resources:
Peculiarities: while mobile devices are becoming more
and more powerful, their resources are still far away
from those available on a laptop or desktop computers
(e.g., the most powerful iPad can account for a modest
-if compared with laptop devices- 512 MB of RAM,
Figure 1. Types of Mobile Applications
64 GB of disk space, and 1 Ghz dual core CPU).
Implications on Testing: mobile applications resource
usage has to be continuously monitored so to avoid per-
formance degradation and incorrect system functioning. selection techniques and coverage criteria have to be
Actions have to be taken in case of resource shortage. produced. Bugs associated to contextual inputs are quite
Autonomy: frequent [1].
Peculiarities: differently from desktop or laptop com- Adaptation:
puters, mobile devices can never rely on an electrical Peculiarities: MobileApps may adapt and evolve driven
outlet for functioning. Different mobile applications by contextual information. Such an evolution may
may require very different energy consumption. Con- happen during the application operation and without
sidering that a 200 hours stand-by autonomy of an stopping the service. The application dependability may
iPhone 4S drops to 9 hours when a Wi-Fi connection be impacted by unforeseen, run-time adaptations.
is enabled, and to 6 hours when a 3G connection is ac- Implications on Testing: approaches for testing the
tive, an application requiring full time 3G connectivity application correct adaptation/evolution have to be de-
strongly impacts the device autonomy. Reduced auton- veloped.
omy can be an issue (e.g., patches have been produced 3) Other Peculiarities Related to Mobile Applications
to fix battery life issues2 ); autonomy improvement can in General: This paragraph lists peculiarities that, while
instead be a business advantage3 . not directly ascribable to MobileApp or App4Mobile
Implications on Testing: as for the limited resources applications, may introduce new testing issues for mobile
issue above, the energy consumption of mobile appli- applications.
cations can be evaluated through testing or continuous
monitoring. New Mobile Programming Languages:
New User Interfaces: Peculiarities: programming languages of mobile appli-
Peculiarities: when developing a mobile application, cations have been designed for supporting mobility,
developers have to follow some strictly defined guide- managing resource consumption, and handling new
lines for producing mobile applications GUIs. Mobile GUIs. Objective-C, for example, uses the UIKit frame-
applications may in fact look differently depending on work for implementing GUIs, and it is a dynamic
the mobile device screen resolution and dimension. language that can be extended at run-time. Android,
Implications on Testing: GUI testing is a first class instead, replaces the java.awt and java.swing
testing need in mobile applications. Different mobile APIs with new libraries, supports the bluetooth through
devices can react differently to the same application third parties libraries, and uses the Dalvik opcode
code and this needs to be tested, as claimed in [7]. compiler optimized for mobile devices.
Implications on Testing: traditional structural testing
2) Peculiarities of MobileApp Applications and techniques (and associated coverage criteria) need to
Implications on Software Testing: MobileApp applications, be revised in order to be applied to new mobile lan-
while inheriting the App4Mobile peculiarities, also present guages. Bytecode analysis tools and functional testing
their own distinctive characteristics that are listed below. techniques may be required to deal with binary code.
New (and rapidly Evolving) Mobile Operating
Context Awareness: Systems:
Peculiarities: MobileApps heavily rely on sensed data Peculiarities: mobile applications run on top of new
provided by context providers, that are sensing (like operating systems that are still only partially reliable.
noise, light, motion, image sensors) and connectivity Many are the examples of applications failing due to
(like bluetooth, GPS, Wi-Fi, 3G) devices. All those operating systems problems, like the iOS alarm clock
devices may provide a huge amount of inputs (e.g., failure4 . Moreover, new versions of mobile operating
brightness, temperature, altitude, noise level, type of systems are frequently released, not always backward
connectivity, bandwidth, neighboring devices) that vary compatible with previous versions.
(even unpredictably) depending on the environment Implications on Testing: while testing mobile appli-
and/or user actions. cations, failures not ascribable to mobile applications
Implications on Testing: testing whether the application bugs can be generated due to OSs unreliability and
is going to correctly work on any environment and variability.
under any contextual input is a challenge and may Diversity of Phones and Phone Makers:
lead to combinatorial explosion. Context-specific test
Peculiarities: hundreds of different mobile devices are
2 http://tuto4log.blogspot.com/2011/11/apple-releases-ios-501-for-fix- on the market, produced by different vendors, and with
autonomy.html
3 http://www.yousaytoo.com/samsung-s2-galaxy-android-2-dot-3-5- 4 See, for example, http://www.macworld.com/article/156793/2011/01/
brings-a-considerable-improvement-o/1228272 ios alarm.html
different software features and hardware components. A. The Testing Process: Challenges and Research Direc-
Mobile applications, while running on different devices, tions in Test Selection and Test Execution of Mobile Appli-
may behave differently due to variations in the hard- cations
ware or O.S. components (a study reported the exis- The testing process consists of different activities. Those
tence of 1.800 hardware/O.S. different configurations5 ). on which we focus on this paper are test selection and test
For example, sensors are typically calibrated differently, execution.
so that two (different) phones running the same appli-
cation, in the same environment, may compute different
Test Selection. (Challenge): while selecting test
outputs.
cases for App4Mobile seems not to introduce specific
Implications on Testing: testing techniques for max-
peculiarities, MobileApp are expected to receive inputs
imizing the diversity coverage while minimizing the
from different context providers (i.e., users, sensors
devices under test have to be devised.
and connectivity devices), inputs that vary from the
Touch Screens: different (and changing) contexts the mobile device can
move towards. This may lead to the unpredictability
Peculiarities: touch screens are the main means for
and high variability of the inputs the application is
inputting user data into a mobile application. However,
potentially receiving. (Potentials and Automation): new
the system response time to a touch strongly depends on
testing criteria are required to provide the guidelines,
the device resource utilization, and may become slow in
rules, and strategies by which mobile test cases are se-
certain circumstances (e.g., entry level hardware, busy
lected so to maximize coverage in case of unpredictable
processor). Touch screens lack of responsiveness has
and variable contextual inputs. Models of contextual
been reported6 .
scenarios may be used to drive the systematic selection
Implications on Testing: testing techniques have to be
and coverage of MobileApps. For example, if a track-
introduced to test the touch screen functioning under
ing application making use of GPS data wants to be
different circumstances (e.g., resources usages, proces-
tested, the test suite could already include parametric
sor load, memory load) and within different mobile
inputs associated to the GPS input scenarios, e.g., the
devices.
entrance/exit to/from a gallery. (SOTA): in [12] different
contexts are created and used for testing purposes, but
III. C HALLENGES AND F UTURE R ESEARCH D IRECTIONS without a coverage criteria. In [8], contexts that have
ON T ESTING M OBILE A PPLICATIONS
a higher probability to generate faults are selected.
Overall, coverage criteria for context-aware inputs seem
to be still missing.
A systematic software engineering approach to software
Test Execution. (Challenge): Apps4Mobile ap-
testing is aimed at maximizing fault detection, making
plications are, in terms of test execution, quite simi-
results reproducible, and reducing the influence of external
lar to traditional applications. In MobileApps, instead,
factors, such as random selection of test cases or the testers
contextual information leads to the challenge on how
mood. When dealing with systematic testing, different di-
to execute test cases including rich contextual inputs.
mensions can be considered. For the purpose of this work,
(Potentials and Automation): existing simulators are
we focus on a subset of what we consider the most relevant
unable to simulate real-world phones with their sensors,
aspects in systematic software testing of mobile applications.
GPS, connectivity. New capture-and-replay automated
Specifically, we analyze challenges and potential future re-
techniques can be realized for executing (as a replay)
search directions on i) the testing process (test selection and
contextual inputs selected during the test selection
execution), ii) the testing artifacts (structural and functional),
phase. (SOTA): Android Robotium7 is an open-source
iii) the testing levels (unit and integration), and iv) the types
tool that enables the automated and black box test
of tests to be run.
execution of third parties applications. It resembles
Each topic is structured so to discuss what we consider Selenium but for Android applications.
the most relevant challenges first, followed by some
reasoning about potential research directions and support B. The Testing Artefacts: Challenges and Research Di-
to test automation, and the most recent state-of-the art rections in Structural and Functional Testing of Mobile
(SOTA). Applications
Structural (code-based) or functional (model-based) test-
ing techniques can be devised for testing mobile applica-
5 http://www.mobileappstesting.com/2012/01/10/seetest-the-android- tions. More specifically:
multi-device-challenge/
6 see, for example, http://code.google.com/p/android/issues/detail?id=23382 7 http://code.google.com/p/robotium/
Structural. (Challenge): mobile appplication lan- testing Android applications11 . However, in both cases,
guages add some specific constructs for managing contextual values are not contemplated.
mobility, sensing, and energy consumption. The pe- Integration testing. (Challenge): while most
culiarities of those new programming languages have of current testing approaches consider mobile appli-
to be taken into account when producing control or cations in isolation, inter-application communication
data flow graphs (and their respective coverage criteria) via intents and content providers are also possible.
out of the mobile programming language. (Potentials When testing such cooperating applications, intra- and
and Automation): New coverage criteria (and if needed, inter-application information flow must be followed
new control and data flow graphs) shall be though as (e.g., when testing the absence of security leaks).
a way to consider at best the new mobility, sensing, (Potentials and automation): existing integration testing
and energy constructs. In case the source code is not approaches have the potentials to be adapted for mobile
available, new bytecode analysis tools can be realized. applications. (SOTA): at the best of our knowledge,
(SOTA): In [6] the authors propose a structural testing mature research on integration testing of mobile ap-
approach to execute test cases on real devices. The tool plications is still missing today.
JaBUTi/ME is proposed for this purpose.
D. Type of Testing: Challenges and Research Directions in
Functional. (Challenge): mobile applications func-
Testing Mobile Applications
tional testing requires to specify both the application
and the environment it may operate in (especially in Different types os testing strategies can be applied to
MobileApps). (Potentials and Automation): state-based mobile applications, and more specifically:
approaches can be particularly useful to specify the Performance and reliability testing.
different states a mobile application may reach when (Challenge): performance and reliability of mobile
different sensed data are received. We can expect to applications strongly depends on the mobile device
model the ranges of value an environmental variable resources, on the device operational mode, on
can get, and model the impact of various environmental the connectivity quality and variability, and other
inputs into the application under test. We can also contextual information. (Potentials and Automation):
use state-based approaches to model different execution new techniques for performance and reliability
modes (e.g., low battery, meeting, and flying mode) analysis have to explicitly consider characteristics
the system can be. (SOTA): Android Robotium8 is an related to (changing) contexts and different devices.
open-source tool that enables the automated and black Run-time analysis techniques can also be adopted
box test execution of third parties applications. The to monitor the resources and connectivity state and
MonkeyRunner tool 9 can run an automated functional prevent performance degradation. (SOTA): Berardinelli
test for Android applications. MobileTest [4] adopts a et al. in [3] introduce a framework for analyzing
sensitive-event based approach for the automatic black the performance of context-aware mobile software
box testing of software running on mobile devices. systems.
Memory and Energy testing. (Challenge):
C. Unit and Integration Testing: Challenges and Research memory leaks may preempt the (limited) memory
Directions in Unit and Integration Testing of Mobile Appli- resource, and active processes (of killed applications)
cations may reduce the device (battery) autonomy. (Potentials
While guidelines and tools have been proposed to unit and Automation): metrics for estimating energy
testing mobile applications, integration testing seems to be and memory consumption could be devised so to
still quite unexplored, as briefly shown below. automatically predict memory leaks and energy
Unit testing. (Challenge): no specific challenge outage. (SOTA): the iOS Instruments tool enables
seems to apply to unit testing of mobile applications. memory leaks analysis. However such analysis is not
(Potentials and Automation): there is the need and exhaustive. Some development guidelines12 explain
potential to realize automated testing tools supporting how to avoid null pointer exceptions due to silent
and enabling the specification of contextual values and processes, but approaches and tools for testing those
context-based coverage. (SOTA): iOS provides guide- type of failures are still missing. Thompson et al. [16]
lines on how to perform unit testing on Apps4Mobile propose a model driven engineering tool for modeling
applications10 . Android enables the use of JUnit for unit mobile software architectures successively used to
generate synthetic emulation code to estimate power
8 http://code.google.com/p/robotium/
9 http://developer.android.com/guide/developing/tools/monkeyrunner 11 http://developer.android.com/reference/android/test/ AndroidTest-
concepts.html Case.html
10 https://developer.apple.com/library/ios/]documentation/DeveloperTools/ 12 http://www.bettersoftware.it/conference/talks/tutto-il-testing-possibile-
Conceptual/ UnitTesting/00-About Unit Testing/about.html su-android
consumption properties. Palit et al. [10] propose different combinations14 . (Potentials and Automation):
a methodology to select user level test cases for the current test on many devices practice has to
performing energy cost evaluation of smartphone be replaced by (cost) effective automated techniques.
applications. Commonalities and variabilities (using a jargon
Security testing. (Challenge): security is par- coming from the software product line community)
ticularly relevant due to the mobility of the device into in hardware devices and operating systems may
networks with different security levels. A trojan might be used for a systematic testing of the cell phone
infact have access to personal date, private networks, product lines. A different approach could consider
and private contextual information (e.g., where the to release (free of cost) instrumented beta versions
application user is located). Moreover, the rich con- of the application to be tested, have them running
textual information presents real privacy concerns. The on a multitude of devices, and collect, store, and
democratization of mobile application publishers also analyze run-time data and failures. (SOTA): A service
increases the number of apps store the final user does provided by LessPainful.com enables users to upload
not know anything about. (Potentials and Automation): their applications on their web-site and test them on
since mobility towards different networks represent a a number of devices. A short article (available at
peculiarity of mobile applications, traditional security http://www.mobileappstesting.com/2012/01/10/seetest-
testing approaches shall be revised so to keep in con- the-android-multi-device-challenge/) presents two
sideration contextual factors, that shall be simulated so strategies to maximize coverage while minimizing the
to check which data is transmitted from the mobile number of devices used for testing.
device. (SOTA): in [18] the authors analyze the threats
Android applications pose to the security and privacy E. Concluding Remarks
of enterprise and propose several approaches for de- The need of automation in testing mobile applications
fending enterprises against security risks. is exacerbated by two orthogonal aspects: i) Cost of
GUI testing. (Challenge): two are the main chal- testing: the common perception on mobile applications
lenges we foresee in GUI testing of mobile applica- is that they must be cheap, and cost much less than tradi-
tions: i) to test whether different devices provide an tional applications. On the other side, they must be perfor-
adequate rendering of data, and ii) to test whether mant, reliable and correct15 . Automation is certainly among
native applications are correctly displayed on different the most important means for keeping the cost of testing low,
devices. (Potentials and Automation): an idea can be to while guaranteeing and adequate degree of dependability.
automatically execute scripts that are captured during ii)Testing through the layers: current bugs are
the user interaction and replayed and modified even due to interoperability problems that exist today among the
on different devices. It is important to make this task application, application framework, operating system, and
automatic, so to avoid to manually interact with the hardware (sensoring) layers (as also remarked in [9]). Bugs
GUI that is a time consuming task. (SOTA): a few reports show how certain types of failures do not depend
testing approaches have been proposed for capturing on buggy applications, but more on operating systems mal-
GUI failures. In [7] the authors propose a technique functioning, or sensored data lack of precision. This remark
for detecting GUI bugs by automatically generating highlights the need of testing automation towards all the
test cases, feeding the application with random events, different layers, and able to clearly separate application-level
instrumenting the VM, and producing log/trace files failures from application framework or OS failures.
and analyzing them post-run. The Android Monkey Solutions that may enable cost-effective testing of mobile
tool13 provides features for stress testing of mobile applications include outsourcing, cloud- and crow-based
applications user interfaces. testing. We can expect that companies will start offering
Product line testing. (Challenge): testing as-a-service software testing services, providing specialized
an application on a multitude of mobile devices is testing skills and laboratories to make thorough testing of
certainly an important challenge, especially in the critical mobile applications affordable. lesspainful.com, for
Android O.S., where different mobile phones provide example, has already launched a service to verify mobile
different features and hardware components, and applications on a variety of devices. Cloud- and crow-
phone manufacturers may deeply customize the O.S. based testing strategies may also enable a distributed, cost-
Considering that as far as today there are around effective way of testing mobile applications on a multitude
130 different mobile phones running Android, seven of devices.
versions of the Android OS, and assuming two
14 Data coming from http://www.mobileappstesting.com/2012/01/10/seetest-
firmwares per device, this will count to about 1800
the-android-multi-device-challenge/
15 see for example: http://www.webperformancetoday.com/2011/07/20/new-
13 http://developer.android.com/guide/developing/tools/monkey.html findings-mobile-web-users-are-more-disappointed-than-ever/
IV. C ONCLUSIONS [7] C. Hu and I. Neamtiu, Automating GUI Testing for Android
Applications, in Proc. of the 6th Int. Workshop on Automa-
This short paper has tried to provide an overview on tion of Software Test, ser. AST 11, 2011, pp. 7783.
what testing mobile applications is and can be in the next
few years. Given the first research question (RQ1) are [8] B. Jiang, X. Long, X. Gao, Z. Liu, and C. W.K., FLOMA:
mobile applications (so) different from traditional ones, so Statistical fault localization for mobile embedded system, in
3rd International Conference on Advanced Computer Control
to require different and specialized new testing techniques? (ICACC), January 2011, pp. 396400.
and based on what discussed in Section II and III the natural
answer seems to be yes, they are. About (RQ2) what are the [9] A. K. Maji, K. Hao, S. Sultana, and S. Bagchi, Characteriz-
new challenges and research directions on testing mobile ing Failures in Mobile OSes: A Case Study with Android and
Symbian, Software Reliability Engineering, International
applications?, the challenges seems to be many, related to
Symposium on, vol. 0, pp. 249258, 2010.
the contextual and mobility nature of mobile applications.
Performance, security, reliability, and energy are strongly [10] R. Palit, R. Arya, K. Naik, and A. Singh, Selection and
affected by the variability of the environment where the execution of user level test cases for energy cost evaluation
mobile device moves towards. As far as concern (RQ3) of smartphones, in Proc. of the 6th Int. Workshop on Au-
tomation of Software Test, ser. AST 11, 2011, pp. 8490.
which is the role automation may play in testing mobile
applications?, some potentials for automation have been [11] M. J. Pascoe, Adding Generic Contextual Capabilities to
outlined, being aware that a much deeper and mature study Wearable Computers, in Proc. of the 2nd IEEE Int. Sym-
shall be conducted. We look at this paper as a working posium on Wearable Computers, ser. ISWC 98, 1998, pp.
document that can be amended and extended with the help of 92.
practitioners and researchers. In this line, we are contacting [12] M. Sama, Context-Driven Testing and Model-Checking for
colleagues with expertise on specific topics discussed in this Embedded Context-Aware and Adaptive Systems, in ISSTA
paper, for making this paper a more through repository of 2008 poster, 2008.
knowledge and a reference for future research on mobile
[13] M. Satyanarayanan, Fundamental Challenges in Mobile
application testing. Computing, in Proceedings of the fifteenth annual ACM
symposium on Principles of distributed computing, ser. PODC
ACKNOWLEDGMENTS 96. New York, NY, USA: ACM, 1996, pp. 17. [Online].
Available: http://doi.acm.org/10.1145/248052.248053
The authors want to thank Alfredo Morresi, Iulian
Neamtiu, and Tony Wasserman for sharing some of their [14] B. Schilit, N. Adams, and R. Want, Context-
results with us, and the anonymous reviewers for the useful Aware Computing Applications, in Proceedings of
insights. the 1994 First Workshop on Mobile Computing
Systems and Applications. Washington, DC, USA: IEEE
Computer Society, 1994, pp. 8590. [Online]. Available:
R EFERENCES
http://dl.acm.org/citation.cfm?id=1439278.1440041
[1] GoogleCode Android open issues,
http://code.google.com/p/android/issues/list. [15] A. Schmidt, Implicit human computer interaction through
context, Personal and Ubiquitous Computing, pp. 191199,
2000.
[2] The 2011 IBM Tech Trends Report,
ibm.com/developerworks/techtrendsreport, November 2011. [16] C. Thompson, J. White, B. Dougherty, and D. C. Schmidt,
Optimizing mobile application performance with model
[3] L. Berardinelli, V. Cortellessa, and A. Di Marco, Per- driven engineering, in Proceedings of the 7th IFIP WG
formance modeling and analysis of context-aware mobile 10.2 International Workshop on Software Technologies for
software systems, in Fundamental Approaches to Software Embedded and Ubiquitous Systems, ser. SEUS 09. Berlin,
Engineering, ser. LNCS, D. Rosenblum and G. Taentzer, Eds. Heidelberg: Springer-Verlag, 2009, pp. 3646. [Online].
Springer Berlin / Heidelberg. Available: http://dx.doi.org/10.1007/978-3-642-10265-3 4

[4] J. Bo, L. Xiang, and G. Xiaopeng, MobileTest: A Tool [17] A. I. Wasserman, Software Engineering Issues for
Supporting Automatic Black Box Test for Software on Smart Mobile Application Development, in Proceedings of
Mobile Devices, in Proc. of the Second Int. Workshop on the FSE/SDP workshop on Future of software
Automation of Software Test, ser. AST 07, 2007, pp. 8. engineering research, ser. FoSER 10. New York, NY,
USA: ACM, 2010, pp. 397400. [Online]. Available:
[5] G. Chen and D. Kotz, A Survey of Context-Aware Mobile http://doi.acm.org/10.1145/1882362.1882443
Computing Research, Hanover, NH, USA, Tech. Rep., 2000.
[18] X. Wei, L. Gomez, I. Neamtiu, and F. Michalis, Malicious
[6] M. E. Delamaro, A. M. R. Vincenzi, and J. C. Maldonado, A android applications in the enterprise: What do they do and
strategy to perform coverage testing of mobile applications, how do we fix it? in ICDE Workshop on Secure Data
in Proc. of the 2006 Int. Workshop on Automation of Software Management on Smartphones and Mobiles - SDMSM 2012,
Test, ser. AST 06, 2006, pp. 118124. 2012.

You might also like