当前位置: 首页 > news >正文

防重复提交的Token机制需求测试点

根据防重复提交的Token机制需求,从功能、边界、异常、性能和安全五个维度设计测试点,确保覆盖核心场景和潜在风险。以下是详细的测试方案:


​一、基础功能测试​

  1. ​Token生成与传递​

    • 验证前端每次提交订单是否生成​​唯一随机字符串​​(长度、字符类型是否符合要求)

    • 检查前端是否将Token正确附加到请求头/请求体中

    • 后端是否成功接收Token并返回200响应

  2. ​Redis存储验证​

    • 提交订单后,检查Redis是否以order:token:{token}为Key存储数据(Value可为订单ID或时间戳)

    • 验证Redis的TTL(生存时间)是否与配置的Token失效时间一致

  3. ​重复提交拦截​

    • 相同Token在失效期内二次提交订单,检查:

      • 后端是否返回​​明确错误码​​(如HTTP 409 Conflict)

      • 错误信息是否提示"重复提交"

      • ​订单是否未被创建​​(数据库无新记录)

    • 更换不同Token提交相同订单内容,验证是否成功

  4. ​Token自动失效​

    • 等待Token过期后,用原Token重新提交订单:

      • 检查Redis中该Key是否自动删除

      • 验证订单是否提交成功


​二、边界条件测试​

  1. ​时效性边界​

    • Token失效时间临界点测试(如配置60秒失效):

      • 第59秒提交 → 触发重复提交拦截

      • 第61秒提交 → 成功创建新订单

  2. ​高并发重复提交​

    • 使用同一Token在10ms内发起100次并发请求:

      • 仅允许第一个请求成功,其余99次均被拦截

      • 检查Redis中Token未被意外删除或覆盖

  3. ​Token容量测试​

    • 批量生成10万+ Token存入Redis:

      • 验证Redis内存占用是否正常

      • 检查Token写入/读取性能是否达标(如P99延迟<50ms)


​三、异常场景测试​

  1. ​异常Token处理​

    • 前端传递空Token/非法字符Token(如SQL注入语句):

      • 后端是否返回400错误并提示"无效Token"

      • 检查是否未操作Redis和数据库

  2. ​Redis服务异常​

    • 模拟Redis宕机或网络中断:

      • 验证订单提交是否降级处理(如记录日志并放行)

      • 检查监控告警是否触发

  3. ​重复提交绕过​

    • 在Token失效前手动删除Redis中的Key:

      • 尝试用原Token提交 → 应成功创建订单(需记录审计日志)

    • 篡改Token重放请求 → 后端应拒绝并告警


​四、性能与安全测试​

  1. ​Token生成安全性​

    • 用工具检测Token随机性(如Entropy值>7.9)

    • 尝试预测下一个Token(如用时间戳+随机数模式) → 应无法预测

  2. ​压力测试​

    • 模拟每秒1万次订单提交:

      • 验证Token写入Redis成功率100%

      • 检查Redis CPU/内存无瓶颈

      • 重复提交拦截响应时间<100ms

  3. ​防重放攻击​

    • 捕获合法请求后重放1000次:

      • 仅第一次成功,后续请求全部被拦截

      • Redis中Token的TTL未因重放被重置


​五、配置与兼容性测试​

  1. ​动态配置验证​

    • 修改Token失效时间(如60s → 120s):

      • 热更新后新提交订单是否立即生效新TTL

    • 关闭防重功能开关 → 相同Token可重复提交

  2. ​多端兼容​

    • 不同客户端(Web/APP/H5)生成的Token格式是否统一

    • 混合使用各端Token提交 → 防重逻辑应一致


​六、测试工具建议​

测试类型

推荐工具

验证指标

功能测试

Postman + RedisInsight

状态码、Redis数据一致性

并发测试

JMeter / k6

拦截率、订单创建成功率

安全性测试

Burp Suite

Token不可预测性

异常注入

ChaosMesh

Redis宕机时服务降级能力


​关键检查点总结​

​最终输出​​:测试报告需包含Redis操作日志、并发测试截图、Token失效时间验证视频,重点标注​​防重失效​​和​​安全绕过​​风险项。

http://www.dtcms.com/a/517014.html

相关文章:

  • 李宏毅机器学习笔记29
  • 羊驼免疫平台:纳米抗体制备的天然基石与实践挑战深度解析
  • 【YOLO11-obb部署至RK3588】模型训练→转换RKNN→开发板部署
  • 怎么建立公司网站平台南通微信网站开发
  • nodejs可以做企业网站吗wordpress xcache
  • AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
  • 基于 GEE 使用 OTSU 算法赋能遥感水体自动化提取:从自动阈值计算到高效分割的水体自动分割方案
  • 网站开发的项目总结汕头网站建设方案开发
  • 网站做好了怎么做后台wordpress设置弹窗
  • jsp租房网站开发门户网站系统建设项目招标书
  • PL2303TA不支援WINDOWS 11及后续版本,请洽询购买厂商[已解决]
  • Flink 的 checkpoint 对 key state 是怎么样存储的?
  • 辛集市住房和城乡建设厅网站焦作网站建设设计公司
  • 电子商务网站建设有什么意义重庆网站建设途锦科技
  • 【回眸】英语自我介绍(头马俱乐部版)
  • Python技巧:负数的16进制补码
  • 昆山建设局网站首页网站培训公司
  • 南充做网站建网站 网站内容怎么做
  • 力扣热题100道之189轮转数组
  • AutoGen框架入门:5个核心概念搭建智能体协作系统
  • MySQL 慢查询诊断与 SQL 优化实战指南(适配 MySQL 8.4 LTS)
  • wordpress 上传svg南通seo网站推广费用
  • 蓝桥杯-16955 岁月流转
  • 每日一个网络知识点:应用层WWW与HTTP
  • 个人网站建设实验心得投资公司取名字大全
  • 欧美网站建设公司东莞专业的网站制作有哪些
  • xtuoj Candy
  • 襄阳大摩网站建设网站开发者所有权归属
  • 一条龙网站建设价格编程应用
  • StarsNote 1.1.0测试版