Posted In | Automation Testing, Mobile Testing, Software Testing Tools

 

Nowadays automated tests are used during almost every testing process. This is not surprising, as properly organized automated testing greatly reduces time needed for a testing process, excludes errors and omissions in tests execution caused by a human factor.

There is a wide choice of tools for automation. Some of them are free, some are rather expensive. Some automation tools were created years ago; some have just appeared on the market. Each tool is unique and possesses certain characteristics.

Wide choice of available automation tools makes it difficult to select the most suitable ones for a project. The problem is that hardly any of the existing tools fully corresponds to project requirements.

In Order to Make Automated Tests Effective and Profitable One Should:

  • Research the software product under test and the project;
  • Clearly determine what tests are to be automated;
  • Formulate requirements to the automated tests and the tools for automation;
  • Study at least several available and more or less suitable tools for automation;
  • Select the most suitable one or more tools basing on the researches;
  • Discuss the chosen automation tools with other project parties, explain the choice, and get their approval;
  • Proceed to tests automation.

Such approach and sequence of steps would be approved by most of quality assurance experts.

Many different kinds of computers have appeared recently, their appearance started rapid development of software products. The most amazing is evolution of mobile devices; they significantly differ from common personal computers by characteristics, ways and conditions of interaction with them.

Consequently, smartphones and tablets require special mobile applications that differ from desktop ones.

Operating system of most of personal computers is Windows. Among popular mobile operating systems are Android, Apple iOS, Blackberry OS, Windows Phone, Symbian and other.

Also read => Beginner’s Guide to Mobile Application Testing

Top 5 Android Testing Tools:

Let’s explore modern tools for automated testing of applications supported on one of the most widespread mobile operating system – Android.

#1. Robotium Android Testing Tool

(Click to enlarge image)

Robotium is one the first and frequently utilized automated testing tools for software supported on Android.

Robotium is a free Android UI testing tool. It is suitable for tests automation for different Android versions and sub-versions. Software developers often describe it as Selenium for Android. Tests created by Robotium are written in Java. In fact, Robotium is a library for unit tests.

But it takes much time and efforts to create tests by means of Robotium, as one must work with the program source code in order to automate tests. The tool is also unsuitable for interaction with system software; it cannot lock and unlock a smartphone or a tablet. There is no Record and Play function in Robotium, and it does not provide screenshots.

#2. MonkeyRunner Android App Testing

MonkeyRunner is one of popular Android Testing tools used for automating of functional tests for Android software.

This tool is more low-level than Robotium is. One does not have to deal with the source code in order to automate tests. The tests are written in Python, one may use a recording tool for creating tests.

MonkeyRunner can run tests on real devices connected to a PC or emulators. The tool has an API what allows it to control a smartphone, a tablet or an emulator from outside of Android code.

Significant disadvantage of the mobile app testing tool is that it is necessary to write scripts for each device. Another problem of MonkeyRunner is that the tests require adjustments each time when user interface of the tested program is changed.

#3. Ranorex Android Application Testing Tool

(Click to enlarge image)

Ranorex is a good tool for tests automation not only for the latest, but also for early versions and sub-versions of Android, beginning from Android 2.2.

One of Ranorex advantages is its detailed reports with screenshots. It can connect a smartphone or a tablet to Internet via WiFi.

An automated test engineer can elaborate data-driven tests, excluding XML data format, by means of this Android tool. Ranorex Studio enables an automated test engineer to create tests easily, just clicking the mouse. It allows elaborating additional program modules. The modules may be utilized during late development cycles for more complex test scenarios.

------------

It is a commercial mobile application tool; its license price is 1990
EUR. Ranorex searches elements rather slowly; it takes up to 30 seconds
to perform such an operation. One must instrument APK files for
Ranorex. Otherwise it is impossible to automate tests by means of this
tool, as it works only with instrumented APK files.

#4. Appium Android Automation Framework

(Click to enlarge image)

It’s a framework for creation automated tests for iOS and Android. It
is a free tool. It supports Android versions from 2.3 and later. Appium
utilizes WebDriver interface for tests running. It supports many
programming languages, such as Java, C#, Ruby and other which are in the
WebDriver library.

It can control Safari and Chrome on mobile devices. This allows to test mobile web sites using Appium and these browsers.

But some automated test engineers complain that it provides poor,
insufficient reports. Also its weakness is reduced XPath support on
mobile devices.

#5. UI Automator for Android Test Automation

(Click to enlarge image)

This tool has been recently elaborated by Google. It supports Android
versions beginning from 4.1. One should select another Android app
testing tool in order to automate tests for earlier versions. UI
Automator is able to interact with all kinds of software products for
Android, including system applications. This enables UI Automator to
lock and unlock a smartphone or a tablet.

Scripts created by means of this tool can be executed on many
different Android platforms. It allows reproducing complex sequences of
user actions.

UI Automator also can utilize external buttons of a device, such as
buttons for going back, volume regulation, turning on and off the
device.

It can be integrated with testing framework TestNG. In this case UI
Automator can generate informative and detailed reports, similar to
reports generated by Ranorex. This tool also searches elements very
fast.

Software testing experts find UI Automator good for quality mobile
application testing on many Android platforms. It is one of the best
tools for Android applications, as it is elaborated by Google specially
for this operating system.

Usually about 80% of new software bugs reproduce on all the supported platforms. So, one may perform mobile testing
on one of widely used platforms and discover up to 80% of defects. The
rest 20% will be found on all the other platforms. That means that in
most cases it is better to test software product thoroughly on fewer
platforms than hastily on numerous.

At present Android 4.1 is installed on about 66% of all devices using
Android operating system. That is why many automated test engineers
often decide that UI Automator is the most suitable solution.

Ranorex is frequently utilized for creation tests for early Android versions.

Conclusion:

Tests automation is a complex task. It requires thorough preparation
and researches. One should also keep up with all the novelties in
information technology, applications and test automation tools. All this
knowledge is necessary for creating the most effective tests.

About the Author: This is a guest post by Oleg Prosyanik, a Senior Automated Test Engineer of QATestLab,
a leading Ukrainian company offering full range of software testing
services. He has been automating tests for more than 4 years. Oleg
creates automated tests for different desktop and mobile applications;
he has strong programming skills in widely used languages, such as Java,
PHP, Delphi, Ruby, C#.

Let us know if you have any queries on mobile testing or Android Testing Tools we listed in this article.

转自:http://www.softwaretestinghelp.com/5-best-automation-tools-for-testing-android-applications/

5 Best Automation Tools for Testing Android Applications的更多相关文章

  1. xmlns:tools="http://schemas.android.com/tools"以及tools:context=".ConfActivity"是什么意思

    xmlns:tools="http://schemas.android.com/tools"这个是xml的命名空间,有了他,你就可以alt+/作为提示,提示你输入什么,不该输入什么 ...

  2. 10 Unit Testing and Automation Tools and Libraries Java Programmers Should Learn

    转自:https://javarevisited.blogspot.com/2018/01/10-unit-testing-and-integration-tools-for-java-program ...

  3. 一个文件查看你选择 Run as Android applications 都干了啥

    <?xml version="1.0" encoding="UTF-8"?> <project name="PushFastDemo ...

  4. How to Build Android Applications Based on FFmpeg by An Example

    This is a follow up post of the previous blog How to Build FFmpeg for Android.  You can read the pre ...

  5. 解决Android studio导航tools下没有android怎么打开DDMS工具

    因为这个功能用的人少, 新版本就去掉菜单入口了, 但这个功能并没有删除,打开方式:点开terminal ,也就是AS自带的命令行工具, 输入monitor 回车就启动了, 1.点开terminal 2 ...

  6. [Testing] Static Analysis Testing JavaScript Applications

    The static code analysis and linting tool ESLint is the de-facto standard for linting JavaScript pro ...

  7. [Angular 8] Take away: Tools for Fast Angular Applications

    Based on the talk from NG-CONF. Check it out by yourself, here is just my own take away :) Different ...

  8. wesome-android

    awesome-android Introduction android libs from github System requirements Android Notice If the lib ...

  9. Andriod 自动化测试研究方向

    前言 孔子曰:"工欲善其事,必先利其器",我来云:"工欲利其器,必先知其理".我们无论学习任何新事物,都要尽量做到"知其然知其所以然",对于 ...

随机推荐

  1. Marshal.SecureStringToBSTR

    Marshal.StringToBSTR 方法 命名空间:System.Runtime.InteropServices程序集:mscorlib(在 mscorlib.dll 中) // 使用一个Int ...

  2. Fiddler-007-修改HTTP请求响应数据

    前文简述了如何通过 Fiddler 修改 HTTP请求 的请求参数,详情请参阅:Fiddler-006-修改HTTP请求参数. 在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查 ...

  3. MacOX-001- 远程连接 windows 客户端

    至如下地址下载 windows 远程工具: http://www.microsoft.com/zh-CN/download/confirmation.aspx?id=18140 下载完成后,依据向导进 ...

  4. iOS:特殊符号大全

    特殊符号大全分享给大家,直接复制粘贴就可以使用了! ░ ▒ ▬ ♦ ◊ ◦ ♠ ♣ ▣ ۰•● ❤ ●•۰ ► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ♧♡♂♀♠♣♥❤☜☞☎☏⊙◎ ☺☻☼▧▨ ...

  5. linux 入门

    php            php -v ------------------ 阿帕奇 apachectl -v httpd -v ----------------------------- mys ...

  6. 分布式消息系统Kafka初步

    终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开始分布式消息系统的入门. 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到 ...

  7. Power-BI 仪表盘实现动态预警

    BI系统中仪表盘“序列”中的“预警”属性可以手工填入固定的值,也可从数据集里取值设定预警范围 ,以实现动态预警.其中的“范围”属性手工输入固定值应该为百分比(0-1),而在下拉选择绑定列为值是为数值. ...

  8. Java遇见HTML——JSP篇之JSP内置对象(上)

    一.JSP内置对象简介 1.1.内置对象简介 JSP内置对象是WEB容器中创建的一组对象,可以直接使用不需要new,如截图中的out 对象. JSP有九大内置对象: 五大常用对象: out.reque ...

  9. box2dweb之关节joint(连接器)

    1 概述 前篇基础文章看完后基本上就应该对box2dweb能上手了,下面来介绍一下box2dweb非常重要的一个概念,关节(joint)也有叫连接器的,总之是一个意思.下面是关节详细的类库说明: BO ...

  10. session的方法

    Hibernate对象的状态 瞬时(Transient) — 由 new 操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时(Transient)的.瞬时(Transien ...