Android : 一般测试版本 2.3 - 7.0 (4.2-7.0) , 一般兼容4.2+ 4.4.0谷歌换了一个Android虚拟机
iOS: iOS(6-10)
wp:市场比较少了
Android有四大常用组件? Android架构? Android SDK自带工具
appium 底层调用uiautomator,审查元素用uiautomatorviewer Android 自动化工具:Robotium、Selendroid、monkeytalk、Appium、cafe ios: xcode,instruemnts,uiautomation、Appium
andriod无线发展历史: Native(功能本地化),最早的应用框架,更新功能重新发布。 hybird应用 : Native+Webview(混声应用,小更新方便。把固定的功能本地化,频繁变的做成webview,在手机应用里嵌套的HTML页面。webview只要更新后台服务器代码,就会被本地应用看到更新到新的内容。) H5 APP(比较极端) ReactNative (目前在转型此类型中,全部应用用JS写的,更新更方便。)
测试中的需求:
多分辨率多系统Rom多硬件(特别是安卓,某些手机特殊键可能会触发APP出现问题)多渠道(渠道包发布后,验证渠道包是否能正常下载安装,没有必要验证渠道包功能)网络情况复杂(3g,2g,4g,wifi,复杂的网络切换,会出现问题)安装卸载升级测试推送与分享
测试策略: 1.利用真机和模拟器手工测试(兼容性覆盖:主流机型TOP10的分辨率和ROM) 2.利用第三方云测试平台,MTC或Testin做全部142个设备的安装卸载的兼容性测试(耗时大约4小时) 3.利用第三方平台,测试特定场景(如低电量、网络状况差)的应用表现 4.利用Monkey对TOP16做不同维度的稳定性测试,解决崩溃问题 5.自动化兼容性、回归、diff、基础验证 6.专项测试投入 7.接口自动化测试 安卓四层框架:
Android应用层,Android应用框架层,Android系统运行层,Linux内核层。 安卓技术架构: 最底层是Linux内核层,有很多driver驱动,是操作系统和硬件的桥梁。displaydriver(显示驱动),camera driver(相机驱动),WiFi无线网卡驱动,flash闪存驱动,power电池驱动,audio声音驱动,binder(进程通信),keypad键盘驱动。
librarys包(核心代码层),Android运行环境,虚拟机(图上是4.2以下)
应用框架层: 读联系人,activity manager页面管理,窗口管理等,封装了很多Android常用的函数和方法。
Android应用层 首页,浏览器,打电话,APP,等。
Android四大组件: Activity, service,后台程序、网络请求、IO操作 content provide,数据共享,对外提供给其它app读取数据,比如app获取通讯录联系人 broadcastReceiver,广播接收器–监听设备,当你的安卓设备状态发生改变,就会给系统内应用程序发出广播,地理位置改变,电量过低,内存不足,开启蓝牙,来电。