「原创声明:保留所有权利,禁止转载」
有一类 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”,也并没有解决掉,但是依然觉得非常有趣。
技术类文章精选
- java 一行代码打印心形
- Linux 性能监控软件 netdata 中文汉化版
- 接口测试代码覆盖率(jacoco)方案分享
- 性能测试框架
- 如何在 Linux 命令行界面愉快进行性能测试
- 图解 HTTP 脑图
- 如何测试概率型业务接口
- httpclient 处理多用户同时在线
- 将 swagger 文档自动变成测试代码
- 五行代码构建静态博客
- httpclient 如何处理 302 重定向
- 基于 java 的直线型接口测试框架初探
- Tcloud 云测平台 -- 集大成者
- 如何测试概率型业务接口
- Android App 测试工具及知识大集合
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 成为杰出 Java 开发人员的 10 个步骤
- 写给所有人的编程思维
- 自动化测试的障碍
- 自动化测试的问题所在
- 测试之《代码不朽》脑图
- 成为优秀自动化测试工程师的 7 个步骤
- 优秀软件开发人员的态度
- 如何正确执行功能 API 测试
- 未来 10 年软件测试的新趋势 - 上
- 未来 10 年软件测试的新趋势 - 上
- 自动化测试解决了什么问题
- 17 种软件测试人员常用的高效技能 - 上
- 17 种软件测试人员常用的高效技能 - 下
大咖风采
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!