一、苹果系
UIAutomation 苹果自家的
Appium 同时支持android, 提供的api也基本一致,代码复用率高
Calabash 同时支持android, 提供的api也基本一致,代码复用率高
二、安卓系
UIAutomator 谷歌官方提供,只能做原生APP的自动化测试,语言java
Monkey 理论上不算UI自动测试框架,更大作用测试app的稳定性
MonkeyRunner 可录制,但是脚本根据坐标轴定位,兼容性差
Robotium 使用的人较多,文档也比较齐全,也支持webview,不支持跨进程, 语言java
Appium 支持Hybrid app,也支持跨进程,可以用众多语言编写脚本java,ruby,python,c#……目前不支持安卓toast的获取
Calabash 语言Java ,底层Robotium 同样不支持跨进程
针对app测试的重点关注内容
一.首先是测试资源确认及准备
①产品需求文档、产品原型图、接口说明文档以及设计说明文档等应齐全;
② 测试设备及工具的准备: IOS 和 andriod 不同版本的真机,以及相关测试工具的准备。
二.测试用例的设计与评审
① 根据产品需求文档、产品原型图等文档,设计客户端的一般功能测试用例;
②测试用例评审、修改与完善,评审通过后着手进入正式测试阶段。
三.中断测试
① 软件运行过程中接电话、收短信、锁屏、闹铃、充电,收到通知提醒后再使用软件,软件应仍可正常运行使用;
②软件运行时,由前台切换到后台,再切回前台后,应仍可正常运行使用。
四.性能测试
①客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的 CPU 、内存、流量、耗电量等,以及与同类产品相比较是否有优势;
②其中页面加载时间可以利用 Android 调试工具 DDMS 获取到,在 DDMS 里面搜索 Displayed 关键字就可以看到页面加载时间;
③运行过程中主要功能占用的 CPU 、内存、流量等可以借助开源工具 emmagee (适用于 Android)获取到;
④至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以视同工具 loadrunner 、 jmeter 进行测试。
五.UI 测试
①确保手头的原型图与效果图为当前最新版本,符合产品经理及用户要求;
②测试过程中一切以效果图为准,若有用户体验方面的建议,可以先以邮件的形式与产品经理确认,确认通过后,可以正式向开发提出用户体验方面的问题;
③由于测试环境中的数据为模拟数据,测试时必须预先考虑到正式环境中可能出现的数据类型。
六.稳定性测试
①安卓 APP 的稳定性常常使用 monkey 命令进行app测试,通过随机事件流模拟人的操作,对检查程序的内存溢出、空指针有很大的作用。
②Monkey 主要用来检测系统 ANR 及 Crash 等问题
七.兼容性及适配测试
①硬件的适配:不同手机厂商、硬件性能,不同屏幕大小的适配;
②OS 版本的兼容: IOS8-10 ; Andriod4以上等,如果用了一些新的 API 在老的系统上不支持会导致 crash ;
③不同分辨率屏幕的适配:移动设备的分辨率多种多样,如果 app 没有做比较合适的处理就可能会显示不好,甚至影响功能的操作。
④兼容性测试必须在一定数量的真机上进行,由于真机类型过多,尤其 Android 在做兼容性测试时,可以选取典型的几种运用较多的真机,进行兼容性测试;
八.功能测试
①功能测试时主要依据编写的功能测试用例进行软件功能的遍历;
②涉及的测试主要包括基本功能测试,安装、卸载、运行测试,异常处理(包括网络突然断开或者网速过慢、机器内存不足等异常情况的处理)测试。
如有侵权请联系,立即删除
图文来自网络,如有侵权请联系删除