zoukankan      html  css  js  c++  java
  • 移动端 App UI 自动化测试浅谈

    很多做测试的同学对UI自动化充满着向往,但又充满畏惧,经常不知道如何入手。一方面是因为技术薄弱,觉得自动化测试比较难,另一方面可能对自动化测试持怀疑态度。那到底什么是UI自动化测试,它能给我们带来什么样的价值呢?下面我们探讨下移动端的UI自动化方法。

    什么是UI自动化?
    首先,我们引用来自Monkey大神对的定义:UI自动化包括界面层面(控件,元素,位置,显示等的识别)以及功能交互层面(往往是通过代码或者测试框架来模拟真实用户的操作)
    从个人的理解来看,UI自动化是通过工具或者脚本语言将测试过程模拟出来,并重复执行,用以验证功能是否正确的过程。
    为什么要做UI自动化测试?
    对于移动app而言,很多公司都采用敏捷开发的模式,因此测试也必须敏捷测试,每个迭代的周期非常短,经常要对原有功能进行回归测试,增加大量重复人力成本。引入UI自动化测试可以用来快速回归测试app原有功能,测试人员只需要关注新功能的测试。
    移动端App的测试用例大部分是功能验证相关的用例,通过UI操作即可验证,这就为UI自动化提供了便利条件。
    测试重复度高,执行效率低,通过UI自动化可以快速重复执行,达到提高测试效率的目的。
    常用UI自动化测试工具
    这几年,移动端技术发展非常迅速,测试手段也同样发展迅速,出现了大量用于对移动端app进行自动化测试的工具,下面简单列举下:

    Monkey 是 Google 开发的UI/应用测试工具,也是命令行工具,主要针对压力测试。你可以在任意的模拟器示例或者设备上运行。Monkey 发送一个用户事件的 pseudo-random 流给系统,作为你开发应用的压力测试。
    IOS UI Automation,基于IOS instrument。
    MonkeyTalk 通过在App中加入client自动化为 iOS 和 Android 应用进行真实的,功能性交互测试。有成熟的集成开发环境,有API支持和持续集成解决方案,且方便二次开发,目前不开源,属于功能强大但没有被很好推广的测试框架。
    Robolectric 是一款Android单元测试框架,使用 Android SDK jar,所以你可以使用测试驱动开发 Android 应用。
    Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。另外,Robotium 4.0版本已经支持对WebView的操作。
    uiautomator 测试框架提高用户界面(UI)的测试效率,通过自动创建功能 UI 测试示例,可以在一个或者多个设备上运行你的应用。
    Selendroid 使用 Selenium 2 客户端 API 编写。可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。
    Appium是一个开源的、跨平台的自动化测试工具,适用于测试原生或混合型移动App,支持iOS、Android和FirefoxOS平台。
    Calabash是一款适用于iOS和Android平台的跨平台应用测试框架,支持Cucumber,开源且免费,隶属于Xamarin公司。
    套用网上一位测试朋友的话,“自动化测试听起来很神秘,学起来很简单,用起来很麻烦”。UI自动化的优点很多,但要考虑适用场景,否则适得其反。同样,我们也要选好一个适合的自动化框架,这样才能提高效率。总而言之,想搞好自动化测试,还需要测试人员不断地提高测试理解力,分析能力和代码水平。

  • 相关阅读:
    Python基础语法 第2节课(数据类型转换、运算符、字符串)
    python基础语法 第5节课 ( if 、 for )
    python基础语法 第4节课 (字典 元组 集合)
    Python基础语法 第3节课 (列表)
    A. Peter and Snow Blower 解析(思維、幾何)
    C. Dima and Salad 解析(思維、DP)
    D. Serval and Rooted Tree (樹狀DP)
    C2. Balanced Removals (Harder) (幾何、思維)
    B. Two Fairs 解析(思維、DFS、組合)
    D. Bash and a Tough Math Puzzle 解析(線段樹、數論)
  • 原文地址:https://www.cnblogs.com/icexu/p/13324387.html
Copyright © 2011-2022 走看看