支付功能相关测试点梳理

2024-06-03 20:28

本文主要是介绍支付功能相关测试点梳理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        大家好,在当今数字化时代,支付系统已经成为商业和个人生活中不可或缺的一部分。随着电子商务、移动支付和线上交易的普及,支付系统在全球范围内得到广泛应用。从在线购物到账单支付,从跨境汇款到数字货币交易,支付系统在促进经济活动和金融交易方面扮演着关键角色。

支付系统的重要性和广泛应用:
        支付系统的重要性不言而喻。它为商家和消费者之间的交易提供了便捷、安全和可靠的方式。商家可以通过支付系统接受各种支付方式,从而扩大销售渠道并增加收益。消费者则能够便捷地购买商品和服务,无论是线上还是线下。无论是个人消费还是企业交易,支付系统都是推动经济增长和商业发展的重要基石。

支付系统的可靠性和安全性的重要性:
        支付系统的可靠性和安全性对于保护用户的财产和个人信息至关重要。支付系统必须能够处理大量的交易请求,并保证交易的准确性和完整性。用户在进行支付时,希望能够得到即时的结果,并且确保自己的资金和账户安全。此外,支付系统还需要应对各种威胁和风险,如欺诈、数据泄露和网络攻击。因此,确保支付系统的可靠性和安全性是保护用户利益和维护商业信誉的关键因素。

测试支付系统的必要性和挑战:
        鉴于支付系统的重要性和安全性要求,对支付系统进行全面而系统的测试是至关重要的。测试可以发现潜在的缺陷和漏洞,以确保支付系统的正常运行和安全性。支付系统的测试面临着许多挑战。首先,支付系统通常涉及多个组件和复杂的交互过程,需要对各个环节进行细致的测试。其次,支付系统需要处理大量的并发交易和复杂的业务规则,因此需要进行性能和负载测试。此外,支付系统的安全性测试也是一项复杂的任务,需要测试各种攻击场景和安全措施的有效性。

一、正常支付流程测试

  1. 订单支付的金额为整数:测试订单金额为整数值,验证支付系统能正确处理整数金额的支付流程。
  2. 订单支付的金额为小数(保留小数):测试订单金额为小数值,验证支付系统能正确处理保留小数的金额支付。
  3. 优惠后,需要支付的金额:测试订单使用优惠券或其他优惠活动后,验证支付系统能准确计算出用户需要支付的最终金额。
  4. 订单的金额小于实际金额:测试订单金额小于实际金额,验证支付系统能够正确处理金额不足的情况。
  5. 订单的金额大于实际金额:测试订单金额大于实际金额,验证支付系统能够正确处理金额溢出的情况。
  6. 多订单的组合金额:测试多个订单进行组合支付,验证支付系统能正确处理多订单的金额计算和支付流程。
  7. 多支付类型组合支付金额:测试同时使用多种支付方式进行组合支付,验证支付系统能够正确处理多支付类型的金额计算和支付流程。
  8. 金额的篡改,利用工具(Fiddler、Charles、Wireshark):测试使用网络调试工具篡改支付请求中的金额参数,验证支付系统能够检测到并阻止篡改行为。
  9. 支付请求完成后,不输入支付密码(免支付设置):测试用户设置了免密支付,验证支付系统能够正确处理不输入支付密码的支付请求。
  10. 支付请求完成后,输入错误的密码:测试用户输入错误的支付密码,验证支付系统能够正确处理密码错误的情况。
  11. 支付输入密码后,立刻关闭当前页面:测试用户在输入支付密码后立即关闭支付页面,验证支付系统能够正确处理支付中断的情况。
  12. 扫码支付,支付二维码错误:测试使用错误的支付二维码进行扫码支付,验证支付系统能够正确识别并提示错误。
  13. 超时测试:测试微信和支付宝的超时支付机制,验证支付系统在超时情况下的处理能力。
  14. 余额不足,取消支付:测试用户余额不足时取消支付,验证支付系统能够正确处理余额不足的情况。
  15. 余额不足,更换支付方式,是否可以继续支付:测试用户余额不足时更换支付方式,验证支付系统能够正确处理支付方式切换和继续支付。
  16. 支付方式:免密支付、银行卡支付、密码支付、指纹支付:测试不同的支付方式,验证支付系统对各种支付方式的支持和处理能力。
  17. 支付流水记录:验证支付系统能够正确记录支付流水,包括支付时间、金额、支付方式等信息。
  18. 支付金额包含优惠券或其他优惠活动:测试订单金额包含优惠券或其他优惠活动,验证支付系统能正确计算并处理优惠金额。
  19. 是否支持分期付款:测试支付系统是否支持分期付款功能,验证其在分期付款情况下的处理能力。
  20. 支持多种支付方式的拉起:测试支付系统能否正确拉起支持的多种支付方式,如微信、支付宝等。

二、异常支付流程测试

1、重复操作测试

  1. 支付无响应时,重复去支付:测试支付无响应时用户进行多次支付操作,验证支付系统能正确处理重复支付请求。
  2. 同一订单多人同时支付:测试多个用户同时对同一订单进行支付,验证支付系统能正确处理并发支付请求。
  3. 弱网下,反复点击支付按钮:测试在弱网环境下,用户反复点击支付按钮,验证支付系统的容错能力和稳定性。
  4. 支付密码错误,多次重试支付:测试用户多次输入错误的支付密码进行支付,验证支付系统的密码错误处理机制。
  5. 多次拉起支付,但不进行支付操作:测试多次拉起支付界面但不进行实际支付操作,验证支付系统对未完成支付的处理能力。

2、服务器异常验证

  1. 支付完成后,未接收到异步通知时,我方服务器故障:测试支付完成后未能接收到异步通知的情况,验证支付系统在服务器故障时的处理能力。
  2. 支付完成后,未接收到前台通知,我方服务器故障:测试支付完成后未能接收到前台通知的情况,验证支付系统在服务器故障时的处理能力。

3、网络情况测试

  1. 弱网环境下,支付请求超时,查看支付订单是否有生成,查看支付情况:测试在弱网环境下支付请求超时的情况,验证支付系统的超时处理能力和订单生成情况。
  2. 弱网环境下,输入密码支付成功后,返回相关页面或者APP时请求超时,查看订单支付情况:测试在弱网环境下输入密码支付成功后返回页面或APP时请求超时的情况,验证支付系统的超时处理能力和订单支付状态。
  3. 支付过程中,切换设备网络情况,比如WiFi切换5G/5G切换WiFi,查看支付情况:测试在支付过程中切换设备网络情况,验证支付系统对网络切换的处理能力和支付状态。
  4. 用户点击支付后,出现网络异常等影响支付流程问题,查看数据库是否有待支付订单生成:测试用户点击支付后出现网络异常等问题,验证支付系统是否正确生成待支付订单。
  5. 用户点击支付后,出现网络异常等影响支付流程问题恢复后,验证页面是否进行刷新,用户是否继续进行支付:测试用户点击支付后出现网络异常等问题恢复后的处理能力,验证支付系统的页面刷新和用户支付继续能力。
  6. 用户点击支付后,拉起微信或支付宝后程序未登录,登录成功后验证页面是否进行刷新,用户是否继续进行支付:测试用户点击支付后拉起微信或支付宝程序未登录的情况,验证支付系统在登录成功后的处理能力,包括页面刷新和用户支付继续能力。
  7. 用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题,查看数据库该笔订单是否成功:测试用户输入密码支付后未接收到成功通知的情况,验证支付系统在网络异常等情况下订单支付状态的准确性。
  8. 用户输入密码支付后,还未接收到成功通知时,出现网络异常等影响支付流程问题恢复后,查看用户是否收到前台支付结果通知页面:测试用户输入密码支付后未接收到成功通知的情况下恢复后的处理能力,验证支付系统是否能正确通知用户支付结果。

4、相关配置测试

  1. 未开通对应渠道的支付开关:测试未开通某个支付渠道的情况下,验证支付系统对该支付渠道的处理能力。
  2. 未配置对应渠道的支付参数类:测试未配置某个支付渠道的支付参数类的情况下,验证支付系统对该支付渠道的处理能力。
  3. 未安装对应渠道APP(支付宝、微信等):测试用户未安装某个支付渠道的APP的情况下,验证支付系统对该支付渠道的处理能力。
  4. 未登录对应支付渠道APP:测试用户未登录某个支付渠道APP的情况下,验证支付系统对该支付渠道的处理能力。

5、容错性测试

  1. 支付请求超时后,重新发起支付请求:测试支付请求超时后用户重新发起支付请求,验证支付系统的容错能力和处理机制。
  2. 支付请求失败后,重新发起支付请求:测试支付请求失败后用户重新发起支付请求,验证支付系统的容错能力和处理机制。
  3. 支付中断后,重新发起支付请求:测试支付过程中断后用户重新发起支付请求,验证支付系统的容错能力和处理机制。
  4. 支付过程中网络异常,重新发起支付请求:测试支付过程中出现网络异常后用户重新发起支付请求,验证支付系统的容错能力和处理机制。
  5. 支付过程中服务器异常,重新发起支付请求:测试支付过程中出现服务器异常后用户重新发起支付请求,验证支付系统的容错能力和处理机制。

三、安全性测试

  1. 支付接口是否存在越权访问漏洞:测试支付接口是否存在越权访问漏洞,验证支付系统的安全性。
  2. 支付请求数据是否进行加密传输:测试支付请求数据是否进行加密传输,验证支付系统的数据安全性。
  3. 支付结果通知的合法性验证:测试支付结果通知的合法性验证机制,防止支付结果被篡改。
  4. 支付密码的安全性验证:测试支付密码的复杂度要求和安全性验证机制,防止密码被猜测或暴力破解。
  5. 防止支付重放攻击:测试支付系统是否具备防止支付重放攻击的机制,如请求唯一标识、时间戳等。
  6. 防止支付信息泄露:测试支付系统在支付过程中是否防止支付信息泄露,如隐藏敏感信息、加密传输等。

四、其他测试

  1. 支付系统的性能测试:测试支付系统的性能指标,如并发处理能力、响应时间等。
  2. 支付系统的可扩展性测试:测试支付系统的可扩展性,验证其能否支持大规模用户并且能够灵活扩展。
  3. 支付系统的兼容性测试:测试支付系统在不同操作系统、浏览器、设备等环境下的兼容性。
  4. 支付系统的日志记录和异常处理:测试支付系统的日志记录功能和异常处理能力,确保可以快速定位和解决问题。
  5. 支付系统的退款流程测试:测试支付系统的退款流程,确保能够正确处理退款请求。
  6. 支付系统的账户余额和交易明细准确性:测试支付系统的账户余额和交易明细的准确性,验证系统的数据一致性。
  7. 支付系统的错误处理和错误提示:测试支付系统对不合法支付请求和异常情况的错误处理和错误提示,确保友好的用户体验。

这篇关于支付功能相关测试点梳理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028024

相关文章

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

Node Linux相关安装

下载经编译好的文件cd /optwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gztar -xvf node-v10.15.3-linux-x64.tar.gzln -s /opt/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/ln -s /opt/nod

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk