Instrumentation的缺点是不支持跨应用,比如我想要先调起通讯录,在操作其他的app,则不支持。

 

第一步,应该确定系统哪些模块适合自动化、哪些不适合做自动化,明确做自动化给我们带来的好处是什么,不能为了自动化而自动化。

第二步,方案选择-选择框架。

第三步,环境准备。

第四部,系统设计,公共模块的封装,数据与代码的分离,日志管理等。

第五步,编码。

 

分层测试:底层单元测试,中层接口测试,顶层为UI测试,做自动化测试的收益比从大到小。

 

 App三种类型与区别:

原生应用程序(Native App):

原生APP就是利用安卓、IOS平台官方的开发语言、开发类库、工具进行开发,比如安卓的java语言,IOS的object-c语言。在应用性能上和交互体验上应该是最好的。

优点:

1,可以访问手机上所有功能,实现的功能最齐全。

2,运行速度最快,性能高,绝佳的用户体验。

3,支持大量的图形、动画,并且不卡、反应快。

4,比较便捷的使用设备端提供的接口,处理速度上有优势。比如调用手机上的相机、通讯录都比较快。

缺点:

1,成本高、周期长,安卓和IOS都需要单独开发。

2,版本更新的时候需要重新下载安装包。

混合应用程序(Hybird App):

即利用了原生App的开发技术,还应用了HTML5开发技术,是原生和H5技术的混合应用,混合比例不限。

优先:

1,开发周期短。

2,功能更新发布快。

缺点:

1,用户体验不如本地应用。

2,性能稍慢(需要连接网络)。

Web版App(Web App)

本质就是浏览器功能的叠加,用普通Web语言开发的,通过浏览器运行。

优点:

1,支持范围广(只要有网、有浏览器就可以访问)

2,开发成本低,周期短。

缺点:

1,对联网要求高,离线不能做任何操作。

2,功能限制。(比如网页版中查看我的订单不如app方便) 

3,图片和动画支持性不高。

4,如果用户使用更多的新型浏览器,那么就会出现运行问题。(如布局)