首先谈一下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. HDOJ 1878 欧拉回路 nyoj 42一笔画问题

    #include<cstdio> #include<cstring> ]; int find(int x) { if(visited[x]!=x) return find(vi ...

  2. 找不到提交和更新按钮,subversion不见了,无法更新和上传代码

    1.查看settings/plugins/下有没有subversion 插件,如果有,确保勾上. 2.VCS->Enable Version Control Integration...

  3. 解决ntp的错误 no server suitable for synchronization found

    当用ntpdate -d 来查询时会发现导致 no server suitable for synchronization found 的错误的信息有以下2个: 错误1.Server dropped: ...

  4. JavaScript 在页面上显示数字时钟

    显示一个钟表 拓展JavaScript计时:http://www.w3school.com.cn/js/js_timing.asp setTimeout() 方法会返回某个值.在下面的语句中,值被储存 ...

  5. jQuery 效果函数

    jQuery 效果函数 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选元素的所有排队函数( ...

  6. 【leetcode】String to Integer (atoi)

    String to Integer (atoi) Implement atoi to convert a string to an integer. Hint: Carefully consider ...

  7. discuz 帖子模块用到的表及自动发帖函数

    最近在做一个discuz的插件,由于需要程序自动生成并调用discuz已经存在插件的帖子.然而这就相当于自动发帖的功能了.网上找了一下,大部分都是通过curl模拟登陆,模拟发帖的,这显然不满足我的要求 ...

  8. [Android Pro] RecyclerView实现瀑布流效果(二)

    referece to : http://blog.csdn.net/u010687392 在上篇中我们知道RecyclerView中默认给我们提供了三种布局管理器,分别是LinearLayoutMa ...

  9. 【读书笔记】读《JavaScript模式》 - JavaScript函数常用模式

    API模式:回调模式.配置对象.返回函数: 初始化模式:即时函数.即时对象初始化.初始化分支: 性能模式:备忘模式.自定义模式 //*********************** API模式 **** ...

  10. javascript中json解密

    一直以前都会断断续续会碰到js中的json数据的解析,下面凭着自己的经验,简单的讲解一下在js中的json的几种解析方法.  一.jquery的方式 首先你得先得到数据,一般都是jquery的ajax ...