您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

面试官问“你能说说支付功能怎么测试吗?”该怎么回答

时间:2022-02-09 09:45:07  来源:  作者:YT33

跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中:

“说说你项目中的 xx 模块你是如何测试的?”

“给你一个购物车,你要怎么测试?”

"你说一下这个产品的登录功能有哪些测试点?"

“支付功能怎么测试?”

......

所有的这些问题其实都是在考察你的测试思维。我们再回答这类问题的时候有方法可依循的。

今天这篇文章,我就很多同学都觉得难的一个问题“支付功能”作为案例,一起来分析一下如何回答这类的面试题。

测试思维

要分析测试点之前,我们先来梳理一下测试思维。总结来说,任何事物的测试思路都可以总结如下:

第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?

这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。

第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。

这个单个功能的测试点提取要覆盖一下几个方面:

正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
异常功能验证:为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。

因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。所以就到了第三步:

第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点 。

  1. 长度,数据类型,必填项,重复
  2. 需求的约束条件 + 隐形需求
  3. 功能之间的交互

这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等

第四步:考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力

支付功能的测试点

基于上面的测试思路,我们可以分析得出“支付功能”测试点如下:

一、梳理支付的业务流程如下:

点击支付---> 选择支付方式 ---> 确认金额---> 输入密码 ---> 成功支付

完成这个流程测试,也就是完成了项目的冒烟测试!然后需要测试针对流程中的每个阶段和步骤,具体分析可能导致异常的测试点,所以我们按阶段和输入项来进行划分如下:

1)点击支付,提交订单但是取消了,检查可以取消成功

2)选择支付方式:

正常:可以支持的支付方式有:信用卡,储蓄卡,网银支付,余额,第三方支付(微信,支付宝,京东、百度、聚合支付、组合支付),找人代付,验证是否支持并且可以正常选择并支付;

异常: 没有绑定任何的支付方式时,支付报错。

**功能交互:**支付时结合优惠券/折扣券/促销价抵扣进行相关的抵扣,验证规则正确,并且可以正常抵扣和支付。

3)确认支付金额:这个步骤可以用到等价类和边界值的用例设计方法

正常:正常金额里用边界值法去测试点:

最大支付金额(单日最大,单笔最大,余额最大)

最小支付金额

异常:同样也用边界值方法提取测试点:

超过支付方式单日最大消费金额/单笔最大/余额最大

异常金额支付:非数字、负数、0,小数点超过 2 位等

4)支付密码:

正常:可以支持的支付密码类型有:指纹,人脸识别,账号密码,动态获取验证码,手势,信用卡和支付码,小额免密等,确认自己的产品所支持的密码类型,确认可以验证并支付成功;

异常:输入错误的密码,检查有无提示信息且正确;超过密码错误上限,检查是否冻结等。

5)其他场景测试点:

a、多笔订单合并支付,是否可以成功;

b、重复点击支付按钮,是否会出现多次购买,并同步检查数据库的数据帐账目正确;

c、支付中断:

主动中断:可以继续支付并成功

被动中断:比如电话、低电量、闹钟,断网、切换后台、耳机插拔等,验证可以继续支付;

d、网络测试:

验证各种网络类型:2G、3G, 4G,5G,wifi 下都可以正常支付;

进行网络切换,支付功能正常;

弱网测试下支付功能正常:不会重复支付多次,App 不会闪退 崩溃,而且页面提示友好;

e、使用 fiddler 等抓包篡改价格:不允许抓包或者数据加密,篡改不成功

二、退款流程

**正常:**验证正常的退款流程,也就是退款的冒烟测试:

1、点击退款可以退款成功,并且检查交易状态是退款,退款金额可以到账;

2、结合优惠券等抵扣,可以退款实际支付金额;

3、同步检查数据库的数据和账目是正确的;

异常:提交错误退款(退款订单号不对),或者退款金额错误,都能够退款失败(此处一般会借助工具进行测试,比如进行接口测试);

三、测试方法

那么以上的测试点在具体公司项目中要怎么进行测试呢?我们有不同的一些测试方法:

1) 小额支付:

需要让开发修改代码,不管支付多少钱,实际支付都是 1 分钱;不顾这种方法只能测试小额支付,就有可能会出现产品小额支付没问题,但是大额支付就错误的漏测情况;

2)申请测试金额:

这种方式一般会作为小额支付的一种补充,比如测试完小额支付后,再测试一些大额支付,这就需要跟公司申请测试基金,走报销流程;

3)沙箱支付:

沙箱支付是一种虚拟的支付,不是真实的金额;这种方法可以验证小额和大额的支付流程;不过目前只有支付宝沙箱比较成熟可用,其他的支付方法不可用。

四、非功能测试点

测试完以上的功能测试点之后,我们还需要验证一些非功能测试点,主要包括以下几个方面:

1)界面

验证界面的美观,排版和错别字等。

2)兼容性

**BS:**如果是 BS 架构的产品,需要测试跟浏览器的兼容性;所以就需要根据浏览器的内核,选择一些主流的浏览器进行测试;

CS:如果 CS 架构的产品,测试手机移动端的兼容,比如手机型号,系统版本和屏幕大小及分辨率等。

3)易用性

测试站在用户的角度考虑用户体验,使用是否方便等。

4)性能

比如考虑多用户支付,长时间运行等,关注产品的响应时间等,一般需要借助工具或者代码进行测试。

5)安全

验证敏感信息是否加密,是否可以篡改;通过一些工具进行安全扫描,检查是否有安全漏洞;或者采用一些其他的手段进行专门的安全测试。



Tags:测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中:“说说你项目中的 xx 模块你是如何测试的?”“给你一个购物车,你要...【详细内容】
2022-02-09  Tags: 测试  点击:(4)  评论:(0)  加入收藏
渗透测试在网络黑客之前寻找到可造成公司数据泄漏、资损、业务流程被伪造等困境的漏洞,公司可对漏洞开展应急处置、立即修补。防止对公司的业务流程、客户及资产造成影响。 ...【详细内容】
2022-01-25  Tags: 测试  点击:(19)  评论:(0)  加入收藏
有成千上万的书籍讲解什么是信息安全,什么是渗透测试,也有数不清的培训课程视频。但是,我敢打赌,在这些材料中,只有不到10%是在写报告的事情。在一个完整的渗透测试过程中,有将近...【详细内容】
2022-01-11  Tags: 测试  点击:(26)  评论:(0)  加入收藏
一、中文单项选择题1.下列哪个语句在Python中是非法的?A、x = y = z =1 B、x = (y = z + 1)C、x, y = y, x D、x += y答案:B 2.关于Python内存管理,下列说法错误的是A、变量不必...【详细内容】
2022-01-05  Tags: 测试  点击:(53)  评论:(0)  加入收藏
声明:本文仅限学习研究讨论,切忌做非法乱纪之事Web打点渗透测试中,Web端最常见的问题大多出现在弱口令、文件上传、未授权、任意文件读取、反序列化、模版漏洞等方面。因此,我...【详细内容】
2021-12-31  Tags: 测试  点击:(33)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  Tags: 测试  点击:(54)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  Tags: 测试  点击:(38)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  Tags: 测试  点击:(44)  评论:(0)  加入收藏
前言作为一名测试工程师,工作中在对测试结果进行数据比对的时候,或多或少要和数据库打交道的,要和数据库打交道,那么一些常用的 SQL 查询语法必须要掌握。最近有部分做测试小伙...【详细内容】
2021-12-14  Tags: 测试  点击:(34)  评论:(0)  加入收藏
requests一、简介使用 python 做自动化接口测试需要用代码发送 http 请求。requests 是 Python 语言里网络请求库中最好用的,没有之一。requests 库有完善详尽的中文版官方...【详细内容】
2021-12-01  Tags: 测试  点击:(40)  评论:(0)  加入收藏
▌简易百科推荐
跳槽高峰期,作为测试,不管是面试还是笔试,必然要被考验到的就是”测试思维“。在面试中就是体现在如下面试题中:“说说你项目中的 xx 模块你是如何测试的?”“给你一个购物车,你要...【详细内容】
2022-02-09  YT33    Tags:测试   点击:(4)  评论:(0)  加入收藏
开工啦!我猜今年疫情原因,返乡的人不多,年假可以留到后面用啦!大多数程序员肯定已经回到了工作岗位上,小编给您播报一下开年新书,看看喜欢不!1、开源之迷适兕 著 丰富的故事和案例,...【详细内容】
2022-02-08  程序员书屋    Tags:书单   点击:(7)  评论:(0)  加入收藏
分享程序员可以接单的六个网站,副业刚需...【详细内容】
2022-02-08  一品开发  今日头条  Tags:程序员   点击:(9)  评论:(0)  加入收藏
有很多学习不高的男生,觉得自己学历不高,总觉得自己前途无望了,其实这样的想法就是错误的,拥有一门技术一样可以走遍天下,那男生学什么技术最挣钱?接下来我们就来给大家讲解一下...【详细内容】
2022-01-25    青年创业网  Tags:技术   点击:(16)  评论:(0)  加入收藏
全栈工程师源于Facebook,是指能在任何能在一个技术栈的任何层次完成工作的工程师。 知道计算机操作系统的基本运行原理 知道如何操作数据库 用一种语言写后端的 API 代码 前...【详细内容】
2022-01-20  趣谈小琐事    Tags:全栈工程师   点击:(27)  评论:(0)  加入收藏
作者 | 年素清出品 | 程序人生 (ID:coder _life)这是一个悲伤却真实的故事:一位精通Java、C++、Python多种开发语言、熟悉多线程并发技术、精通Linux虚拟机原理、学习抗压能力强...【详细内容】
2022-01-10    CSDN  Tags:背调   点击:(43)  评论:(0)  加入收藏
在影视作品中,程序员多以技术大神的形象出现。 他们经常在电脑上随意插一个U盘,对着黑色的界面飞速敲下绿色的代码,10秒钟后合上电脑,冲主角邪魅一笑表示“我已经黑进五角大楼了...【详细内容】
2021-12-31  毕导    Tags:程序员   点击:(31)  评论:(0)  加入收藏
大家好,我是鱼皮,今天给大家推荐几个最近非常流行的编程网站,相信能够帮助大家提高编程效率、更好地学习编程。热门编程网站推荐Codepen演示视频:https://www.bilibili.com/vide...【详细内容】
2021-12-29  程序员鱼皮    Tags:编程网站   点击:(34)  评论:(0)  加入收藏
我 2010 年开始在 Github 上开源自己的代码。在 push 代码之前我根本没想过为什么。只是因为我当时学了 git,而且我又觉得 Github 很方便,可以用来备份自己的代码。而后我就参...【详细内容】
2021-12-28  程序员的喵    Tags:Github   点击:(49)  评论:(0)  加入收藏
JAVA开发工程师(北京)本科 3-5年经验 面议 (招1人)岗位职责:1.负责我行应用系统的设计,完成软件编码工作,负责管理代码设计规范等工作;2.根据应用需求分析说明书,评估需求研发的可行...【详细内容】
2021-12-27  just do丶IT公众号    Tags:国企   点击:(61)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条