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,如果用户使用更多的新型浏览器,那么就会出现运行问题。(如布局)