功能性包括客户端的单个功能模块及功能业务逻辑(功能交互)
如:涉及输入的地方需要考虑等价类、边界值、异常或非法等
安装与卸载测试
a.软件安装后是否可以正常运行;
b.安装过程中是否可以取消;
c.安装空间不足时是否有相应提示;
d.是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载安装。未完全安装的应用,终止安装后,是否可以完全卸载);
e.卸载是否支持取消功能,单击取消后软件卸载功能是否正常;
f.卸载后文件是否全部删除所有的安装文件夹
软件升级测试
a.当客户端有新版本时,是否有更新提示;
b.当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户在下次启动app时,仍能出现更新提示;
c.当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,下次启动app时,仍出现强制升级提示;
d.检查更新后各个功能是否能正常使用;
e.在线跨版本升级后能否正常使用
登录测试
a.登录用户名和密码错误时,界面有提示信息;
b.用户主动退出登录后,下次启动app时,应该进入登录界面;
c.密码更改后,登录时是否做到了有效数据的校验;
d.对于未登录状态时,一些页面的操作,是否做了控制;
e.切换账号登录,检验登录的信息是否做到及时更新;
f.对于多个端(web/ios/android等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新;
g.一个账号只允许登录一台机器的软件,需要账号登录多个手机时,是否将原用户踢下线,且能够给出提示信息;(单点登录/关联登陆跟着需求来)
h.用户登录状态太久,sessionid会过期,会出现“虽然是登录状态,系统会提示用户没有登录”
离线测试
a.应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离线状态下可以浏览本地数据;
b.对于离线(无网络)时,刷新获取新数据时,不能获取数据时能给出友好提示;
c.对于界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据;
d.离线下,退出app再开启app时能正常浏览;
e.离线下,切换到后台再切回app应用时可以正常浏览;
f.离线下,锁屏后再解锁回到应用前台可以正常浏览;
g.离线下,服务端的数据有更新时有提示(依据具体产品需求来)
a.确保产品UI符合产品经理制定的原型图与效果图;交互方面的问题建议,可以先与产品经理确认,确认通过后,才开始让开发实施更改或优化
b.一般涉及界面(如菜单、对话框、窗口和其他可视控件)布局、风格、文字是否正确,页面是否美观,操作是否友好。(如:安装APP后的加载页显示;分享页面的产品logo显示)
a.扣费风险:包括发送短信、拨打电话、连接网络、没有网络时能否提醒
例如:当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次
b.隐私泄露风险:包括访问手机信息、访问联系人信息等
c.是否允许录音
d.是否允许定位
e.是否允许接收通知推送
>>一般对于大多数非支付类App来说,安全并不是一个特别大的问题,只需要保证登陆鉴权的安全性即可
a.应用是否可以在不同操作系统正常使用,如果开发有Android和IOS两个平台的软件,那么在这两个平台都要做兼容性测试;
b.能否适配各种屏幕尺寸
Android系列:4.x、5.x市场占有率最高
IOS系列:3.5英寸、4英寸、4.8英寸、5.5英寸
c.分辨率适配
分辨率不同,界面图标、文字大小会不同,保证主流分辨率下图标展示完整,文字不被遮挡
d.一般测试兼容性像Android系统手机,选取市面上主流手机就行,例如:小米、华为、oppo、vivo等;ios系统手机就是iphone5、6、6s、6p、7、8等
e.借助云测试平台(百度云测、testin云测)
a.默认开关应该是全打开状态
b.设置开关可以自由打开关闭,设置开关关闭时,客户端接收不到信息推送
c.未锁屏时,应用后台运行,消息推送是否可正常接收
d.未锁屏时,APP客户端使用过程中,可以收到消息提醒,且点击可查看
e.锁屏时,手机消息栏是否可以接收消息提醒,且点击可查看,点击后消息栏中消失
f.当推送消息是针对登陆用户的时候,需要检查收到的推送与用户是否相符,没有错误地将其他人的消息推送过来
g.推送消息是否能有针对性的推送,如相应内容推送给相应客户(精准推送)
h.退出登陆后,是否接收推送(根据需求来)
a.APP切换到后台,再回到APP,检查是否停留在上一次操作界面,检查功能及应用状态是否正常;程序是否崩溃,功能状态是否正常,尤其是对于从后台切换到前台数据有自动更新的时候;
b.手机锁屏解屏后进入APP注意是否会崩溃,功能状态是否正常
c.当APP使用过程重有电话进来中断后再切换到APP,功能状态是否正常
d.当关闭APP进程后,再开启APP,APP能否正常启动
>>对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃
a.测试4G、wifi(ipv4、ipv6)、有网、无网、弱网情况下应用的运行
b.网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒
c.有网到无网再到有网环境时,数据是否可以自动恢复,正常加载
d.无网络时,各种提示信息是否友好,数据本地化是否正确
如:提示当前已断开网络,请检查网络设置;还有从wifi环境切换到4G环境提示是否启用4G网络,会产生扣费
e.弱网环境下,存在本地数据==服务器存在交换。
如:从服务器获取数据、或者提交数据到服务器,看是否会有相应的提醒
a.交互异常性测试:客户端作为手机特性测试,包括被打扰的情况,如来电、来短息、蓝牙、闹钟、低电量测试等,还要注意手机端硬件上,如待机、插拔数据线、耳机、手机问题(系统死机重启)等操作不会影响客户端
b.异常性测试:主要包含断网、断电等情况下,客户端能否正常处理,保证数据正确性
可测试的方面
a.安装和启动时间
b.CPU的占用
c.内存的占用
d.流量的耗用
e.电量的耗用
专门的性能测试小工具
a.GT(支持安卓、苹果)
b. Instrunments(支持安卓)
c. OneApm(支持安卓、苹果)
一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试