测试思维
测试任何事物的测试思路可以总结如下:
第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?
这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。
第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。
这个单个功能的测试点提取要覆盖一下几个方面:
正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
异常功能验证:为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。
因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。所以就到了第三步:
第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点 。
- 长度,数据类型,必填项,重复
- 需求的约束条件 + 隐形需求
- 功能之间的交互
这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等
第四步:考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力
微信红包功能的测试点
基于上面的测试思路,我们可以分析得出“抖音直播功能”测试点如下:
一、梳理微信发红包的业务流程如下:
点开联系人---> 点击红包 ---> 输入金额---> 输入红包描述---> 选择支付方式塞钱进红包---> 确认支付---> 领取红包
**冒烟测试:**选择联系人点击红包,输入正常的红包金额和描述,选择零钱支付确认发送成功,并收到可以正常领取。
然后我们再进行各个功能模块的具体细化。
红包金额
从长度、数据类型、必填项等几个方面来考虑:
- 长度:
有效:0.01~200,取边界值的测试数据为:0.01,200
无效:小于 0.01,取值 0;大于 200,取边界值为 200.01,检查是否有友好的报错信息
- 数据类型:
有效为数字
无效非数字,可以是从字母、字符、中文里选择一个代表测试
- 必填项:输入金额为空,检查是否有报错信息并友好
- 挖掘隐形需求,小数点不能超过 2 位,
有效:小数点不能超过 2 位
无效:超过两位小数
其他:是否支持复制、粘贴功能;以及多次发送功能是否正常
红包描述
描述默认值:恭喜发财 大吉大利,检查是正常的;
描述的长度有要求,最多为 25 个字符,所以我们可以从以下角度来考虑:
长度:最多为 25 个字符
有效:范围为 0~25,选取边界值作为测试数据,0 和 25
无效:大于 25,选择边界值 26 作为测试数据
数据类型:
- 描述里可以输入汉字、英文、数字、字符(空格),符号等
- 表情:可以选择表情进红包描述,测试点覆盖如下:
a、按钮可以点击
b、表情包的类型:保存的动图和动图;自拍表情;系统自带;下载表情包
c、增删改操作
d、发送成功,显示正常
塞钱进红包的支付方式
零钱 : 选择零钱进行红包支付
有效:红包金额 <= 零钱,可以发送成功
无效:红包金额 > 零钱,会有友好的提示信息
银行卡:选择银行进行红包支付
有效:
- 已经添加的银行卡,并且金额 <= 银行卡余额;
- 新添加的银行卡:可以绑定成功; 金额 <= 银行卡余额
无效:
- 已经添加的银行卡,金额 > 银行卡余额,会有友好的提示信息
- 新添加的银行卡,金额 > 银行卡余额,会有友好的提示信息
- 卡被冻结等无效状态,可以提示友好的信息
零钱通:西安则零钱通进行红包支付
有效:红包金额 <= 零钱,可以发送成功
无效:红包金额 > 零钱,会有友好的提示信息
确认支付
输入了金额和描述,以及选择好对应的支付方式后,需要输入密码等认证信息进行确认支付。这里可以通过一下方式进行确认支付:
密码确认:输入支付密码进行确认
有效:正确的密码,支付可以成功,并且以上支付方式里的渠道可以进行正确的扣款
无效:错误的密码,支付失败,并且给出友好的提示信息
刷脸:选择刷脸方式进行支付确认
有效:正确的刷脸识别,可以支付成功,并且以上支付方式里的渠道可以进行正确的扣款
无效:错误的脸部识别,支付失败,并且给出友好的提示信息
指纹:选择指纹方式进行支付确认
有效:正确的指纹识别,可以支付成功,并且以上支付方式里的渠道可以进行正确的扣款
无效:错误的指纹,支付失败,并且给出友好的提示信息
领取红包
发送了红包之后,我们还要进行红包领取的测试,确认是否可以正常领取,并做了基本的权限限制。
- 接受者领取红包:
a、领取之前,可以查看红包的具体信息,金额,留言等,显示正确;
b、领取成功,会存到零钱,并且新增的金额 = 发送金额;
c、领取之后,红包状态会变灰,不能再领取,可以查看信息;
- 发送方领取
a、查看红包的具体信息,金额、留言等信息,显示正确
b、不能进行领取,等待对方领取
- 24 小时之后再确认红包状态
a、超过 24 小时未领取,金额退回,到账到零钱;提示红包过去,无法再查看余额和项目信息
b、取过之后超过 24 小时,无法再查看金额等详细信息
红包记录
发送红包之后,领取完成,可以点击右上角查看红包记录,并可以选择年份进行查看,检查信息显示正确;
取消红包
测试取消了之后,这个红包发送失败。但是可以再次进行红包发送。
APP 专项测试
覆盖了基本业务功能测试之后,作为 APP 的测试,我们一定还要考虑到 APP 的专项测试,比如 APP 自身的安装、卸载、升级,消息的推送等;对于红包支付功能,我们需要关注下“中断测试”和“网络测试”!
支付中断:
支付过程中如果出现一些手机的中断行为,那么红包会不会受到影响以及是否可以正常继续。常见的中断类型有:
电话中断
网络中断
闹钟中断
插拔耳机中断
保证这些中断发生的时候,红包不会影响发送,更加不会导致一些异常情况发生,比如 APP 突然 crash 和 ANR 的情况;
网络测试:
验证各种网络类型:2G、3G, 4G,5G,wifi 下都可以正常发送;
进行网络切换,功能正常;
弱网测试下功能正常:
- 不会重复进行支付,或者发送多个红包
- APP 不会闪退 崩溃,而且页面提示友好;
微信红包的非功能测试点
测试完以上的功能测试点之后,我们还需要验证一些非功能测试点,主要包括以下几个方面:
1)界面
验证界面的美观,排版和错别字等。
2)兼容性
a、考虑测试手机移动端的兼容,比如手机型号
b、考虑系统版本的兼容,主流的系统版本需要测试覆盖
c、考虑不同屏幕大小及分辨率的兼容性测试
3)易用性
测试站在用户的角度考虑用户体验,使用是否方便等。
4)性能
比如发送多个红包,给多个好友发送等,一般需要借助工具或者代码进行测试。
5)安全
验证敏感信息是否加密,是否可以篡改;通过一些工具进行安全扫描,检查是否有安全漏洞;或者采用一些其他的手段进行专门的安全测试。