功能测试
功能测试主要分为UI测试和APP运行功能测试;
一,UI测试
主要关注点的是用户友好性、人性化、易操作性等测试
1.导航
1)按钮、对话框、列表和窗口等,或在不同的连接页面之间需要导航。
2)是否易于导航,导航是否直观。
3)是否需要搜索引擎。
4)导航帮助是否准确直观。
5)导航与页面结构、菜单、连接页面的风格是否一致
2.图形
1)横向比较,各控件操作方式统一。
2)自适应界面设计,内容根据窗口大小自适应。
3)页面标签风格是否统一。
4)页面是否美观。
5)页面的图片应有其实际意义而要求整体有序美观
3.深入一点查看GPU
查看的3中方式
1)通过开发者模式-》显示GPU过度绘制
2)dumpsys命令
adb shell dumpsys cpuinfo | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
3)top命令
adb shell top | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
4.内容
1)输入框说明文字的内容与系统功能是否一致。
2)文字长度是否加以限制。
3)文字内容是否表意不明。
4)是否有错别字。
5)信息是否为中文显示
二、APP运行
主要查看APP的正常打开运行、加载进度、页面切换流畅等等;
1.注册登录
1)非法登录
2)登录超时的处理
3)免登陆
4)多机同时登录
5)密码更换后的登录(是当时重新登录,还是下次重新打开是重新登录登)
2.前后台切换
1)App切换到后台,再回到App,检查是否停留在上一次操作界面。
2)App切换到后台,再回到App,检查功能及应用状态是否正常。
3)App切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
4)手机锁屏解锁后进入App注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
5)出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
6)对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
3.离线浏览
1)在无线网络情况可以浏览本地数据。
2)在对服务器段的数据有更新时回给予离线的相应提示。
4.更新升级
1)当客户端有新版本时,有更新提示。
2)当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动App时,仍出现更新提示。
3)当版本为强制升级版时,但给出强制更新后用户没有做更新时,退出客户端。下次启动App时,仍出现强制升级提示。
4)当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
5)当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。
6)当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功的,也都属于缺陷。
5.定位、相机、图库
1)App有用到相机,定位服务时,需要注意系统版本差异。
2)有用到照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。
3)测试照相机服务时,需要采用真机进行测试。
6.push消息
1)检查Push消息是否按照指定的业务规则发送。
2)检查不接收推送消息时,用户不会在接收到Push消息。
3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到Push。在非免打扰时间段内,用户能正常收到Push。
4)当Push消息是针对登录用户的时候,需要检查收到的Push与用户身份是否相符,没有错误的将其他人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
5)测试Push时,需要采用真机进行测试。
兼容性测试
建议真机测试
1.与本地及主流App是否兼容
2.支持当前主流机型
3.支持不同系统版本
4.支持不同尺寸分辨率
5.支持各类主流输入法
APP安装、卸载测试
1.安装
1)应用程序应能正确安装到设备驱动程序上
2)能够在安装设备驱动程序上找到应用程序的相应图标
3)安装路径应能指定
4)没有用户的允许,应用程序不能预先设定自动启动
5)是否包含数字签名信息
6)安装空间不足时是否有相应提示
7)安装后没有生成多余的目录结构和文件
8)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
9)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
10)对于需要通过网络验证之类的安装,在断网情况下尝试一下
11)还需要对安装手册进行测试,依照安装手册是否能顺利安装
12)JAD文件和 JAR包中包含的所有托管属性及其值必需是正确的
13)JAD文件显示的资料内容与应用程序显示的资料内容应一致
2.卸载
1)卸载是否安全,其安装进去的文件是否全部卸载
2)卸载用户使用过程中产生的文件是否有提示
3)其修改的配置信息是否复原
4)卸载是否影响其他软件的功能
5)卸载应该移除所有的文件
6)直接删除安装文件夹卸载是否有提示信息。
7)测试系统直接卸载程序是否有提示信息。
8)卸载过程中出现的意外情况的测试(如死机、断电、重启)。
9)卸载是否支持取消功能,单击取消后软件卸载的情况。
10)系统直接卸载 UI测试,是否有卸载状态进度条提示。
干扰测试
1.当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况。
2.应能处理通讯延时或中断。
3.应用程序将保持工作到通讯超时,进而给用户一个错误信息指示有链接错误。
4.应能处理网络异常和及时将异常情况通报用户。
5.应用程序关闭网络连接不再使用时应及时关闭,断开。
6.多个App同时运行是否影响正常功能。
7.App运行时拨打/接听电话。
8.App运行时发送/接收信息。
9.App运行时发送/收取邮件。
10.App运行时浏览网络。
11.App运行时使用蓝牙传送/接收数据。
12.App运行时使用相机、计算器等手机自带设备
13.收到(电话、收到短信、收到通知栏消息、无电)提示框弹出、第三方安全软件告警弹出。
14.App运行时关机。
15.App运行时重启系统。
16.App运行时充电
17.App运行时Kill掉进程再打开
18.多个运行中的App的切换。
弱网测试
场景:地铁、桥洞、山区、火车站、景区、酒店、飞机场
网络状态:WiFi、5G、4G、3G、2G、无信号
1.无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash。
2.内网测试时,要注意选择到外网操作时的异常情况处理。
3.在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash。
4.在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据交换失败时要给予提示。
5.在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。此问题也会经常出现程序crash。
客户端DB
1.一般的增、删、改、查测试。
2.当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务器中获取回来并保存。
3.在业务需要从服务器端取回数据保存到客户端的时候,客户端能否将数据保存到本地。
4.当业务需要从客户端取数据时,检查客户端数据存在时,App数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取;检查客户端数据不存在时,App数据能否自动从服务器端获取到并保存到服务器端。
5.当业务对数据进行了修改、删除后,客户端和服务器端是否会有相应的更新。
性能测试(后续整理中…)
性能测试的标准大概有这几项
- cpu
- 帧率
- 内存
- 4.电量
- 启动时长
- 网络流量
- crash率
APP自动化(后续整理中…)
工具:
UI:robotium、Appium
单元:junit、Robolectric
集成:tips