Skip to content

19. 定时任务和消息通知怎么测试

定时任务和消息通知是业务系统的重要功能。

订单超时关闭、优惠券过期、报表定时生成、消息推送、邮件通知,都涉及定时任务和消息通知。

一、定时任务要测什么

定时任务测试要覆盖:

  • 任务触发时间;
  • 任务执行逻辑;
  • 任务执行结果;
  • 任务执行失败处理;
  • 任务并发执行;
  • 任务重复执行;
  • 任务性能;
  • 任务日志记录。

比如订单超时关闭任务:

  • 任务是否在指定时间触发;
  • 超时订单是否被正确关闭;
  • 关闭后库存是否恢复;
  • 关闭后优惠券是否退回;
  • 任务执行失败是否有重试;
  • 多个订单同时关闭是否正常;
  • 任务重复执行是否幂等;
  • 大量订单关闭是否超时;
  • 任务执行是否有日志记录。

二、任务触发时间要测试

定时任务触发时间要验证:

  • 任务是否按指定时间触发;
  • 任务是否按指定间隔触发;
  • 任务是否在指定条件触发;
  • 任务是否错过触发时间后补执行。

比如优惠券过期任务:

  • 任务是否每天凌晨执行;
  • 任务是否每小时执行;
  • 任务是否在优惠券过期时间点执行;
  • 任务错过执行时间后是否补执行。

三、任务执行逻辑要测试

定时任务执行逻辑要验证:

  • 任务是否正确筛选目标数据;
  • 任务是否正确执行业务逻辑;
  • 任务是否正确更新数据状态;
  • 任务是否正确生成关联数据。

比如报表生成任务:

  • 任务是否筛选昨日订单数据;
  • 任务是否正确计算统计指标;
  • 任务是否正确生成报表记录;
  • 任务是否正确生成报表文件。

四、任务执行失败要测试

定时任务执行失败要验证:

  • 任务失败是否有重试;
  • 任务失败是否有告警;
  • 任务失败后数据是否有处理;
  • 任务失败是否有日志记录。

比如订单关闭任务:

  • 任务执行失败是否自动重试;
  • 任务多次失败是否有告警通知;
  • 任务失败订单是否有补偿处理;
  • 任务失败是否有详细日志。

五、任务并发和重复要测试

定时任务并发和重复要验证:

  • 任务并发执行是否正常;
  • 任务重复执行是否幂等;
  • 任务执行过程中是否可手动触发;
  • 手动触发是否和定时触发冲突。

比如库存同步任务:

  • 多个商品同时同步库存是否正常;
  • 任务重复执行是否不会重复扣减库存;
  • 任务执行过程中手动同步库存是否正常;
  • 手动同步和定时同步是否不会冲突。

六、消息通知要测什么

消息通知测试要覆盖:

  • 通知触发条件;
  • 通知发送渠道;
  • 通知内容正确性;
  • 通知发送时机;
  • 通知发送失败处理;
  • 通知重复发送;
  • 通知接收确认。

比如订单支付成功通知:

  • 支付成功是否触发通知;
  • 通知是否发送短信和邮件;
  • 通知内容是否包含订单信息;
  • 通知是否在支付成功后立即发送;
  • 通知发送失败是否有重试;
  • 支付成功是否重复发送通知;
  • 用户是否确认收到通知。

七、通知触发条件要测试

消息通知触发条件要验证:

  • 正常触发是否发送通知;
  • 异常触发是否发送通知;
  • 触发条件变更是否生效;
  • 不满足条件是否不发送通知。

比如审批完成通知:

  • 审批通过是否发送通知;
  • 审批拒绝是否发送通知;
  • 审批撤销是否发送通知;
  • 审批未完成是否不发送通知。

八、通知发送渠道要测试

消息通知发送渠道要验证:

  • 短信通知是否发送成功;
  • 邮件通知是否发送成功;
  • App 推送是否发送成功;
  • 微信通知是否发送成功;
  • 多渠道通知是否同时发送。

比如订单状态变更通知:

  • 短信是否发送到用户手机;
  • 那邮件是否发送到用户邮箱;
  • App 推送是否显示在通知栏;
  • 微信是否发送模板消息;
  • 用户是否同时收到短信和邮件。

九、通知内容要测试

消息通知内容要验证:

  • 通知内容是否完整;
  • 通知内容是否正确;
  • 通知内容是否可点击跳转;
  • 通知内容是否可个性化。

比如订单发货通知:

  • 通知是否包含订单号;
  • 通知是否包含物流信息;
  • 通知是否可点击跳转到订单详情;
  • 通知是否根据用户语言显示不同内容。

十、面试回答模板

可以这样回答:

定时任务和消息通知测试我会从触发条件、执行逻辑、执行结果、失败处理、并发重复、发送渠道、内容正确性和接收确认几个方面展开。定时任务测触发时间、执行逻辑、执行结果、失败重试告警、并发执行、重复幂等、性能超时、日志记录;触发时间测指定时间、指定间隔、指定条件、错过补执行;执行逻辑测筛选数据、业务逻辑、状态更新、关联数据;失败处理测重试、告警、数据补偿、日志记录;并发重复测并发执行、重复幂等、手动触发、冲突处理。消息通知测触发条件、发送渠道、内容正确性、发送时机、失败重试、重复发送、接收确认;触发条件测正常触发、异常触发、条件变更、不满足条件;发送渠道测短信、邮件、推送、微信、多渠道;内容测完整性、正确性、跳转、个性化。

这个回答能体现你有完整的定时任务和消息通知测试思路。

十一、下一步建议

建议你把一个熟悉的定时任务或消息通知功能按上面维度重新整理:

  • 定时任务测试点;
  • 触发条件测试点;
  • 执行逻辑测试点;
  • 失败处理测试点;
  • 消息通知测试点;
  • 发送渠道测试点。

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效