如果有类似这种的服务: 一天只能抽奖 n 次, 第二天重置回 N 次, 由于代码里使用了服务器的日期作为缓存的 key 那么测试人员应该怎么处理这个问题?
还是说应该在代码里下手?
如果有类似这种的服务: 一天只能抽奖 n 次, 第二天重置回 N 次, 由于代码里使用了服务器的日期作为缓存的 key 那么测试人员应该怎么处理这个问题?
还是说应该在代码里下手?
|
InDomJun 23, 2022
1
删 Key 。或者,真的一天就测一次。
测试会准备很多账号用来测这个功能。 |
|
cnoderJun 23, 2022
2
手动删 key ,不会就让开发留个方便调试的接口
|
|
3
|
|
israinbowJun 23, 2022
4
克隆一个线上环境作为测试环境, 在测试环境里一边测一边改系统时间.
|
|
twinsdestinyJun 23, 2022
5
改系统时间测试啊
|
|
tmrQAQJun 23, 2022
6
mock 时间
|
|
InDomJun 23, 2022
7
一般测试是要求会使用一点 Linux 服务器的,完全可以把测试环境给他,让他自己去改服务器时间。
|
|
Jar2visJun 23, 2022
8
测试环境改系统时间验证,上线了一般只验证当天次数限制
|
|
qoowedsJun 23, 2022
9
关键业务,条件允许的话就按照真实时间跨度去测。
做好用例评审,准备多个账号,每个账号覆盖一组测试用例,这样覆盖 2 到 3 天的测试场景。 关于缓存失效或者其他不方便用真实时间跨度来覆盖的测试,可以通过改服务器时间来测。 修改代码或者配置来测试只能是没有办法中的办法了。 |
|
edward1987Jun 23, 2022
11
作为后端,我是提供切服务器逻辑时间的接口,供测试调用。
|
|
12
@edward1987 之前我也是这样子, 但是太麻烦了. 要么就是以后要删除这个接口. 要么就是预防线上不要这个接口
|
|
edward1987Jun 23, 2022
13
@seth19960929 线上环境过滤这个接口,对开发来说就一句代码的事啊。。
|
|
14
@edward1987 改完代码之后是不是还要再测试一遍. 这个方法不好的地方就在这里
|
|
loveuqianJun 23, 2022
15
可以把(一天只能抽奖 n 次)的需求改成( x 分钟只能抽奖 n 次)吗?
|
|
zjpJun 23, 2022
16
libfaketime 模拟时间
|
|
ForkNMBJun 23, 2022
17
肯定不能改系统时间测啊,测试机器上又不止部署了一个项目,别人的项目也在跑的。应该吧时间和频率的限制做成可配置化的,把 1 天内抽 n 次改为一定时间内抽 n 次,这样就可以满足测试要求了。
|
|
18
|
|
loveuqianJun 24, 2022
19
|
|
edward1987Jun 24, 2022
20
@seth19960929 #14 不用改代码啊。。这个开发一开始就加了过滤了,根据环境过滤。 就一句代码的功能,开发还是能保证正常的😂。 实在信不过,上线的时候调用这个接口看下日志就好
|
|
zjpJun 24, 2022
21
#18 有额外的好处:不影响其他进程,可以修改时间流逝速度
|