有一类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种软件测试人员常用的高效技能-下