ITPub博客

首页 > 数据库 > 数据库开发技术 > 连开100年会员会怎样

连开100年会员会怎样

原创 数据库开发技术 作者:FunTester 时间:2019-09-28 09:21:29 0 删除 编辑


有一类BUG,不是功能性的,在用户使用过程中也不会遇到,但是一些测试用例还是会覆盖到,当然也有不改的,因为不会对用户有什么影响。

分享一个“BUG”,用户的VIP到期时间最大只能到2038年的某一天。

场景就是在用户不断地购买VIP时,在2038年某一次购买失败。

业务场景如下:用户购买一个月VIP,VIP到期时间往后延长30天,如果之前不是VIP,当前时间戳往后延长30天,花费若干。

当时设计测试用例为了验证系统的交易风险控制中的额度控制和购买VIP整个流程的稳定性验证,写了一个for循环,一直在不停地购买VIP。

数据库存储比较简单,每个用户(如果存在)都有一条记录,用来记录用户VIP状态,字段也简单,就是记录用户VIP的到期时间以及其他信息。购买记录和交易记录都在另外的表存储(跟这个“BUG”没有关系)。

BUG原因:在存储时间戳时,使用的int类型表示到期时间,mysql int 有符号位支持的最大长度是 2147483647;即2038-01-19 11:14:07(北京时间) 已经达到了最大存储值,导致无法保存正确的时间。

解决方案:不搭理他,就当不存在。

虽然是无心插柳发现的“BUG”,也并没有解决掉,但是依然觉得非常有趣。

技术类文章精选

  1. java一行代码打印心形

  2. Linux性能监控软件netdata中文汉化版

  3. 接口测试代码覆盖率(jacoco)方案分享

  4. 性能测试框架

  5. 如何在Linux命令行界面愉快进行性能测试

  6. 图解HTTP脑图

  7. 将swagger文档自动变成测试代码

  8. 五行代码构建静态博客

  9. 基于java的直线型接口测试框架初探

非技术文章精选

  1. 为什么选择软件测试作为职业道路?

  2. 写给所有人的编程思维

  3. 自动化测试的障碍

  4. 自动化测试的问题所在

  5. 成为优秀自动化测试工程师的7个步骤

  6. 未来10年软件测试的新趋势-上

  7. 未来10年软件测试的新趋势-上

  8. 17种软件测试人员常用的高效技能-上

  9. 17种软件测试人员常用的高效技能-下

大咖风采

  1. Tcloud 云测平台--集大成者

  2. Android App 测试工具及知识大集合

点击查看公众号地图

原文作者:FunTester;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-07

  • 博文量
    1037
  • 访问量
    420688