首先要考虑网络正常的情况
① 各个模块的功能正常可用
② 页面元素/数据显示正常
其次要考虑无网络的情况
① APP各个功能在无网络情况下是否可用
② APP各个页面之间切换是否正常
③ 发送网络请求时是否会导致闪退、卡死等异常情况
④ APP各个页面是否显示完整美观,未刷新的页面是否做了相应的提示和处理
⑤ 在无网络情况下数据是否会丢失
⑥ 无网络提示信息是否友好
再次考虑弱网情况
① 弱网情况下APP是否针对请求做了超时处理
② 网络延迟的情况下,操作app进行数据同步、OTA升级是否会发生Crash、ANR等严重错误
③ 弱网情况下,APP请求回调未完成时,执行其他动作以及交互时,是否会出现APP闪退(如:驾考IOS开屏闪退)等异常。
④ 弱网情况下,原始数据是否出现丢失的情况(弱网下载时会出现丢包情况)
⑤ 弱网环境下,是否会出现请求堆积的情况
⑥ 弱网环境下,APP各个页面是否显示完整
⑦ 系统超时,提示信息是否清晰明确
⑧ 弱网情况下APP的响应时间是否在一个合理的时间范围内
⑨ 请求回调未完成–XXX项目XX难题攻克弹窗
⑩ 这个弹窗是服务器说了算,服务器知道该用户啥时候弹弹窗。若用户在做题页面时返回了,则该用户下次进入且在服务器缓存时间内,应该给出弹窗(产品逻辑:弹窗出现后用户必须看到才消失)
⑪ 请求堆积:水池注水排水问题
最后考虑网络状态之间的转变
① 断开网络连接以后,操作APP各个功能是否正常
② 同步数据过程中,断开网络连接,APP是否出现异常情况
③ 传输数据过程中,网络由wifi切换到gprs,APP是否出现异常情况
④ 弱网环境下发送的请求是否在恢复网络以后出现重复提交的情况
tips:gprs—就是咱们通常所说的流量
① 这一部分主要是在各种非wifi网络环境下进行的功能测试,同时模拟高延时和高丢包的异常网络环境进行健壮性测试。
② 2G/3G/4G的网络可以通过使用电话卡移动/联通/电信等网络进行模拟,关注页面的响应时间、页面呈现是否完整一致等。
③ 高延迟和高丢包的网络环境需要借助工具来模拟,如Charles。
④ 弱网功能测试建议将整体的功能测试用例在弱网环境下进行一轮测试,相同模块下的功能可以分多个网络条件进行测试。这部分发现的问题可能会有:
页面图片在弱网环境下加载不出来(图片加载逻辑需优化)
需要模版的页面版式结构混乱(模版文件在弱网环境的加载需优化)
页面响应时间较长没有任何显示(页面显示逻辑待优化、重试机制加入)
弱网UI测试
弱网情况下:
APP很可能出现UI刷新不及时或者不刷新的情况,此时就可能会导致呈现在用户面前的是一个残缺的页面;
偶会也会导致出现页面UI元素错乱的情况(如:驾考vip页面);
微信发红包测试用例
一)功能
1、在红包钱数和红包个数的输入框中只能输入数字;
2、红包最多最少的输入钱数200、0.01;
3、拼手气红包最多可以发多少个红包
4、超过最大拼手气红包是否有提醒;
5、当红包钱数超过最大范围是否有提醒;
6、余额不足时,红包发送失败,或者会不会匹配切换支付方式;
7、红包描述里是否可以输入表情汉字英文数字等;
8、红包描述里最多有多少个字符;
9、发送的红包别人是否能正常领取;
10、发送的红包自己可不可以领取;
11、24小时后别人没有领取的红包是否可以退回原来账户,或者是否还可以领取;
12、用户是否可以多次抢一个红包;
13、用户在多人群里发红包是否可以抢自己的红包;
14、红包金额里的小数位是否有限制;
15、返回键可以正常取消发红包吗;
16、断网时,是否可以抢红包;
17、收发红包界面是否有自己以前收发红包的记录,以及和自己实际收发红包是否匹配;
18、支付时密码支付和指纹支付是否正常;
19、支付成功后是否正常返回聊天界面;
20、是否可以连续发红包。
二)性能
1、网络环境差,发红包的时间;
2、不同网速时抢红包的时间;
3、收发红包后跳转时间;
4、收发红包的耗电量;
5、退款到账的时间。
三)兼容
1、苹果,安卓系统;
2、电脑端是否可以抢红包;
3、不是品牌的手机是否正常使用。
四)界面
1、发红包界面有没有错别字;
2、抢完红包界面有没有错别字;
3、收发红包界面排版美观合理;
4、界面颜色搭配好。
五)安全
1、发送红包领取红包后对应相关的金额是否会变化;
2、发送失败银行卡或者余额会不会变;
3、发送成功后是否会受到微信支付的通知。
六)易用
1、支持指纹,人脸识别支付吗;
2、红包描述可以通过语音输入吗。
五、视频播放的测试用例
1、功能测试
判断用户是否登录,未登录不能进入主页,已登录用户可以进行视频观看;
鼠标滑过、点击时、点击后相应条目的状态是否和预期一致;
点击相应条目时,页面右边是否同步切换至相应页面,是否有延时、卡退、切换错误等情况;
视频播放页面鼠标滑过、点击时、点击后视频对应条目、标题是否有相应状态变化(具体变化状态根据产品原型进行分析),点击后是否能够正确跳转至相应的视频播放界面;
判断用户点击的视频属于免费还是付费,如果为免费则所有人均可以进行观看,如果为付费则要判断用户是否付费,如果已经付费则可以进行观看,如未支付则提示用户先购买后再进行观看并提供支付入口或者联系客服进行支付的方式;
视频默认加载图是否显示正确或者显示异常等情况;
视频播放按钮是否可以点击,点击后视频是否正常播放;
视频目录是否显示正确,如有子列表是否正常显示,如果没有子列表是否有相应提示
视频介绍是否与当前视频一致,讲师是否一致等情况;
点击播放后进度条是否随之变化;
视频快进、快退、暂停、播放是否可以正常使用,是否有卡顿、延时、闪退等情况;
播放完成后是否自动切换下一视频(如有多节视频情况下,如果只有一条子视频的情况下,播放完成后是否关闭当前页面或者给予用户相应提示),如果需要手动切换是否有相应的友好提示;
视频播放时声音、画面是否一致或者是否有异常等情况;
视频最大化、全屏、最小化是否可以正常使用,切换时是否有卡顿、延时等情况;
当前视频与其他视频来回切换时,视频是否有卡顿、延时等情况;
电脑关机或者其他异常情况下,视频是否会保存播放记录,下次进入观看时是否继续上次的播放记录继续播放;
2、UI测试
导航栏元素位置、大小、颜色等要素是否一致/是否符合UI效果图;
导航栏视频分类下拉框位置、颜色、按钮是否正确
鼠标滑过、点击时、点击后按钮状态是否有相应颜色、状态变化;
视频列表页面title、视频图片、视频title、是否付费等元素的颜色、大小、位置等是否正确;
视频播放时进度条、快进按钮、快退按钮、播放按钮、暂停按钮位置是否正确
3、网络测试
网络切换测试:无线网与宽带;
弱网测试:弱网情况下视频是否卡顿、画面是否失帧;
无网络状态进入是否会有相应提示;
网络切换时视频是否暂停、保存当前播放状态;
4、易用性测试
界面是否一目了然(比如:视频title、片头、片尾、视频画面等);
视频页面操作是否方便,菜单栏是否正确、易上手;
进度条拖拽使用起来是否方便;
视频是否具有视频记忆功能/是否保存当前播放进度
无网状态测试则是在切换网络的情况下进行的测试,主要关注页面的显示与交互、本地数据的存储、断网功能的使用等,经常该部分也需要与网络切换部分协同进行。
断网情况下请求非本地数据的页面需要设定一定的时间等待上限,及时提示网络异常以及提示重试;
断网情况下请求部分本地数据的页面需要观察本地数据的部分是否加载显示正常,待请求的部分是否符合交互给的缺省样式一致;
断网情况下请求完全本地数据的页面是否显示正常。这里还需考虑本地数据存储的情况,有些需要联网后上报服务器的数据本地是否正确存储,联网后这些数据能否正常上报。
无网状态测试建议按照页面划分进行,针对每个页面单独测试无网状态的显示,页面间跳转的显示,页面内功能的点击和显示,同时关注无网到有网时的页面恢复显示状态、数据上报情况是否正常。
注:以驾考课件视频为例做个补充
无网无缓存时做题页面不显示课件视频模块;
无网有缓存,且在缓存时间内,点击视频时可以正常播放;
这部分主要是进行几个不同网络场景的切换,包括:
wifi-2G/3G/4G、wifi-无网、2G/3G/4G-wifi、2G/3G/4G-无网、无网-2G/3G/4G、无网-wifi
主要关注页面的显示与交互,尤其:
弱网到wifi
wifi到弱网
以上两种情况验证是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等。
用户体验关注
弱网测试的目的就是尽可能保证用户体验,测试点如下:
(1)页面响应时间是否可接受,关注包括热启动、冷启动时间,页面切换,前后台切换,首字时间,首屏时间等。
(2)页面呈现是否完整一致
(3)超时文案是否符合定义,异常信息是否显示正常。
(4)是否会有超时重连
(5)安全角度:是否会发生dns劫持
(6)大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
热启动:已经启动过APP了,然后切换到后台,或者退出,但是这时候应用并没有完全退出,可能应用还有一些服务在后台启动
冷启动:就是之前没启动过APP
dns劫持:又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。常见的分为2种:网页劫持/运营商劫持
比如:输入www.baidu.com,结果打开了淘宝网,就说明百度的dns被劫持了;
Android驾考宝典进入vip页面时被劫持;
安卓手机一般超过5秒钟无响应就会报ANR的错误
ios手机响应时间过长也会报错
2-5-10原则(或3-5-8):
用户能够忍受的最佳响应时间是2秒以内;
超过5秒无响应的话,一般性子比较急躁的用户很可能就会直接退出页面了;
如果超过10秒无响应,很多人都会选择杀掉APP;
APP经常处于无响应或者响应时间过长的状态,会导致大批的用户转移到竞争对手的产品上。
异常测试是指验证APP针对各种网络异常情况是否做出了容错处理,这里面包括:
① 异常提示信息
② 出错容错机制
③ 超时判断处理机制(代码级别)
④ 出错以后自动重连等
tips:
容错机制—简单点可理解为: 我快速点击多次,但是就响应一次
出错后重连—就是访问网络,没得到数据,在错误的地方重新访问网络。如:驾考VIP
功能测试:点赞某条朋友圈,验证是否成功
接口测试:点赞朋友圈,验证朋友能否收到提示信息
性能测试:点赞朋友圈,是否在规定时间显示结果,是否在规定时间在朋友手机上进行提示
兼容性测试:在不同的终端比如ipad,手机上点赞朋友圈,验证是否成功
功能测试
什么都不输入,直接点击提交按钮,看提示信息
输入正确的用户名和密码,点击提交按钮,看是否能登录成功
输入错误的用户名或者错误的密码,点击提交按钮,看提示信息
登陆成功之后能否正确的跳转到正确的页面
用户名太短或者太长时,应该怎么处理
密码太短或者太长时,应该怎么处理
用户名若含有特殊字符,字母,数字等不同于汉字的,应该怎么处理
密码若含有特殊字符,字母,数字,或者混合类型时,密码强度的变化
用户名和密码中间出现空格时,会怎么处理
用户名和密码前后出现空格时,会怎么处理
记住用户名或者记住用户名和密码的功能(比如刚刚登陆成功之后退出,再次登陆时是否有记录)
验证首次打开登录界面,鼠标的输入焦点是否在用户名的输入框以方便用户直接输入
密码的加密显示(如星号或者小黑点)
牵扯到验证码的登录时,要考虑图片上的数字是否扭曲过大导致看不清楚,数字的颜色(考虑色盲患者),验证码的刷新按钮是否有效
登录界面上的注册,忘记密码,退出登录点击后,链接是否有效
输入密码时,切换为大写时是否有提醒
界面测试
布局是否合理,两个文本框的位置是否对齐,按钮的位置是否合理
文本框的长度宽度是否合理,按钮的大小是否易于点击
界面是否简介易懂,是否有错别字
性能测试
打开该登录页面需要多久
登录成功跳转到正确的界面时需要多久
安全测试
用户名和密码是否通过加密的方式发给web服务器
用户名和密码是否是在服务端完成验证的,不能只在客户端调用JavaScript来进行验证
两个文本框应禁止输入脚本语言,防止XSS攻击
限制错误登录的次数,防止暴力破解
考虑多用户在一台机器上登录
考虑一用户在多台机器上登录
可用性测试
输入用户名和密码时常用快捷键在输入文本框中能否使用(ctrl+c,ctrl+v,ctrl+a等)
输入正确的用户名和文本框之后按回车是否可以登录
输入用户名之后按Tab键是否可以转到密码输入框
兼容性测试
在主流的浏览器上是否可以正常使用(如IE,谷歌等)
在不同的平台上是否可以正常使用
在移动设备上是否可以正常使用(iPhone,Android)
本地化测试
不同语言环境下能否正常运行
抖音直播功能的测试点
基于上面的测试思路,我们可以分析得出“抖音直播功能”测试点如下:
一、梳理抖音直播的业务流程如下:
主播开启直播---> 观众观看直播 ---> 进行互动---> 结束直播
冒烟测试:点击开启直播,可以进入直播查看,并且声音好图像都显示正常。
然后我们再进行各个功能模块的具体细化。根据刚刚上面的业务流程分析,我们不难发现,抖音直播主要分为直播端和观众端,所以这两个端我们要分别进行测试。
观众端
1)顶部观看人数:可以实时显示目前观看的人数并显示其头像,点击进去可以查看对应主播信息。
2)视频播放:视频播放的声音正常并清晰,图像画质正常并声音和图像同步;
3)关注:可以添加直播到关注,并且能够成功在直播列表里显示。
4)观众端的互动:
a、评论功能:可以用等价类和边界值进行用例设计:
正常:有效长度(1~100)可以发送成功;支持的数据类型有数据类型:中文、英文、字母、字符和表情等
异常:无效长度(0,101),不能成功,并给出友好提示;如果不输入评论,不可发送,并给出友好提示
b、连线功能: 可以跟主播进行视频连线和语音连线,功能正常。
c、礼物功能:
可以给主播赠送抖音币,并且充值功能正常;
可以给主播赠送鲜花等
赠送的礼物可以在评论区显示
特效可以开启以及关闭
5)购物车:点击购物车,可以添加对应的商品到购物车并显示正常。然后再出个考虑其他的每个流程功能。
a、商品数量:可以添加一件,多件商品;可以添加多类型商品,正常显示在购物车中
b、提交订单:
选择部分商品/选择单个商品/选择全部商品都可以提交订单
添加收货地址:正常输入各个输入项可以添加成功收货地址成功;可以添加多个地址显示正常;收获地址的可以进行编辑和修改,并且可以删除。
c、提交了订单后:可以成功跳转到第三方,并流程验证正常
d、支付:可以选择微信、支付宝和抖音支付三种支付方式,并选择后都可跳转到对应的支付页面并支付成功。
e、查看订单:支付成功后,可以查看该订单状态,信息显示正确
f、咨询:可以跳转到联系到客服页面进行咨询,支持文字输入和电话咨询等方式。
g、取消订单:弹出提示信息是否要放弃购物,可以选择确认和放弃;取消成功后退回到购物车列表页面
6)分享:可以把直播分享到微信好友和微信群,以及朋友圈;分享给抖音的私信好友;分享到 QQ 空间,和 QQ 好友;分享到微博;复制链接,别的平台再粘贴发送分享;更多分享…
注意:所有的分享方式都可以分享成功,并可以点击分享后的链接成功打开该直播。
7)其他功能
a、清屏:可以关闭,检查所有的信息正常显示在屏幕; 可以开启:检查评论等所有信息都不显示在屏幕;
b、录屏:开始录屏:
正常:录屏3s~300s 之间,可以录屏成功;
异常:录屏时间小于3s,录屏时间大于 300s,都无法正常录屏成功,并显示友好的提示信息
c、举报:点击后弹出举报页面;选择原因,和提供证据;提交举报后,可以成功,并给出提示
8)退出直播:点击退出直播按钮,可以退出直播
直播端
1)视频和声音:直播开启后视频的画质和直播的声音都是正常的,且音频同步;
2)本场直播人数:可以显示本场直播的人数列表,并且可以点击查看头像
3)外接设备:
正常:麦克风可以正常接入,摄像头可以正常接入,识别正常;
异常:麦克风异常接入,可以给出友好的提示信息;摄像头异常接入,可以给出友好的提示信息;
4)互动:
PK 功能,可以点击 PK 功能之后选择主播进行 PK 操作;
观众连线:选择观众进行连线,可以通话正常;
评论:可以正常的评论
玩游戏:可以选择游戏类型,进行游戏
心愿:可以正常实现心愿功能
5)关闭直播:可以关闭结束直播,显示直播已结束
6)装饰美颜: 美化和美颜功能可以正常使用;贴纸等功能也可以正常选择;镜头翻转功能可以正常使用;
7)更多功能:更多里的功能比如录屏,分析,音乐等都可以正常使用
APP 专项测试
覆盖了基本业务功能测试之后,作为APP 的测试,我们一定还要考虑到 APP 的专项测试,比如 APP 自身的安装、卸载、升级,消息的推送等;对于直播功能,我们特别需要关注的就是“中断测试”和“网络测试”!
中断测试:
直播过程中如果出现一些手机的中断行为,那么直播会不会受到影响以及是否可以正常继续。常见的中断类型有:
电话中断
网络中断
闹钟中断
插拔耳机中断
保证这些中断发生的时候,直播不会中断,画面和声音依然可以同步;更加不会导致一些异常情况发生,比如APP 突然 crash 和 ANR 的情况;
网络测试:
验证各种网络类型:2G、3G, 4G,5G,wifi 下都可以正常直播;
进行网络切换,直播功能正常;
弱网测试下直播功能正常:APP 不会闪退 崩溃,而且页面提示友好;
抖音直播的非功能测试点
测试完以上的功能测试点之后,我们还需要验证一些非功能测试点,主要包括以下几个方面:
1)界面
验证界面的美观,排版和错别字等。
2)兼容性
a、考虑测试手机移动端的兼容,比如手机型号
b、考虑系统版本的兼容,主流的系统版本需要测试覆盖
c、考虑不同屏幕大小及分辨率的兼容性测试
b、考虑一些其他产品的兼容性,比如公用手机声卡、麦克风的 APP 是否可以兼容
3)易用性
测试站在用户的角度考虑用户体验,使用是否方便等。
4)性能
比如长时间直播运行等,多用户发送评论和互动等,关注产品的响应时间等,一般需要借助工具或者代码进行测试。
5)安全
验证敏感信息是否加密,是否可以篡改;通过一些工具进行安全扫描,检查是否有安全漏洞;或者采用一些其他的手段进行专门的安全测试。
功能测试:
搜索内容为空、空格、关键字中间有空格
在允许的字数范围内搜索、字数范围外搜索,是否截取或其它正确处理;
输入特殊字符,表情符号,url链接
输入框复制和粘贴功能
取消搜索:未输入取消,已输入内容取消
输入html脚本,转义字符,sql注入脚本,是否能正确处理
输入敏感词是否有提示
多次搜索同样的内容
指定内容:搜索朋友圈、公众号、音乐、表情,结果验证
语音:语音输入是否成功、语音输入是否准确,准确率是多少
点击搜索后键盘是否收起
查看搜索结果是否能正常跳转
数据分页展示是否正确、无重复
无网络时搜索界面是否能展示正确
被删除的内容是否能被搜索出来
关闭搜索功能后搜索入口消失
接口测试
边界值字符长度限制,输入超出长度的字符
sql注入
验证接口返回结果是否符合需求
性能测试:
接口平均响应时间
搜索数据量超大时响应时间测试
并发测试,监控接口性能和服务器性能
兼容性测试:
移动端:安卓、IOS\PAD
PC端:windows、mac
web端:浏览器兼容性
1、功能
倒水杯容量一半的水是否漏水
水倒至安全刻度线以上是否漏水
水杯倒满拧盖是否漏水
水杯的容量刻度与其他水杯一致
热水是否烫手
2、性能
使用的最大次数或时间
杯盖拧紧到什么程度水倒不出来
掉到地上不易损坏
保温时长
杯子的耐热性
杯子的耐寒性
长时间置放水不会漏出来
杯子上放置重物到达什么程度杯子会被损坏
3、UI界面
外观是否完整,美观
大小与设计时一样(高,宽,容量,直径)
材质与设计时一样
拿着舒服
3、安全性
杯子使用材质毒或细菌验证
高温无毒性
低温无毒性
易用
倒水方便
喝水方便
使用简单,任意操作
防滑措施
界面测试:
1.文件上传按钮图案是否正常显示
2.文件上传正确/错误是否显示提示,提示内容是否正确
3.可选文件(聊天中的文件、收藏中的文件、存储)是否正常显示
文件格式测试:
1.上传文件为txt文本
2.上传文件为图片(jpg/png/jpeg)
3.上传文件为word(后缀为docx/doc)
4.上传文件为pdf
5.上传文件为音频
6.上传文件为压缩文件(rar/zip)
7.上传文件为excel(xls/xlsx)
8.上传文件为可执行的exe文件
9.上传文件为视频
10.上传文件为jsp文件
11.上传文件为bat文件
12.上传文件为iso镜像文件
13.上传文件为ppt
文件大小测试:
1.上传文件为0kb
2.上传文件大小为2G以上
3.上传一个文件
4.上传多个文件(最多可上传文件数量)
5.上传文件限制数量-1个
5.上传文件限制数量+1个
文件名称测试:
1.上传文件为中文名
2.上传文件为英文名
3.上传文件为纯数字
4.上传文件为数字、字母、中文组合
5.上传文件含有特殊字符
上传文件测试:
1.选择目录(聊天中的文件、收藏中的文件、存储)上传
2.上传一个正在打开的文件
3.拖拽上传
4.粘贴上传
5.手动输入一个文件名称
6.手动输入一个文件路径
7.上传一个不存在的文件
8.删除一个正在上传的文件
环境测试:
1.pc端测试
2.手机端测试
性能测试:
1.上传文件网速慢(限速)
2.上传中途断网
功能:
正常:
发起视频通话,点击挂断取消通话
发起视频通话,是否可以听到铃声
对方接听前是否可以切换到语音通话
对方正在视频通话是否会有提示信息“对方忙”
发起视频通话后,对方无响应
发起视频通话后,对方不在线
发起视频通话后,对方拒接
使用移动网络进行视频通话是否会有提示:注意流量消耗
视频通话中,声音画面是否同步
视频通话中,是否可切换到语音通话
视频通话中,前后摄像头转换是否正常
视频通话中,插拔耳机是否能正常通话
视频通话中,点击对方视频窗口是否可以窗***换
视频通话中,点击音量键是否可以调节音量
视频通话中,是否可以点击返回键
视频通话中,是否可以与其他运用切换
视频通话接通后,立即挂断视频通话
视频通话结束,发起者结束通话
视频通话结束,接收者结束通话
视频通话结束,是否会返回聊天页面
视频可以频繁发起视频通话
网络质量差是否有提示信息
多人视频通话:
邀请的用户是否都可以进入视频通话
未被邀请的用户能否进入视频通话
不勾选邀请好友是否可以发起视频通话
勾选好友后,确认按钮才可以点击
在群聊里发起视频通话是否有消息显示
在群聊里视频通话结束是否有已经结束的提示
异常:
无网络是否可以发起视频通话
无网络是否可以结束视频通话
网络质量不好的情况下发起视频通话
网络质量不好的情况下接收视频话
视频中有新的视频邀请
视频通话中断电
视频通话中断网
视频通话中来电话,短信
视频通话时手机重启
视频通话中手机卡死
视频通话中微信版本升级
界面:
界面布局是否合理,颜色搭配合理
页面文字,图片显示正常
易用性:
是否符合用户的使用习惯
是否可切换为语音通话
有没有友好提示
性能:
视频通话接听后的响应速度
多人视频通话可容纳的人数上限
长时间是否是否保持正常(CPU,内存消耗,流量消耗)
网络:
不同网速
兼容性:
不同手机型号,不同操作系统,不同微信版本,不同分辨率
二维码场景用例
针对二维码写用例,可以分:
扫码场景
扫码是支付方的使用场景了
支付场景
关于支付场景就复杂了,虽然上面的是二维码扫码支付,其实核心功能在于支付,上面的各种扫码姿势都是停留在表面的点点点。
支付金额场景:
支付方式:
支付密码:
当用户选择了支付方式,支付金额后,下一步就是输入交易密码
支付状态:
支付之后,那么就会有支付状态
对账:
1.支付方支付成功后,钱是不是变少了
2.收款方收款后,是立即到账,还是延迟到账?
3.收款方如果没网,对方支付成功后,下次联网是否能看到收款记录
4.当然支付宝还有语言播报:支付宝到账xx元
退款:
支付方付款后,突然反悔了,那么此时就涉及到退款功能了
手续费:
说到手续费,如果对方是花呗,信用卡,那么就涉及手续费的问题
红包和券
安全与性能
安全和性能是最容易被忽略的,平常都是点点点的,拿着一个测试需求就想着怎么去点了,如果能回答安全和性能的方面是可以加分的。
支付安全性:
如果是一个固定金额的订单,比如100元订单,用户在扫码支付的时候,会从二维码中解析出支付金额
此时如果我抓包后,篡改了金额,比如改成0.01元了,是否能支付成功呢?
一般这种订单接口都会有sign签名,防止用户篡改请求参数
用户登录
一、界面
1、登录界面是否清晰合理美观,无乱码(文字简洁、无错别字)
二、功能(主要采用等价类、边界值方法)
1、输入正确的用户名、密码,是否登录成功
2、输入错误的用户名或者密码,登录失败有没有提示(用户名或密码为空)
3、用户名、密码支持的字符类型
4、输完用户名之后按Tab键是否能到输入密码的框,输完密码之后按回车能否登录
5、如果有记住用户名密码的功能,下一次打开页面,是否默认有用户名密码
6、用户名、密码是否大小写敏感
(具体还可以考虑:这个用户名密码是否已注册)
三、安全性
1、在登录页面,输入的密码是否隐藏显示
2、多次登录失败,系统会不会阻止后续的尝试以应对暴力破解
3、用户名、密码能否支持复制、黏贴
4、在浏览器中直接输入登录成功后的URL地址,验证是否会重新定向到用户登录界面
5、密码输入框内的密码是否都可以在页面源码模式下被查看
四、兼容性
1、不同操作系统上同版本的浏览器能否正常打开登录界面,界面正常
2、相同操作系统的不同浏览器能否正常打开登录界面,界面正常
3、这个登录界面能否在移动手机端正常打开
五、性能压力
1、输入正确用户名、密码之后点击登录按钮,直到登录成功打开页面,需要多长时间(小于3秒)
2、多个用户同时进行登录操作,相应登录的时间是否会变长(小于5秒
用户注册:
各个输入框的提示性文字是否存在
为必填项的输入框是否存在必填项输入框提示信息
以各个输入框的最大长度注册(边界值,上点)
以各个输入框的最小长度注册(边界值,离点)
以各个输入框的非最大或者非最小长度注册(边界值,内点)
必填项分别为空注册
用户名长度大于一位注册(边界值,离点)
用户名长度小于一位注册(边界值,离点)
密码长度大于一位注册(边界值,离点)
10.密码长度小于一位注册(边界值,离点)
(注:其他输入框就不一一列举存在长度限制的如7-10都要写)
11.需求中是否明确规定,特定输入框中不能存在特殊字符的存在,如果规定,则:
a) 用户名是不符合要求的字符注册(等价类划分,一般两个即可,具体看需求)
b) 密码是不符合要求的字符注册(等价类划分,一般两个即可,具体看需求)
c) 其他输入框,不一一列举(主要有空格、#、!等等特殊字符)
12.若存在输入两次密码的注册
a) 两次密码输入一致注册
b) 两次密码输入不一致注册
13.各个输入框的特殊格式限制:
a) 如邮箱的限制,一般能做到:邮箱名@域名 即可,具体要求根据需求来
功能性用例设计点:
输入已注册的用户名和正确的密码,验证是否成功登录
输入已注册的用户名和不正确的密码,验证是否成功失败,且提示信息正确
输入未注册的用户名和任意密码,验证是否登录失败,且提示信息正确
使用未激活账户登录,验证是否登录失败
使用被停用用户登录,验证是否登录失败
用户名和密码两者都为空,验证是否登录失败,且提示信息正确
用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确
如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入正确的验证码,验证是否登录成功
如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入错误的验证码,验证是否登录失败,且提示信息正确
用户名和密码是否大小写敏感
页面上的密码框是否加密显示、或者是否需要有明暗码切换按钮
后台系统创建的用户第一次登录成功时,是否提示修改密码
忘记用户名和忘记密码的功能是否可用
前端页面是否根据设计需求限制用户名和密码长度
如果登录功能需要验证码,点击验证码图片或者点击换一张是否可以更换验证码,更换后的验证码是否可用
刷新页面是否会刷新验证码
如果验证码有时效性,需要分别时效性内和时效性外验证码的有效性
用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面
不同级别的用户,比如管理员和普通用户,登录系统后权限是否正确
页面默认焦点是否定位在用户输入框中
快捷键Tab和Enter等,是否可以正常使用
为空和输入空格字符串的校验是否一致
使用中文键盘输入字母和使用英文键盘输入字母传入后端的字符长度是否一致
成功登录后的session的时效设置
输入栏是否设置快速删除按钮
用户名和密码是否支持特殊字符和中文
浏览器的前进后退按钮,是否有效
成功登出后,点击浏览器回退按钮,是否可以继续操作系统
需求中是否有登录时间限制,如果有验证时间限制是否有效
验证不同登录方式的正确性:扫码、账号密码、第三方……
若支持手机号+验证码登录,验证码是否有时间限制,移动设备是否可以直接获取验证码
操作错误提示信息是否简单明了
兼容性测试用例设计点:
不同浏览器下,验证登录页面的显示以及功能正确性
相同浏览器的不同版本下验证登录页面的显示以及功能正确性
不同移动设备终端的不同浏览器下,验证登录页面显示以及功能的正确性
不同分辨率的界面下,验证登录页面的显示以及功能正确性
安全性测试用例设计点:
用户密码后台存储是否加密
用户密码在网络传输过程中是否加密
密码是否具有有效期,密码有效期到期后,是否提示需要修改密码
不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面
密码输入框是否不支持复制粘贴
密码输入框内输入的密码是否都可以在页面源码模式下被查看
用户名和密码输入框分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面
用户名和密码输入框分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改
连续多次登录失败的情况下,系统是否会阻止后续的尝试以应对暴力破解
同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期
同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性
是否可以记住密码,记住的密码保存是否加密,记住的密码是否有有效期,过了有效期后是否清空密码
是否支持第三方登录
密码的强弱性,复杂度校验
异地登录校验、更换设备登录校验、登陆信息异常是否考虑账户冻结停用、是否允许第三方平台存储密码
是否可以使用登录的api发送登录请求,并绕开验证码校验
是否可以用抓包工具抓到的请求包直接登录
截取到的token等信息,是否可以在其他终端上直接使用,绕开登录,token过期时间校验
登录错误后的提示是否存在安全隐患