SlideShare uma empresa Scribd logo
1 de 15
Automating	
  Mobile	
  
   Applications	
  
                    April	
  Luk	
  
 Mobile	
  Applica0ons	
  QA	
  Developer,	
  Decoder	
  
             april@decoderhq.com	
  
Agenda	
  
•  Tes0ng	
  Mobile	
  Applica0ons	
  considera0ons	
  
•  When	
  to	
  do	
  automa0on?	
  
•  Common	
  Mobile	
  Applica0on	
  Test	
  Frameworks	
  /	
  Tools	
  
What	
  is	
  Mobile	
  Applications	
  
•  A	
  mobile	
  app	
  is	
  soFware	
  that	
  runs	
  on	
  a	
  handheld	
  device	
  (phone,	
  tablet,	
  
   iPod	
  …	
  etc)	
  that	
  can	
  connect	
  to	
  Wi-­‐Fi	
  or	
  wireless	
  carrier	
  networks	
  
•  Na0ve	
  app	
  
      •  Na0ve	
  to	
  one	
  type	
  of	
  mobile	
  opera0ng	
  system	
  with	
  the	
  plaOorm	
  SDK,	
  tools	
  and	
  
         languages,	
  usually	
  download	
  from	
  app	
  stores	
  such	
  as	
  Apple	
  app	
  store,	
  or	
  Android	
  
         Market.	
  App	
  is	
  stored	
  on	
  the	
  users	
  mobile	
  device)	
  
      •  Can	
  interface	
  with	
  device’s	
  na0ve	
  features,	
  info	
  and	
  hardware	
  (camera,	
  address	
  
         book,	
  etc..	
  )	
  
•  Mobile	
  Web	
  app	
  
      •  Programs	
  run	
  within	
  a	
  mobile	
  device’s	
  web	
  browser,	
  the	
  app	
  resides	
  on	
  server	
  and	
  
         is	
  accessed	
  via	
  the	
  internet	
  (i.e.	
  they	
  are	
  not	
  separate	
  programs	
  that	
  get	
  stored	
  on	
  
         the	
  users	
  mobile	
  device)	
  
•  Hybrid	
  	
  
      •  Like	
  na0ve	
  apps,	
  run	
  on	
  the	
  device	
  and	
  are	
  wriTen	
  with	
  web	
  technologies.	
  Runs	
  
         insides	
  a	
  na0ve	
  container,	
  and	
  leverage	
  the	
  device’s	
  browser	
  engine	
  (but	
  not	
  the	
  
         browser)	
  to	
  render	
  HTML	
  and	
  process	
  the	
  JavaScript	
  locally	
  
Testing	
  Mobile	
  Applications	
  
        considerations	
  
•  Hardware	
  
     •  Phones	
  vs.	
  Tablets,	
  manufacturers,	
  features	
  (camera,	
  phone)	
  
•  SoFware	
  
     •  OSs,	
  browsers,	
  app	
  updates,	
  back	
  grounding,	
  analy0cs,	
  gestures	
  
•  User	
  Interface	
  
     •  Keyboard,	
  no0fica0ons,	
  redirec0ons,	
  social	
  media	
  
•  Opera0ons	
  
     •  Connec0vity,	
  Wireless	
  vs	
  Wi-­‐Fi,	
  Online	
  vs	
  Offline,	
  interrup0ons	
  
•  Data	
  
     •  Synchroniza0ons,	
  social	
  media	
  dependencies,	
  content	
  pushing	
  
When	
  to	
  do	
  Automation?	
  
•  Team	
  understands	
  the	
                            of	
  automa0on	
  
     •  Improve	
  product	
  quality	
  and	
  team	
  produc0vity	
  	
  
     •  Focus	
  on	
  regression	
  and	
  not	
  feature	
  tests,	
  keep	
  team	
  mo0vated	
  
•  Don’t	
  bother	
  if	
  …	
  
     •  Team	
  believes	
  we	
  can	
  automate	
  tes0ng	
  so	
  that	
  we	
  can	
  reduce	
  QA	
  staff	
  
     •  Team	
  jus0fies	
  the	
  value	
  of	
  automa0on	
  test	
  based	
  solely	
  on	
  how	
  many	
  
        defects	
  it	
  catches	
  
     •  Weak	
  communica0on	
  between	
  QA	
  and	
  Dev	
  team	
  
When	
  to	
  do	
  Automation?	
  
•  Team	
  understand	
  the	
                    of	
  automa0on	
  
     •  Seeking	
  required	
  skill	
  set	
  
     •  Time	
  to	
  evaluate	
  automa0on	
  feasibility	
  
     •  Effort	
  to	
  build	
  and	
  maintain	
  automa0on	
  tests	
  
     •  Impact	
  to	
  project	
  development	
  process	
  
•  Don’t	
  bother	
  if	
  …	
  
     •  QA	
  has	
  no	
  technical	
  background,	
  or	
  not	
  mo0vated	
  to	
  implement	
  automa0on	
  
     •  Team	
  aims	
  to	
  automate	
  everything	
  
     •  QA	
  is	
  expected	
  to	
  automate	
  tests	
  aFer	
  manual	
  tes0ng	
  is	
  complete	
  (i.e.	
  
        automa0on	
  becomes	
  a	
  separate	
  project)	
  
     •  Team	
  engages	
  QA	
  too	
  late	
  in	
  development	
  cycle	
  
Common	
  Native	
  Mobile	
  Application	
  Test	
  
       Frameworks	
  /	
  Tools	
  
•  Mobile	
  applica0ons	
  automa0on	
  can	
  include	
  both	
  backend	
  and	
  
   UI-­‐client	
  tests	
  
•  Backend	
  automa0ons	
  
    •  Expected	
  API	
  requests/responses	
  
    •  Database	
  interac0ons	
  
•  UI-­‐client	
  automa0ons	
  
    •  Gestures	
  (touches,	
  swipes,	
  long-­‐pressed,	
  pull	
  …	
  etc)	
  
    •  Content	
  display	
  (table,	
  list,	
  webviews,	
  alerts,	
  no0fica0ons	
  …	
  etc)	
  
    •  Executed	
  on	
  simulators/emulators	
  vs.	
  devices	
  
Common	
  Native	
  Mobile	
  App	
  Test	
  
       Frameworks	
  -­‐	
  Cucumber	
  
•  Cucumber	
  
    •  Ruby	
  based	
  BDD	
  test	
  tool,	
  user	
  describes	
  system	
  features,	
  iden0fy	
  test	
  
       scenarios	
  and	
  create	
  test	
  steps	
  in	
  plain	
  English	
  with	
  some	
  specific	
  
       keywords	
  (Given-­‐When-­‐Then)	
  
    •  Step	
  defini0ons	
  are	
  wriTen	
  in	
  Ruby,	
  explaining	
  how	
  test	
  steps	
  are	
  
       executed	
  
•  Some	
  commonly	
  used	
  ruby	
  gems	
  for	
  backend	
  automa0on	
  
    •  Json_spec,	
  rexml	
  
    •  Rest-­‐client,	
  net/hTp,	
  curb	
  
    •  Mongo,	
  bson_ext,	
  postgres	
  
Common	
  Native	
  Mobile	
  App	
  Test	
  
             Frameworks	
  -­‐	
  iOS	
  
•  UIAutoma0on	
  
      •  Apple’s	
  solu0on	
  for	
  automated	
  tes0ng.	
  It	
  runs	
  tests	
  wriTen	
  in	
  Javascript	
  
         through	
  the	
  Instruments	
  applica0on	
  that	
  comes	
  with	
  SDK	
  
•  UISpec	
  
      •  Test	
  framework	
  that	
  drives	
  the	
  iOS	
  UI	
  by	
  using	
  UIQuery	
  to	
  traverse	
  the	
  
         view	
  hierarchy.	
  Users	
  create	
  tests	
  using	
  UIScript	
  /	
  Objec0ve-­‐C	
  
•  KIF	
  
      •  Test	
  framework	
  that	
  links	
  directly	
  to	
  iOS	
  app,	
  test	
  steps	
  traverse	
  the	
  
         view	
  stack	
  using	
  UIView	
  addi0ons.	
  User	
  creates	
  tests	
  using	
  Objec0ve-­‐C	
  
Common	
  Native	
  Mobile	
  App	
  Test	
  
        Frameworks	
  -­‐	
  iOS	
  
•  Frank	
  
    •  2	
  key	
  components:	
  (1)	
  Frank	
  server	
  compiled	
  into	
  the	
  iOS	
  app,	
  (2)	
  
       Frank-­‐cucumber	
  driver	
  from	
  within	
  test	
  scripts	
  
    •  User	
  creates	
  tests	
  using	
  cucumber	
  and	
  Ruby	
  
    •  Originally	
  uses	
  UISpec	
  to	
  perform	
  view	
  selec0on	
  (UIQuery)	
  and	
  to	
  
       simulate	
  interac0ons	
  (touches,	
  gestures,	
  etc)	
  
    •  Current	
  version	
  updated	
  to	
  use	
  a	
  query	
  library	
  called	
  	
  Shelley	
  for	
  view	
  
       selec0on	
  and	
  KIF’s	
  UIView	
  addi0ons	
  to	
  simulate	
  interac0ons	
  
    •  Includes	
  a	
  live	
  introspec0on	
  tool	
  called	
  Symbiote,	
  enter	
  a	
  view	
  selector	
  
       and	
  it	
  will	
  highlight	
  all	
  the	
  views	
  it	
  would	
  select	
  
Common	
  Native	
  Mobile	
  App	
  Test	
  
       Frameworks	
  -­‐	
  Android	
  
•  android.test	
  Package	
  
    •  Test	
  framework	
  comes	
  with	
  Android	
  SDK,	
  use	
  
       Ac0vityInstrumenta0onTestCase2	
  class	
  to	
  facilitate	
  func0onal	
  tes0ng	
  of	
  
       a	
  single	
  ac0vity	
  
    •  Test	
  cases	
  crea0on	
  becomes	
  complicated	
  with	
  an	
  app	
  includes	
  mul0ple	
  
       ac0vi0es,	
  self-­‐defined	
  intents,	
  views	
  with	
  scrollable	
  lists	
  …	
  etc	
  
•  Robo0um	
  
    •  Test	
  framework	
  that	
  extends	
  the	
  Ac0vityInstrumenta0onTestCase2	
  
       class,	
  simplify	
  android.test	
  framework	
  interface	
  
    •  Test	
  cases	
  are	
  more	
  declara0ve	
  and	
  less	
  procedural	
  
    •  Full	
  support	
  for	
  Ac0vi0es,	
  Dialogs,	
  Toasts,	
  Menus,	
  and	
  Context	
  Menus	
  
Common	
  Native	
  Mobile	
  App	
  Test	
  
       Frameworks	
  -­‐	
  Android	
  
•  Calabash	
  
    •  Test	
  framework	
  that	
  uses	
  Robo0um	
  as	
  a	
  library,	
  Instrumenta0on	
  test	
  
       server	
  installed	
  on	
  the	
  app	
  and	
  cucumber	
  driver	
  from	
  within	
  test	
  scripts	
  
•  Robolectric	
  
    •  More	
  focused	
  on	
  Unit	
  Test	
  
    •  Tests	
  are	
  executed	
  on	
  a	
  desktop	
  worksta0ons/server	
  JVM	
  (avoid	
  
       indexing,	
  packaging,	
  deploying	
  and	
  running	
  app	
  on	
  emulator/device	
  
References	
  to	
  Resources	
  
Mobile	
  Tes0ng	
  Mind	
  Map:	
  
hTp://www.ministryoFes0ng.com/2012/05/mobile-­‐tes0ng-­‐course-­‐
pictures-­‐and-­‐a-­‐mindmap/	
  
Cucumber:	
  hTps://github.com/cucumber/cucumber/wiki	
  
UISpec:	
  hTp://code.google.com/p/uispec/	
  
KIF:	
  hTps://github.com/square/KIF	
  
Frank:	
  hTps://github.com/moredip/Frank	
  
Robo0um:	
  hTp://code.google.com/p/robo0um/	
  
Calabash:	
  hTps://github.com/calabash/calabash-­‐android	
  
	
  
Thank	
  you!	
  
      Q&A	
  

Mais conteúdo relacionado

Mais procurados

Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptQA Programmer
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device MatrixCarly Vanderwert
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouPerfecto by Perforce
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Bitbar
 
SauceCon 2017: Mobile Test Pyramid
SauceCon 2017: Mobile Test PyramidSauceCon 2017: Mobile Test Pyramid
SauceCon 2017: Mobile Test PyramidSauce Labs
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source toolsQA Club Kiev
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchLizzy Guido (she/her)
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Bitbar
 
Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestImaginet
 
automation presentation
automation presentationautomation presentation
automation presentationYogesh Dongare
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareLeaware.com
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
 

Mais procurados (18)

Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.ppt
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10
 
SauceCon 2017: Mobile Test Pyramid
SauceCon 2017: Mobile Test PyramidSauceCon 2017: Mobile Test Pyramid
SauceCon 2017: Mobile Test Pyramid
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source tools
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Main Challenges of Mobile Testing
Main Challenges of Mobile TestingMain Challenges of Mobile Testing
Main Challenges of Mobile Testing
 
Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect Match
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Getting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated TestGetting Started with Coded UI Testing: Building Your First Automated Test
Getting Started with Coded UI Testing: Building Your First Automated Test
 
automation presentation
automation presentationautomation presentation
automation presentation
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by Leaware
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 

Destaque

London presentation
London presentationLondon presentation
London presentationlegendron
 
Kursy i certyfikaty jezykowe 2012 13 wer.iv
Kursy i certyfikaty jezykowe 2012 13 wer.ivKursy i certyfikaty jezykowe 2012 13 wer.iv
Kursy i certyfikaty jezykowe 2012 13 wer.ivRobert
 
Social Media Marketing
Social Media MarketingSocial Media Marketing
Social Media MarketingVIS Australia
 
Loss & grief pp
Loss & grief ppLoss & grief pp
Loss & grief ppkatelync
 
Connecting - MN BLog Conf 2012
Connecting - MN BLog Conf 2012Connecting - MN BLog Conf 2012
Connecting - MN BLog Conf 2012erikhare
 
Krackpot Communications Digital Advertising Agency
Krackpot Communications Digital Advertising AgencyKrackpot Communications Digital Advertising Agency
Krackpot Communications Digital Advertising AgencySanoj Nair
 
Kindergarten number lesson
Kindergarten number lessonKindergarten number lesson
Kindergarten number lessonew110181
 
室內空氣品質解決方案 Indoor Air Quality Solution
室內空氣品質解決方案 Indoor Air Quality Solution室內空氣品質解決方案 Indoor Air Quality Solution
室內空氣品質解決方案 Indoor Air Quality Solution榮生 張
 
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan榮生 張
 
奈米鍍膜代工(Nano-Coating Service)
奈米鍍膜代工(Nano-Coating Service)奈米鍍膜代工(Nano-Coating Service)
奈米鍍膜代工(Nano-Coating Service)榮生 張
 

Destaque (12)

London presentation
London presentationLondon presentation
London presentation
 
Kursy i certyfikaty jezykowe 2012 13 wer.iv
Kursy i certyfikaty jezykowe 2012 13 wer.ivKursy i certyfikaty jezykowe 2012 13 wer.iv
Kursy i certyfikaty jezykowe 2012 13 wer.iv
 
Sbamovein 2013
Sbamovein 2013Sbamovein 2013
Sbamovein 2013
 
Social Media Marketing
Social Media MarketingSocial Media Marketing
Social Media Marketing
 
Loss & grief pp
Loss & grief ppLoss & grief pp
Loss & grief pp
 
Connecting - MN BLog Conf 2012
Connecting - MN BLog Conf 2012Connecting - MN BLog Conf 2012
Connecting - MN BLog Conf 2012
 
Krackpot Communications Digital Advertising Agency
Krackpot Communications Digital Advertising AgencyKrackpot Communications Digital Advertising Agency
Krackpot Communications Digital Advertising Agency
 
Kindergarten number lesson
Kindergarten number lessonKindergarten number lesson
Kindergarten number lesson
 
Kepenjualan
KepenjualanKepenjualan
Kepenjualan
 
室內空氣品質解決方案 Indoor Air Quality Solution
室內空氣品質解決方案 Indoor Air Quality Solution室內空氣品質解決方案 Indoor Air Quality Solution
室內空氣品質解決方案 Indoor Air Quality Solution
 
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan
綠色安心鋪服務計畫(GWISP) Green with Integrity Service Plan
 
奈米鍍膜代工(Nano-Coating Service)
奈米鍍膜代工(Nano-Coating Service)奈米鍍膜代工(Nano-Coating Service)
奈米鍍膜代工(Nano-Coating Service)
 

Semelhante a Automating Mobile Applications

Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascriptkhanhdang1214
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As ServiceKalyan Paluri
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
 
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...İbrahim KIVANÇ
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieDavid O'Dowd
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US gbaravindkumar
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile DevelopmentTina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle ManagementAmazon Web Services
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android ApplicationsLeif Janzik
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoDaniel Semedo
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSun Technlogies
 

Semelhante a Automating Mobile Applications (20)

Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-54&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5
 
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...
GDG DevFest Istanbul - Mobile DevOps - Build, Test and Deploy Your Android Ap...
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ie
 
Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US Aravind Java Selenium Automation- US
Aravind Java Selenium Automation- US
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile Development
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Automating Mobile Applications

  • 1. Automating  Mobile   Applications   April  Luk   Mobile  Applica0ons  QA  Developer,  Decoder   april@decoderhq.com  
  • 2. Agenda   •  Tes0ng  Mobile  Applica0ons  considera0ons   •  When  to  do  automa0on?   •  Common  Mobile  Applica0on  Test  Frameworks  /  Tools  
  • 3. What  is  Mobile  Applications   •  A  mobile  app  is  soFware  that  runs  on  a  handheld  device  (phone,  tablet,   iPod  …  etc)  that  can  connect  to  Wi-­‐Fi  or  wireless  carrier  networks   •  Na0ve  app   •  Na0ve  to  one  type  of  mobile  opera0ng  system  with  the  plaOorm  SDK,  tools  and   languages,  usually  download  from  app  stores  such  as  Apple  app  store,  or  Android   Market.  App  is  stored  on  the  users  mobile  device)   •  Can  interface  with  device’s  na0ve  features,  info  and  hardware  (camera,  address   book,  etc..  )   •  Mobile  Web  app   •  Programs  run  within  a  mobile  device’s  web  browser,  the  app  resides  on  server  and   is  accessed  via  the  internet  (i.e.  they  are  not  separate  programs  that  get  stored  on   the  users  mobile  device)   •  Hybrid     •  Like  na0ve  apps,  run  on  the  device  and  are  wriTen  with  web  technologies.  Runs   insides  a  na0ve  container,  and  leverage  the  device’s  browser  engine  (but  not  the   browser)  to  render  HTML  and  process  the  JavaScript  locally  
  • 4. Testing  Mobile  Applications   considerations   •  Hardware   •  Phones  vs.  Tablets,  manufacturers,  features  (camera,  phone)   •  SoFware   •  OSs,  browsers,  app  updates,  back  grounding,  analy0cs,  gestures   •  User  Interface   •  Keyboard,  no0fica0ons,  redirec0ons,  social  media   •  Opera0ons   •  Connec0vity,  Wireless  vs  Wi-­‐Fi,  Online  vs  Offline,  interrup0ons   •  Data   •  Synchroniza0ons,  social  media  dependencies,  content  pushing  
  • 5.
  • 6. When  to  do  Automation?   •  Team  understands  the   of  automa0on   •  Improve  product  quality  and  team  produc0vity     •  Focus  on  regression  and  not  feature  tests,  keep  team  mo0vated   •  Don’t  bother  if  …   •  Team  believes  we  can  automate  tes0ng  so  that  we  can  reduce  QA  staff   •  Team  jus0fies  the  value  of  automa0on  test  based  solely  on  how  many   defects  it  catches   •  Weak  communica0on  between  QA  and  Dev  team  
  • 7. When  to  do  Automation?   •  Team  understand  the   of  automa0on   •  Seeking  required  skill  set   •  Time  to  evaluate  automa0on  feasibility   •  Effort  to  build  and  maintain  automa0on  tests   •  Impact  to  project  development  process   •  Don’t  bother  if  …   •  QA  has  no  technical  background,  or  not  mo0vated  to  implement  automa0on   •  Team  aims  to  automate  everything   •  QA  is  expected  to  automate  tests  aFer  manual  tes0ng  is  complete  (i.e.   automa0on  becomes  a  separate  project)   •  Team  engages  QA  too  late  in  development  cycle  
  • 8. Common  Native  Mobile  Application  Test   Frameworks  /  Tools   •  Mobile  applica0ons  automa0on  can  include  both  backend  and   UI-­‐client  tests   •  Backend  automa0ons   •  Expected  API  requests/responses   •  Database  interac0ons   •  UI-­‐client  automa0ons   •  Gestures  (touches,  swipes,  long-­‐pressed,  pull  …  etc)   •  Content  display  (table,  list,  webviews,  alerts,  no0fica0ons  …  etc)   •  Executed  on  simulators/emulators  vs.  devices  
  • 9. Common  Native  Mobile  App  Test   Frameworks  -­‐  Cucumber   •  Cucumber   •  Ruby  based  BDD  test  tool,  user  describes  system  features,  iden0fy  test   scenarios  and  create  test  steps  in  plain  English  with  some  specific   keywords  (Given-­‐When-­‐Then)   •  Step  defini0ons  are  wriTen  in  Ruby,  explaining  how  test  steps  are   executed   •  Some  commonly  used  ruby  gems  for  backend  automa0on   •  Json_spec,  rexml   •  Rest-­‐client,  net/hTp,  curb   •  Mongo,  bson_ext,  postgres  
  • 10. Common  Native  Mobile  App  Test   Frameworks  -­‐  iOS   •  UIAutoma0on   •  Apple’s  solu0on  for  automated  tes0ng.  It  runs  tests  wriTen  in  Javascript   through  the  Instruments  applica0on  that  comes  with  SDK   •  UISpec   •  Test  framework  that  drives  the  iOS  UI  by  using  UIQuery  to  traverse  the   view  hierarchy.  Users  create  tests  using  UIScript  /  Objec0ve-­‐C   •  KIF   •  Test  framework  that  links  directly  to  iOS  app,  test  steps  traverse  the   view  stack  using  UIView  addi0ons.  User  creates  tests  using  Objec0ve-­‐C  
  • 11. Common  Native  Mobile  App  Test   Frameworks  -­‐  iOS   •  Frank   •  2  key  components:  (1)  Frank  server  compiled  into  the  iOS  app,  (2)   Frank-­‐cucumber  driver  from  within  test  scripts   •  User  creates  tests  using  cucumber  and  Ruby   •  Originally  uses  UISpec  to  perform  view  selec0on  (UIQuery)  and  to   simulate  interac0ons  (touches,  gestures,  etc)   •  Current  version  updated  to  use  a  query  library  called    Shelley  for  view   selec0on  and  KIF’s  UIView  addi0ons  to  simulate  interac0ons   •  Includes  a  live  introspec0on  tool  called  Symbiote,  enter  a  view  selector   and  it  will  highlight  all  the  views  it  would  select  
  • 12. Common  Native  Mobile  App  Test   Frameworks  -­‐  Android   •  android.test  Package   •  Test  framework  comes  with  Android  SDK,  use   Ac0vityInstrumenta0onTestCase2  class  to  facilitate  func0onal  tes0ng  of   a  single  ac0vity   •  Test  cases  crea0on  becomes  complicated  with  an  app  includes  mul0ple   ac0vi0es,  self-­‐defined  intents,  views  with  scrollable  lists  …  etc   •  Robo0um   •  Test  framework  that  extends  the  Ac0vityInstrumenta0onTestCase2   class,  simplify  android.test  framework  interface   •  Test  cases  are  more  declara0ve  and  less  procedural   •  Full  support  for  Ac0vi0es,  Dialogs,  Toasts,  Menus,  and  Context  Menus  
  • 13. Common  Native  Mobile  App  Test   Frameworks  -­‐  Android   •  Calabash   •  Test  framework  that  uses  Robo0um  as  a  library,  Instrumenta0on  test   server  installed  on  the  app  and  cucumber  driver  from  within  test  scripts   •  Robolectric   •  More  focused  on  Unit  Test   •  Tests  are  executed  on  a  desktop  worksta0ons/server  JVM  (avoid   indexing,  packaging,  deploying  and  running  app  on  emulator/device  
  • 14. References  to  Resources   Mobile  Tes0ng  Mind  Map:   hTp://www.ministryoFes0ng.com/2012/05/mobile-­‐tes0ng-­‐course-­‐ pictures-­‐and-­‐a-­‐mindmap/   Cucumber:  hTps://github.com/cucumber/cucumber/wiki   UISpec:  hTp://code.google.com/p/uispec/   KIF:  hTps://github.com/square/KIF   Frank:  hTps://github.com/moredip/Frank   Robo0um:  hTp://code.google.com/p/robo0um/   Calabash:  hTps://github.com/calabash/calabash-­‐android    
  • 15. Thank  you!   Q&A