Wednesday 8 October 2014

Mobile Application Testing and Automation - Overview



Mobile application testing is a process of testing applications for the functionality, usability and consistency. Mobile application can be pre-installed or provided by the mobile software distribution platform itself.

In simple language, application functionality tested that works on mobile platform is nothing but “Mobile Application Testing”.

There are different types of mobile applications:

Native apps – Client side applications
  • Created to work on mobiles and tablets
  • Developed using SDKs
  • Installation is required
  • Mostly no need of internet

Mobile web apps
  • Server side application
  • Websites accessed on mobile using browsers like chrome, safari, firefox etc
  • Developed using the web technologies like html, php, css, asp.net etc
  • Need mobile internet / Wi-Fi to access the applications

Hybrid apps
  • It’s the combination of native and web applications
  • Majorly developed using HTML5 and CSS
  • Can run on mobile and be used offline as well 
Testing the applications on mobile devices are more challenging than testing on desktop due to variety & range of devices and different & versions of operating systems like iOS 5,6 etc / Android 2.3,3.1, 4.2, 4.3(jelly bean), 4.4(Kit Kat) etc.

Different types of tests performed on mobile applications:
  • Usability: To make sure user experience of mobile app is easy, simple and satisfactory
  • Functionality: Testing the intended functionality of the application, just like any other application
  • Interface testing: Testing every menu options, buttons, setting and importantly the Navigational & functional flow of the app
  • Compatibility: testing on different devices , browsers and versions of OS etc 
Apart from the above, we do have various other testing types like Installation testing, Performance, API, Security which can be performed with some manual intervention.

When it comes to automation for the mobile application, there are few tools which can interact directly with the objects on mobile interface. Also, there are few commercial tools that work on image based object recognition like EggPlant, Renorex, SeeTest etc.

We have few open source libraries & tools like Robotium, Sikuli and Selendroid which can also provide faster and reliable automation results for mobile testing.



When it comes to automation of mobile app testing on android platform, we have Selendroid which has great support to interact with the emulators and various devices with different android versions.

Selendroid is based on Android instrumentation framework which helps automation on the android platform for both mobile webview and native apps.

Features of Selendroid:
  • Mobile WebDriver supports native and hybrid apps
  • AUT need not be modified to automate it
  • All the browser automation atoms are supported
  • Advanced user interaction and gestures like tap, doubletab, flick etc are supported.
  • Multiple simulators and devices can be interacted
  • Emulator can be started automatically before execution of the test
  • Built in inspector for object identification
  • Full Support to JSON wire protocol

Coming to iOS platform, there are open source and commercial tools but Appium has extensive and increasing support of automation on iOS.

Appium is a cross-platform test automation tool for native, hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators (Android), and real devices (iOS, Android, FirefoxOS). There are few challenges in mobile test automation with respect to platform technology and the execution of the scripts once automation is done.

Mobile automation success depends on the tool’s ability to work across various platforms and technology. The following challenges influence mobile automation success:
  • Multiple platforms and browsers
  • Differences in rendering
  • Mobile devices with varied application run times
  • Some network related to issues when using different types of networks (GSM/GPRS/Wi-Fi/Wi-Max).
  • When using the physical devices some of the hardware challenges like processing speed and memory limitations. 

When it comes to Test execution across different devices and browsers there will be huge effort to deploy and run automation tests. For example we have a test case that needs to be executed on three different platforms, such as Android, iOS and Blackberry. The test case is expected to be executed on 10 different devices and in 10 different combinations, which leads to 100 iterations of execution which is challenging and time-consuming to design such a test execution on mobile. Collaborating with cloud mobile environment providers like BrowserStack, SauseLabs & DeviceAnywhere is a good idea to quickly test compatibility on multiple environments.



By
AutomationMentor
www.automationmentor.in

We provide hands-on training on automation tools and frameworks

17 comments:

  1. The blog gave me idea about mobile application testing and automation my sincere thanks for sharing this post and please continue to share this kind of post
    Software Testing Training in Chennai

    ReplyDelete
  2. really you have posted an informative blog. before i read this blog i didn't have any knowledge about this but now i got some knowledge so keep on sharing such kind of an interesting blog.
    selenium training in chennai

    ReplyDelete
  3. Interesting blog. really you have post an informative blog. Keep update to this blog for our vision. Thank you...!!!
    Selenium Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  4. This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.I really like this topic.
    Selenium Training in Chennai
    Selenium Automation Testing Training in Chennai

    ReplyDelete
  5. This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.I really like this topic.
    java training in chennai | java training institutes in velachery

    ReplyDelete
  6. our information about Selenium is useful for me to know more technical information. Really very informative post you shared here. Keep sharing this type of informative blog. If anyone wants to become a Selenium professional learn Selenium Training in Bangalore. Nowadays Selenium has tons of job opportunities for all professionals.


    Software Testing Training in Bangalore

    Software Testing Training in BTM Layout

    Software Testing Training in Marathahalli




    ReplyDelete
  7. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..


    Selenium Training in Chennai

    ReplyDelete
  8. A writer should always try to keep its writing very simple and clear. Always use facts which are easily acceptable by general people because they are very close to their assumptions and they welcome such kind of facts.
    ทำเว็บสำเร็จรูป

    ReplyDelete
  9. It was truly decent to peruse article composed on this blog. I might likewise want to include couple of strategies with best of my insight which can help peruser to an ever increasing extent. Mobile app support and maintenance in California

    ReplyDelete
  10. Getting into Integrated Marketing is tough if you don’t have thorough knowledge. Then why not join Talentedge, the first ed-tech platform that has joined hands with XLRI and MICA to provide the best courses to the students.

    ReplyDelete
  11. Nice and interesting post, I appreciate your hard work. keep it up…!!!Thanks for such useful information, It is true that now if you want to grow your business you will surely need the mobile app testing services for your business. But for that purpose everyone needs best mobile app testing companies.

    ReplyDelete