SlideShare uma empresa Scribd logo
1 de 31
4th International Workshop on TESTing Techniques &
 Experimentation Benchmarks for Event-Driven Software

 Luxembourg
 March 19, 2013




Considering Context Events in Event-
Based Testing of Mobile Applications
  University of Naples
  “Federico II”, Italy
      DIPARTIMENTO DI INGEGNERIA ELETTRICA
      E TECNOLOGIE DELL'INFORMAZIONE

  Domenico Amalfitano
  Anna Rita Fasolino
  Porfirio Tramontana
  Amatucci Nicola
Context and Motivations

• Context:
 ▫ Testing of Android Mobile
   Applications.

• Motivations:
 ▫ Testing the Android Apps by taking
   into account their context and
   context-related events.
Mobile Applications as EDS Systems
• Mobile apps are event-driven systems.
 ▫ They are able to sense and react to a wide set of
   events besides user ones.

• Mobile devices are equipped with a wide variety
  of hardware sensors that are able to sense the
  context in which the device stays and to notify
  context changes to the running app by means of
  events.

• The user can be considered as a part of the
  context of an app
Types of mobile context events
• Types of context event are:
  ▫ user events produced through the GUI;
  ▫ events coming from the external environment and
    sensed by device sensors (such as temperature,
    pressure, GPS, geomagnetic field sensor, etc.);
  ▫ events generated by the device hardware platform
    (such as battery and other external peripheral port,
    like USB, headphone, network receiver/sender, etc.);
  ▫ events typical of mobile phones (such as the arrival of
    a phone call or a SMS message);
  ▫ events like the arrival of an e-mail or social networks
    notifications, that are related to the fact that modern
    mobile phones are more and more Internet connected.
MobileApps and Apps4Mobile
       • Not all the mobile apps are designed to react to
         context-related events not coming from the GUI.

       • MobileApps, react to all contextual events
         (both GUI and non-GUI ones).

       • App4Mobile, react only to GUI events
           ▫ they are just traditional applications that have
             been rewritten to run on mobile devices.

H. Muccini, A. Di Francesco, P. Esposito. Software Testing of Mobile Applications: Challenges and Future Research
Directions. Proceedings of the 7th International Workshop on Automation of Software Test (AST), 2012,
How to test the MobileApps
• The category of App4Mobile may be effectively
  tested by means of testing techniques applicable to
  traditional applications.

• MobileApps requires to be tested by event-based
  testing techniques that properly consider all types of
  context-related events.
  ▫ This may be very expensive due to the large number of
    possible contexts, event classes and combinations of
    events and contexts to be considered.

• Effective strategies of testing for MobileApps are
  needed.
Some possible testing strategies
• The application behaviour has to be checked in
  response to several types of context event.

• Effective strategies for test case generation
  should be used to define sequences of events of
  mixed types.

• Simple Strategies

• Systematic Strategies
“Simple” strategies
• May define event sequences trying to achieve the
  coverage of each class of contextual events with a fair
  policy.

• Not requiring any specific knowledge about the app
  under test.

• Help to discover crashes or freezes, often reported in bug
  reports, that may occur when an app is impulsively
  solicited by contextual events like:
  ▫ Notification of a connection/disconnection of a plug (USB,
    headphone, …)
  ▫ Incoming of a phone call,
  ▫ Notification of the GPS signal loss (for instance when the
    device enters a tunnel).
“Systematic” strategies
• May require the coverage of specific event sequences
  representing specific usage scenarios of the
  application.

• Are scenario-based strategies that:
  ▫ define relevant ways of exercising an application by
    firing sequences of events.

  ▫ may be described by different formalisms.

• In scenario-based testing, suitable techniques for
  defining scenarios are needed.
  ▫ an interesting approach may be based on “event-
    patterns”
Event - Patterns

• Representations of peculiar event sequences that
  abstract meaningful test scenarios.

• can be defined as a notable sequence of contextual
  events that may be used to exercise the application.

• Possibly trigger a faulty behaviour of the
  application.

• Are often used for rapid testing of embedded
  systems
Event – Patterns Specification
• Each Event – Pattern may be specified by:
  ▫ a name,
  ▫ a textual description,
  ▫ the corresponding event sequence that must include one or more
    events.
     defined by appropriate regular expressions.

• For automating test execution, each event-pattern can be
  associated with a test class that exposes an execute method
  able to trigger the pattern’s sequence of events.

• An event-pattern may be included in other event sequences,
  or used in isolation to test an app.

• An event-patterns repository have been manually populated
  after a preliminary analysis conducted on the bug reports of
  open source applications.
Event Pattern Example
Event Pattern Example
Approaches for using event-patterns
for testing mobile applications
• Test cases can be generated by exploiting the
  event – patterns stored in the repository.
• We show three examples of testing techniques
  that exploit the event-patterns for testing a
  mobile app.
 ▫ T1: Manual technique

 ▫ T2: Mutation-based technique

 ▫ T3: Exploration-based technique
T1 - Manual technique

• Scenario-based test cases that include one or
  more instances of event-patterns are manually
  generated.

• The tester can add the needed assertions
  manually, or test cases can just check the
  occurrence of crashes.
Example of using T1
• Suppose that the tester wants to test the app
  behaviour in the following scenario:
   The user activates the GPS provider in the settings menu of the
   application, and begins to cross the path that goes from point A
   to point B through N points. At point X of the navigation, the
   application loses the GPS signal and recovers it at the point Y.


• This scenario includes instances of two event-
  patterns EGSW and LRGPS.
Example of using T1
• Suppose that the tester wants to test the app
  behaviour in the following scenario:
   The user activates the GPS provider in the settings menu of the
   application, and begins to cross the path that goes from point A
   to point B through N points. At point X of the navigation, the
   application loses the GPS signal and recovers it at the point Y.


• This scenario includes instances of two event-
  patterns EGSW and LRGPS.
T2 - Mutation-based technique
• Event-patterns are used to modify existing test
  cases, by applying mutation techniques.

• Event-pattern sequences are placed inside
  already existing test cases that are defined:
  ▫ manually
  ▫ by Capture techniques
  ▫ automatically (I.e. by a Ripper).
Example of using T2
• The absence of crashes in
  an application scenario
  where, after any user
  event, the device goes in
  stand-by and a phone call
  comes (pattern SIE) must
  be tested.
T3 - Exploration-based technique

• Event-patterns are used in automatic black-box
  testing processes based on dynamic analysis of
  mobile apps.
StartApplication();
       while (! termination Criterion) {
              ExtractCurrentSensingEvents();
              PlanTasks();
              RunNextTask();
       }
}
Assessing the feasibility of the
proposed techniques

• The feasibility of the proposed techniques was preliminary
  assessed in the context of Android mobile applications.
  ▫ the proposed techniques are applicable to any mobile technology.

• Two main technological problems related to the Android
  platform were solved:

  ▫ defining a solution for dynamically recognizing the context event
    classes which the app is able to sense and react at a given time
    (i.e., implementing the operation
    ExtractCurrentSensingEvents in T3);

  ▫ defining techniques for triggering the context events (i.e.,
    implementing the RunNextTask operation in T3).
A first exploratory case study

• To asses how the effectiveness of an event-based
  testing technique varies when context events,
  not only GUI events, are taken into account.

• The proposed Exploration-based technique T3
  was analyzed.
Experiment Setup
• Five real-world MobileApp Android applications
  were considered.
• Each of them was tested by the T3 technique
  twice.
 ▫ The first time, simple patterns made by only user
   events were exercised.
 ▫ The second time, simple patterns including a
   different type of context event were executed.
• The effectiveness, in terms of code coverage,
  achieved by the two executions was compared
Extended Android Ripper
• The Android Ripper tool was exploited to perform
  the experiment.
  ▫ http://wpage.unina.it/ptramont/GUIRipperWiki.htm
• First the Android Ripper was configured to trigger
  only user events
• Lastly the Extended Ripper version was configured
  to fire context events such as:
  ▫ location changes, enabling/disabling of GPS, changes
    in orientation, acceleration changes, reception of SMS
    messages and phone calls, shooting of photos with the
    camera.
• Both versions of the Ripper are able to
  systematically explore the app under test by
  searching for crashes and to measure the obtained
  code coverage.
Results
Results

          Methods and LOC that
          implement the Sensor’s
          Handlers were covered
Results


          The source code has just
          one context-related event
          handler.
          It is responsible for
          managing the acceleration
          change notification event.
Results




          Event handlers related to
          the management of
          incoming phone calls and
          SMS messages were
          covered
Results




          camera photo shoot
          notification event
          handler, and the location
          change notification handler
          were covered.
Conclusion
• Three proposals of techniques for event based testing of mobile
  applications have been presented.
• A testing technique that represents an extension of the Android
  Ripping technique has been presented.
• Some preliminary case studies conducted on real world Android apps
  demonstrate the effectiveness of the implemented technique.


Future Works
• Address wider experimentation in order to assess the effectiveness of
  the proposed techniques.
• Build an event-patterns repository by analysing a large corpus of bug
  reports related to mobile apps
• Consider events causing the interaction between different components
  of the same application or different applications, by adding to the
  Extended Ripper new features supporting Intent Messages generation
  and execution.
Thank you for your attention !!!

Mais conteúdo relacionado

Mais procurados

WekaNose presentation
WekaNose presentationWekaNose presentation
WekaNose presentationUmbertoAzadi
 
Lijie xia lx223809 monkeyrunner
Lijie xia lx223809 monkeyrunnerLijie xia lx223809 monkeyrunner
Lijie xia lx223809 monkeyrunnerLijie Xia
 
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...Kevin Moran
 
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...Kevin Moran
 
How do Developers Test Android Applications?
How do Developers Test Android Applications?How do Developers Test Android Applications?
How do Developers Test Android Applications?Kevin Moran
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Kevin Moran
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote Shiva Nejati
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynoteShiva Nejati
 
On-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsOn-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsKevin Moran
 
Iwsm2014 application of function points to software based on open source - ...
Iwsm2014   application of function points to software based on open source - ...Iwsm2014   application of function points to software based on open source - ...
Iwsm2014 application of function points to software based on open source - ...Nesma
 
Automated GUI-Testing of Android Apps: From Research to Practice
Automated GUI-Testing of Android Apps: From Research to PracticeAutomated GUI-Testing of Android Apps: From Research to Practice
Automated GUI-Testing of Android Apps: From Research to PracticeKevin Moran
 
A Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsA Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsGemma Catolino
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Gemma Catolino
 
20100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture0220100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture02Computer Science Club
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testingjotaemepereira
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Lionel Briand
 
Developer-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentDeveloper-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentGemma Catolino
 

Mais procurados (20)

WekaNose presentation
WekaNose presentationWekaNose presentation
WekaNose presentation
 
Lijie xia lx223809 monkeyrunner
Lijie xia lx223809 monkeyrunnerLijie xia lx223809 monkeyrunner
Lijie xia lx223809 monkeyrunner
 
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
ICSE17 - Tool Demonstration - CrashScope A Practical Tool for the Automated T...
 
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
 
How do Developers Test Android Applications?
How do Developers Test Android Applications?How do Developers Test Android Applications?
How do Developers Test Android Applications?
 
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mob...
 
SBST 2019 Keynote
SBST 2019 Keynote SBST 2019 Keynote
SBST 2019 Keynote
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
On-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android ApplicationsOn-Device Bug Reporting for Android Applications
On-Device Bug Reporting for Android Applications
 
Iwsm2014 application of function points to software based on open source - ...
Iwsm2014   application of function points to software based on open source - ...Iwsm2014   application of function points to software based on open source - ...
Iwsm2014 application of function points to software based on open source - ...
 
Automated GUI-Testing of Android Apps: From Research to Practice
Automated GUI-Testing of Android Apps: From Research to PracticeAutomated GUI-Testing of Android Apps: From Research to Practice
Automated GUI-Testing of Android Apps: From Research to Practice
 
Testing
TestingTesting
Testing
 
TDD Presentation
TDD PresentationTDD Presentation
TDD Presentation
 
A Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile AppsA Set of Metrics for the Effort Estimation of Mobile Apps
A Set of Metrics for the Effort Estimation of Mobile Apps
 
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
Just-in-Time Bug Prediction in Mobile Applications: The Domain Matters!
 
20100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture0220100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture02
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testing
 
Software bug prediction
Software bug prediction Software bug prediction
Software bug prediction
 
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
Testing Autonomous Cars for Feature Interaction Failures using Many-Objective...
 
Developer-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical AssessmentDeveloper-Related Factors in Change Prediction: An Empirical Assessment
Developer-Related Factors in Change Prediction: An Empirical Assessment
 

Semelhante a Considering Context Events in Event-Based Testing of Mobile Applications

Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | TestbytesTestbytes
 
From Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior PatternsFrom Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior PatternsVille Antila
 
3.0 quality characteristics for mobile testing
3.0 quality characteristics for mobile testing3.0 quality characteristics for mobile testing
3.0 quality characteristics for mobile testingKailash khoiwal
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...Fatima Qayyum
 
Step by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesStep by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesAlisha Henderson
 
Project presentation3
Project presentation3Project presentation3
Project presentation3Pastecs Tec
 
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESBEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESijaia
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing StrategyankitQA
 
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesBehaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesJiang Zhu
 
Project presentation2
Project presentation2Project presentation2
Project presentation2Pastecs Tec
 
3. 2 req elicitation activities
3. 2  req elicitation activities3. 2  req elicitation activities
3. 2 req elicitation activitiesAshenafi Workie
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringMobilePundits
 
Mobile Crowdsensing with Mobile Agents
Mobile Crowdsensing with Mobile AgentsMobile Crowdsensing with Mobile Agents
Mobile Crowdsensing with Mobile AgentsTeemu Leppänen
 
Selecting the Right Mobile Test Automation Strategy: Challenges and Principles
Selecting the Right Mobile Test Automation Strategy: Challenges and PrinciplesSelecting the Right Mobile Test Automation Strategy: Challenges and Principles
Selecting the Right Mobile Test Automation Strategy: Challenges and PrinciplesCognizant
 
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...Comit Projects Ltd
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTIRJET Journal
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in AndroidSurbhi Jain
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsRapidValue
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...GoQA
 

Semelhante a Considering Context Events in Event-Based Testing of Mobile Applications (20)

Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | Testbytes
 
From Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior PatternsFrom Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior Patterns
 
3.0 quality characteristics for mobile testing
3.0 quality characteristics for mobile testing3.0 quality characteristics for mobile testing
3.0 quality characteristics for mobile testing
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
 
Step by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesStep by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategies
 
Project presentation3
Project presentation3Project presentation3
Project presentation3
 
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUESBEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
BEHAVIOR-BASED SECURITY FOR MOBILE DEVICES USING MACHINE LEARNING TECHNIQUES
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-SeriesBehaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
Behaviometrics: Behavior Modeling from Heterogeneous Sensory Time-Series
 
Project presentation2
Project presentation2Project presentation2
Project presentation2
 
3. 2 req elicitation activities
3. 2  req elicitation activities3. 2  req elicitation activities
3. 2 req elicitation activities
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
 
Mobile Crowdsensing with Mobile Agents
Mobile Crowdsensing with Mobile AgentsMobile Crowdsensing with Mobile Agents
Mobile Crowdsensing with Mobile Agents
 
Selecting the Right Mobile Test Automation Strategy: Challenges and Principles
Selecting the Right Mobile Test Automation Strategy: Challenges and PrinciplesSelecting the Right Mobile Test Automation Strategy: Challenges and Principles
Selecting the Right Mobile Test Automation Strategy: Challenges and Principles
 
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
Sensors, threats, responses and challenges - Dr Emil Lupu (Imperial College L...
 
CRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECASTCRIME EXPLORATION AND FORECAST
CRIME EXPLORATION AND FORECAST
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...
КАТЕРИНА АБЗЯТОВА «Тестування мобільних додатків: Як створити виграшну страте...
 

Mais de Porfirio Tramontana

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationPorfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEPorfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web ApplicationsPorfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindPorfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolPorfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionPorfirio Tramontana
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data Porfirio Tramontana
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationPorfirio Tramontana
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Porfirio Tramontana
 
Reverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsReverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsPorfirio Tramontana
 

Mais de Porfirio Tramontana (20)

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application Comprehension
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security Evaluation
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
 
Reverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsReverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet Applications
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Considering Context Events in Event-Based Testing of Mobile Applications

  • 1. 4th International Workshop on TESTing Techniques & Experimentation Benchmarks for Event-Driven Software Luxembourg March 19, 2013 Considering Context Events in Event- Based Testing of Mobile Applications University of Naples “Federico II”, Italy DIPARTIMENTO DI INGEGNERIA ELETTRICA E TECNOLOGIE DELL'INFORMAZIONE Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Amatucci Nicola
  • 2. Context and Motivations • Context: ▫ Testing of Android Mobile Applications. • Motivations: ▫ Testing the Android Apps by taking into account their context and context-related events.
  • 3. Mobile Applications as EDS Systems • Mobile apps are event-driven systems. ▫ They are able to sense and react to a wide set of events besides user ones. • Mobile devices are equipped with a wide variety of hardware sensors that are able to sense the context in which the device stays and to notify context changes to the running app by means of events. • The user can be considered as a part of the context of an app
  • 4. Types of mobile context events • Types of context event are: ▫ user events produced through the GUI; ▫ events coming from the external environment and sensed by device sensors (such as temperature, pressure, GPS, geomagnetic field sensor, etc.); ▫ events generated by the device hardware platform (such as battery and other external peripheral port, like USB, headphone, network receiver/sender, etc.); ▫ events typical of mobile phones (such as the arrival of a phone call or a SMS message); ▫ events like the arrival of an e-mail or social networks notifications, that are related to the fact that modern mobile phones are more and more Internet connected.
  • 5. MobileApps and Apps4Mobile • Not all the mobile apps are designed to react to context-related events not coming from the GUI. • MobileApps, react to all contextual events (both GUI and non-GUI ones). • App4Mobile, react only to GUI events ▫ they are just traditional applications that have been rewritten to run on mobile devices. H. Muccini, A. Di Francesco, P. Esposito. Software Testing of Mobile Applications: Challenges and Future Research Directions. Proceedings of the 7th International Workshop on Automation of Software Test (AST), 2012,
  • 6. How to test the MobileApps • The category of App4Mobile may be effectively tested by means of testing techniques applicable to traditional applications. • MobileApps requires to be tested by event-based testing techniques that properly consider all types of context-related events. ▫ This may be very expensive due to the large number of possible contexts, event classes and combinations of events and contexts to be considered. • Effective strategies of testing for MobileApps are needed.
  • 7. Some possible testing strategies • The application behaviour has to be checked in response to several types of context event. • Effective strategies for test case generation should be used to define sequences of events of mixed types. • Simple Strategies • Systematic Strategies
  • 8. “Simple” strategies • May define event sequences trying to achieve the coverage of each class of contextual events with a fair policy. • Not requiring any specific knowledge about the app under test. • Help to discover crashes or freezes, often reported in bug reports, that may occur when an app is impulsively solicited by contextual events like: ▫ Notification of a connection/disconnection of a plug (USB, headphone, …) ▫ Incoming of a phone call, ▫ Notification of the GPS signal loss (for instance when the device enters a tunnel).
  • 9. “Systematic” strategies • May require the coverage of specific event sequences representing specific usage scenarios of the application. • Are scenario-based strategies that: ▫ define relevant ways of exercising an application by firing sequences of events. ▫ may be described by different formalisms. • In scenario-based testing, suitable techniques for defining scenarios are needed. ▫ an interesting approach may be based on “event- patterns”
  • 10. Event - Patterns • Representations of peculiar event sequences that abstract meaningful test scenarios. • can be defined as a notable sequence of contextual events that may be used to exercise the application. • Possibly trigger a faulty behaviour of the application. • Are often used for rapid testing of embedded systems
  • 11. Event – Patterns Specification • Each Event – Pattern may be specified by: ▫ a name, ▫ a textual description, ▫ the corresponding event sequence that must include one or more events.  defined by appropriate regular expressions. • For automating test execution, each event-pattern can be associated with a test class that exposes an execute method able to trigger the pattern’s sequence of events. • An event-pattern may be included in other event sequences, or used in isolation to test an app. • An event-patterns repository have been manually populated after a preliminary analysis conducted on the bug reports of open source applications.
  • 14. Approaches for using event-patterns for testing mobile applications • Test cases can be generated by exploiting the event – patterns stored in the repository. • We show three examples of testing techniques that exploit the event-patterns for testing a mobile app. ▫ T1: Manual technique ▫ T2: Mutation-based technique ▫ T3: Exploration-based technique
  • 15. T1 - Manual technique • Scenario-based test cases that include one or more instances of event-patterns are manually generated. • The tester can add the needed assertions manually, or test cases can just check the occurrence of crashes.
  • 16. Example of using T1 • Suppose that the tester wants to test the app behaviour in the following scenario: The user activates the GPS provider in the settings menu of the application, and begins to cross the path that goes from point A to point B through N points. At point X of the navigation, the application loses the GPS signal and recovers it at the point Y. • This scenario includes instances of two event- patterns EGSW and LRGPS.
  • 17. Example of using T1 • Suppose that the tester wants to test the app behaviour in the following scenario: The user activates the GPS provider in the settings menu of the application, and begins to cross the path that goes from point A to point B through N points. At point X of the navigation, the application loses the GPS signal and recovers it at the point Y. • This scenario includes instances of two event- patterns EGSW and LRGPS.
  • 18. T2 - Mutation-based technique • Event-patterns are used to modify existing test cases, by applying mutation techniques. • Event-pattern sequences are placed inside already existing test cases that are defined: ▫ manually ▫ by Capture techniques ▫ automatically (I.e. by a Ripper).
  • 19. Example of using T2 • The absence of crashes in an application scenario where, after any user event, the device goes in stand-by and a phone call comes (pattern SIE) must be tested.
  • 20. T3 - Exploration-based technique • Event-patterns are used in automatic black-box testing processes based on dynamic analysis of mobile apps. StartApplication(); while (! termination Criterion) { ExtractCurrentSensingEvents(); PlanTasks(); RunNextTask(); } }
  • 21. Assessing the feasibility of the proposed techniques • The feasibility of the proposed techniques was preliminary assessed in the context of Android mobile applications. ▫ the proposed techniques are applicable to any mobile technology. • Two main technological problems related to the Android platform were solved: ▫ defining a solution for dynamically recognizing the context event classes which the app is able to sense and react at a given time (i.e., implementing the operation ExtractCurrentSensingEvents in T3); ▫ defining techniques for triggering the context events (i.e., implementing the RunNextTask operation in T3).
  • 22. A first exploratory case study • To asses how the effectiveness of an event-based testing technique varies when context events, not only GUI events, are taken into account. • The proposed Exploration-based technique T3 was analyzed.
  • 23. Experiment Setup • Five real-world MobileApp Android applications were considered. • Each of them was tested by the T3 technique twice. ▫ The first time, simple patterns made by only user events were exercised. ▫ The second time, simple patterns including a different type of context event were executed. • The effectiveness, in terms of code coverage, achieved by the two executions was compared
  • 24. Extended Android Ripper • The Android Ripper tool was exploited to perform the experiment. ▫ http://wpage.unina.it/ptramont/GUIRipperWiki.htm • First the Android Ripper was configured to trigger only user events • Lastly the Extended Ripper version was configured to fire context events such as: ▫ location changes, enabling/disabling of GPS, changes in orientation, acceleration changes, reception of SMS messages and phone calls, shooting of photos with the camera. • Both versions of the Ripper are able to systematically explore the app under test by searching for crashes and to measure the obtained code coverage.
  • 26. Results Methods and LOC that implement the Sensor’s Handlers were covered
  • 27. Results The source code has just one context-related event handler. It is responsible for managing the acceleration change notification event.
  • 28. Results Event handlers related to the management of incoming phone calls and SMS messages were covered
  • 29. Results camera photo shoot notification event handler, and the location change notification handler were covered.
  • 30. Conclusion • Three proposals of techniques for event based testing of mobile applications have been presented. • A testing technique that represents an extension of the Android Ripping technique has been presented. • Some preliminary case studies conducted on real world Android apps demonstrate the effectiveness of the implemented technique. Future Works • Address wider experimentation in order to assess the effectiveness of the proposed techniques. • Build an event-patterns repository by analysing a large corpus of bug reports related to mobile apps • Consider events causing the interaction between different components of the same application or different applications, by adding to the Extended Ripper new features supporting Intent Messages generation and execution.
  • 31. Thank you for your attention !!!