[求问]依赖服务器时间日期的代码,测试人员应该怎么做呢?

seth199609293天前0

如果有类似这种的服务:一天只能抽奖 n 次, 第二天重置回 N 次, 由于代码里使用了服务器的日期作为缓存的 key那么测试人员应该怎么处理这个问题?

还是说应该在代码里下手?

最新回复 (17)
  • InDom3天前
    引用2
    删 Key 。或者,真的一天就测一次。
    测试会准备很多账号用来测这个功能。
  • cnoder3天前
    引用3
    手动删 key ,不会就让开发留个方便调试的接口
  • 楼主seth199609293天前
    引用4
    @InDom
    @cnoder 不是删除 key 的的问题, 而是日期的问题. 次数的问题可以删除 key, 但是测试怎么验证.
    因为删除 key 你只是把今天的限制解除了. 而不知道明天验证是否会生效
  • israinbow3天前
    引用5
    克隆一个线上环境作为测试环境, 在测试环境里一边测一边改系统时间.
  • 改系统时间测试啊
  • tmrQAQ3天前
    引用7
    mock 时间
  • InDom3天前
    引用8
    一般测试是要求会使用一点 Linux 服务器的,完全可以把测试环境给他,让他自己去改服务器时间。
  • Jar2vis3天前
    引用9
    测试环境改系统时间验证,上线了一般只验证当天次数限制
  • qooweds3天前
    引用10
    关键业务,条件允许的话就按照真实时间跨度去测。
    做好用例评审,准备多个账号,每个账号覆盖一组测试用例,这样覆盖 2 到 3 天的测试场景。
    关于缓存失效或者其他不方便用真实时间跨度来覆盖的测试,可以通过改服务器时间来测。
    修改代码或者配置来测试只能是没有办法中的办法了。
  • 楼主seth199609293天前
    引用11
    @israinbow
    @twinsdestiny
    @InDom 好的感谢.
    @tmrQAQ 怎么 mock?
    @qooweds 好的, 感谢
  • edward19873天前
    引用12
    作为后端,我是提供切服务器逻辑时间的接口,供测试调用。
  • 楼主seth199609293天前
    引用13
    @edward1987 之前我也是这样子, 但是太麻烦了. 要么就是以后要删除这个接口. 要么就是预防线上不要这个接口
  • edward19873天前
    引用14
    @seth19960929 线上环境过滤这个接口,对开发来说就一句代码的事啊。。
  • 楼主seth199609293天前
    引用15
    @edward1987 改完代码之后是不是还要再测试一遍. 这个方法不好的地方就在这里
  • loveuqian3天前
    引用16
    可以把(一天只能抽奖 n 次)的需求改成( x 分钟只能抽奖 n 次)吗?
  • zjp3天前
    引用17
    libfaketime 模拟时间
  • ForkNMB3天前
    引用18
    肯定不能改系统时间测啊,测试机器上又不止部署了一个项目,别人的项目也在跑的。应该吧时间和频率的限制做成可配置化的,把 1 天内抽 n 次改为一定时间内抽 n 次,这样就可以满足测试要求了。
  • 游客
    19
返回