对于手机端测试,按照平台来分,分为 Android 和 IOS 两大主流系统:

对于 ios 和 Android,二者有区别,Android 开源导致碎片化比较严重,bug 比较多,而 IOS 通常 bug 会少一些。

按照目前技术架构的话,现在有一些原生的 app 架构,类似于 Client Server 架构,也有基于 Html5 的 app,类似于 pc 机的 BS(Broswer server)架构。手机测试和 pc 机类似,又有一些不同的地方。 

当然除了手机,现在还有好多使用 Android 系统,比如酒店点餐的平板,银行对公或者对个人业务的业务平台,还有一些智能的穿戴设备,小米的手环,google 联想的智能眼镜,智能家居,电视盒子,这些都是在使用 android 系统,比如,现在测试一个智能家居设备,测试的时候需要考虑蓝牙,wifi 连接传输这块,也有好多要测试的内容。 

功 能 测 试

对于手机 app 来说,和测试 web差不太多,也是各种测试方式需要考虑进来。比如说逻辑功能测试,现在移动端越来越火爆,大家用的软件也越来越多,对软件也越来越挑剔。

现在公司在开发移动端的时候,都是有相应的需求文档和  UI 所设计的产品效果图,测试人员做逻辑功能测试,就是根据这些资料,当然也根据我们正常人的逻辑思维进行逻辑功能测试,看看这些功能是否合理。 

安装与卸载测试

软件安装后是否可以正常运行,安装过程中是否可以取消,安装空间不足时,是否有相应提示,是否可以卸载应用。

卸载是否支持取消功能,单击取消后软件卸载功能是否正常,卸载后文件是否全部删除所有的安装文件夹,从不同的应用市场下载进行安装测试。

软件升级测试

当客户端有新版本时,是否有更新提示,当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户在下次启动 app 时,仍能出现更新提示。

当版本为强制升级版时, 当给出强制更新后用户没有做更新时,退出客户端,下次启动 app 时,仍出现强制升级提示, 当然现在强更已经很少出现了。

登 录 测 试

对于登录测试,基本上每一款app都有登录注册功能,所以在测试 App 的时候,登录测试是必不可少的一项。 

我们做登录测试的时候,往往包含这么些项,登录用户名和密码错误时,界面有提示信息用户主动退出登录后,下次进入 app 时,应该进入登录界面;

密码更改后,登录时是否做到了有效数据的校验,对于未登录状态时,一些页面的操作, 是否做了控制 。

切换账号登录,检验登录的信息是否做到及时更新,对于多个端(web、iso、android 等) 进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新,一个账号只允许一台机器登录的软件;

安全性测试——权限测试

对于手机权限,如果我们是刚开发不知名的app,权限这块尽量少一些,这些权限在安装的时候都必须用户同意。

在 Android 6.0 之后,权限需要动态的申请,我们测试的时候,需要测试在使用到这些权限的时候,程序员是否做逻辑判断,用户同意权限应该怎么操作,不同意权限又应该怎么操作。 

消 息 推 送 测 试

消息推送,是移动端的一大特色。未锁屏时,应用后台运行,消息推送是否可正常接收,未锁屏时,APP 客户端使用过程中, 可以收到消息提醒,且点击可查看。 

锁屏时,手机消息栏是否可以接收到消息提醒,且点击可查看。点击后消息栏中消失。当推送消息是针对登录用户的时候,需要检查收到的 push 与用户身份是否相符,没有错误的将其他人的消息推送过来 。

推送消息是是否能有针对性的推送,如相应内容推送给相应用户(精准推送) 退出登录后,是否接受 推送(根据需求来) 。

前 后 台 切 换 测 试

APP 切换到后台,再回到 APP,检查是否停留在上一次操作界面;检查功能及应用状态是否正常;

程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候 手机锁屏解屏后进入 app 注意是否会崩溃,功能状态是否正常;

当 APP 使用过程中有电话进来中断后再切换到 APP,功能状态是否正常;

当关闭 APP 进程后,再开启 APP,APP 能否正常启动;

对于有数据交换的页面,尤其是有视频图片之类的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。

UI 测 试

确保产品 UI 符合产品经理制定的原型图与效果图 

一般涉及界面(如菜单、对话框、窗口和其他可视控件)布局、风格、文字是否正确,页面

是否美观,操作是否友好。 

兼 容 性 测 试

兼容性测试主要考虑手机的版本,型号,分辨率, 不然用户体验就不好。

网 络 环 境 测 试

测试 4G、5G、wifi、有网、无网、弱网情况下应用的运行;

网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;

无网络时,各种提示信息是否友好,数据本地化是否正确。

性 能 测 试

对于性能测试,主要是靠工具来测试手机 cpu 占用,内存占用,电池温度等,以及测试我们的 app 在后台持续运行的流量消耗和电量消耗问题。 

monkey 测 试

对于手机测试,除了我们一些常规的功能测试,我们还会做压力测试,比如对于 Android 手机,通常我们会使用 adb 指令进行一些相应的操作,比如通过 adb 查看设置,进入设备,抓取log,我们测试的时候,会使用 adb logcat 所抓出来的 log 日志存到电脑,发给开发,方便他们快速解决 bug。 

另外,使用monkey 对 app 进行压力测试,主要就是测试操作app的时候,程序是否会崩溃。 

我们使用 adb shell monkey 指定对应的app,执行要测试的次数,指定要触摸的比率,超时时间和忽略崩溃信息,就可以执行测试,将测试 log 存到某个位置,然后把测试出的 bug 日志发送给开发。