首先谈一下APP自动化测试面临的一些局限性?

答:测试业务的不明确性,APP逻辑复杂,界面的跳转变化随时间变化。

测试本身的不确定性,如不定时弹窗问题。

测试环境不稳定性,主要是网络的稳定性。

测试接口的局限性,以功能强大的UiAutomator(不考虑Appium)为例。非标准控件无法捕捉,Web界面无法抓取,中文输入(可以用UTF-7输入法来实现)。

PC和测试Devices间ADB连接的不稳定性。

APP自动化控制工程架构的选择问题?

答:(1) 测试粒度的选择,粒度选择为较小的单步操作,则会造成测试步骤冗长,维护复杂,但也会使得测试过程清晰明了;如果选择一系列有特定意义的操作为粒度,

好处是可以通过方法调用实现代码复用,缺点是一个地方出错则会影响所有相关的测试,对测试脚本的稳定健壮性要求很高。

(2) 是否需要自己写一套简单的测试管理控制架构,首先写一套简单的这个东西是不会费很多代价的。首先编写新的测试执行控工程,建议使用Json文件配置执行

方式,根据DeviceID实现多机器并行测试。如果不想自己写,建议使用Robot Framework,其支持IDE和Shell两种启动执行方式。

(3) 控制工程架构的报告模块,建议采用Html样式的测试报告。报告对测试执行的细节要有很好的体现,对测试失败的节点要很明显体现,对LOG亦要有很好的保

存,同样报告也要做到简单明了。

APP自动化工程部署?

答: 建议使用开源的Jenkins部署测试项目,具体就不细说了。

APP自动化工程的稳定性很大依赖于测试脚本的稳定性,而APP脚本的稳定性依赖于脚本的编写和自动化测试用例的设计。

自动化测试脚本的编写稳定性,依赖于统一的严正的编写标准和严密的测试逻辑。

自动化测试用力的设计,建议由有自动化脚本编写经验的同学来设计,以提高自动化测试用例的设计质量,提升自动化测试脚本开发速度和开发质量。

关于APP自动化工程的一点小想法的更多相关文章

  1. 对MySQL数据量日益增长产生的一点小想法

    最近一直在想一个问题 MySQL数据量日益庞大,目前单表总记录数有 300W+,导致sql语句执行的速度变慢,如果一直这样增长下去,总有一天会爆炸的.怎么办??怎么办?? 第一:想到的必然是 添加索引 ...

  2. 关于变长数组的一点小想法-C语言定义数组但是数组长度不确定怎么办

    很多数据机构,比如栈,链表等,都可以动态分配存储空间 那么数组呢?一般声明时都要指定数组长度,那么数组可以实现动态分配么? 假设数组存的是int型 那么 你先申请10个元素 int* a = (int ...

  3. 我对android开发的一点小感悟小看法

    “Android”,“Android开发”等等这些词成了时下最热的词,也是时下大众最关注最吸引人眼球的话题,当然,最热门的行业也意味着高薪,好的就业环境,但同时也意味着强大的竞争力! Android系 ...

  4. 关于win8开发的一点小总结

    我今天做画面的时候,发现了一点小问题. 我在xmal文件里面加了一个CheckBox控件,设置IsChecked属性为True,并添加了Checked事件.Checked事件里面有对另外一个TextB ...

  5. 关于PHP魔术方法__call的一点小发现

    好久没有上博客园写文章了,今晚终于有点空了,就来写一下昨天的一点小发现. 我自己所知,C++,Java的面向对象都有多态的特点,而PHP没有,但PHP可以通过继承链方法的重写来实现多态的属性.而魔术方 ...

  6. android上instant app介绍 类似于微信小程序

    android上instant app介绍 类似于微信小程序instant app 是谷歌推出的类似于微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时 ...

  7. net core体系-web应用程序-4net core2.0大白话带你入门-8asp.net core 内置DI容器(DependencyInjection,控制翻转)的一点小理解

    asp.net core 内置DI容器的一点小理解   DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IO ...

  8. C与C++在形參的一点小差别

    先看一下以下的代码: int fun(a,b) int a; int b; { return 10; } void main(int argc, char ** argv) { fun(10); re ...

  9. BUI Webapp用于项目中的一点小心得

    接触BUI也有一段时间,也用在了移动端的项目开发中,总的来说,该框架用起来也挺灵活的,控件可以自由定制,前提是自己能认真地学习该框架的api,因为api里面说的东西比较详细,如果没有仔细看的,可能有些 ...

随机推荐

  1. 【原创】Js:日期处理(日期格式必须【yyyy-mm-dd】才能转成long的毫秒!其他的不是【年-月-日】的格式,结果会是【NaN】)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Java for LeetCode 064 Minimum Path Sum

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...

  3. hdu 1879 继续畅通工程 解题报告

    题目链接:http://code.hdu.edu.cn/showproblem.php?pid=1879 这条题目我的做法与解决Constructing Roads的解法是相同的. 0 表示没有连通: ...

  4. icon上添加数字提醒

    使用viewbadger包: package com.jingle.vierbagerstudy; import android.app.Activity; import android.os.Bun ...

  5. Hadoop配置文件

    部分内容参考:http://www.linuxqq.net/archives/964.html  http://slaytanic.blog.51cto.com/2057708/1100974/ ht ...

  6. Quartus signal tapii 的使用

    此功能原来已经试验过,没有笔记.这次复习巩固下. 使用PLL 的程序. 1.新建signaltap ii 文件 注意以下几个地方,会用到 添加采样时钟 . 添加采样信号: 完成之后,编译下载 运行 两 ...

  7. WPF常用方法,事件驱动和控件遍历

    //初始化数据,默认选中第一项,事件驱动 RadioButton btn = FuncClass.GetChildObject<RadioButton>(this.stackPanel1, ...

  8. wp8 安装.Net3.5

    Microsoft .NET Framework 3.5 Service Pack 1 http://www.microsoft.com/zh-cn/download/details.aspx?id= ...

  9. 微信第三方登陆,无需注册一键登录,获取用户信息,PHP实现方法

    今天讲讲利用微信oauth2实现第三方登陆的实现方法. 先说说前提吧! 首先你得是服务号,并且是经过认证的.这样微信会给你很多第三方接口的权限,如果是订阅号或者没有认证的服务号那就不用想了! 一开始你 ...

  10. hdu 2795 线段树(纵向)

    注意h的范围和n的范围,纵向建立线段树 题意:h*w的木板,放进一些1*L的物品,求每次放空间能容纳且最上边的位子思路:每次找到最大值的位子,然后减去L线段树功能:query:区间求最大值的位子(直接 ...