博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Web测试囧事》——2.6 时区不一致造成邮件发送异常
阅读量:7044 次
发布时间:2019-06-28

本文共 984 字,大约阅读时间需要 3 分钟。

本节书摘来自华章计算机《Web测试囧事》一书中的第2章,第2.6节,作者 黄勇 雷辉 徐潇 杨雪敏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.6 时区不一致造成邮件发送异常

小蔡一直对产品的后台系统测试比较感兴趣,但是自己并没有这方面的测试经验,所以一直不敢向老牛提出自己想去测试后台系统的想法。她虽然没有明说,但是老牛却看在眼里。刚巧最近产品新增了根据用户收藏的商品,定期向用户发送邮件的功能。老牛就指派小蔡去做新功能的测试,也借这个机会锻炼一下她。

小蔡首先根据自己的经验设计了正向测试用例。

1)在用户收藏商品之后,当达到指定条件,系统会向用户发送邮件。

2)她还设计了逆向测试用例,包括邮件系统本身出错时的一些场景,例如:

image

小蔡觉得自己这次设计的测试用例很全面,应该会得到老牛的表扬,就带着这些测试用例去找老牛确认。

老牛首先表扬了小蔡思考的全面性,也夸奖了她这段时间的成长。此外,他告诉小蔡还可以从邮件发送的机制本身考虑是否存在测试点:发送邮件的脚本会每天定时从数据库里找到需要在当天发送的数据,然后根据指定的邮件格式进行发送,并在发送结束后在数据库里进行标记。这里面是否会存在问题呢?

小蔡马上想到可以使用之前学到的5个Why的方式进行追根溯源。

image

image

带着疑问,小蔡登录到执行邮件脚本的服务器,通过使用Linux的date命令,发现服务器使用的是中国标准时间CST(UTC + 8),和UTC可是差着8小时啊!

在脚本执行时,那些UTC~UTC + 8时间之内的数据都会被忽略,这些邮件用户当天接收不到,但是在数据库存储发送标记的时候,却会把这些数据标记成已发送,从而导致用户永远接收不到这些邮件。

小蔡马上把这一发现汇报给老牛,老牛很认可她的这一发现,并带着这个问题和开发人员以及项目经理进行协调,最后决定修改执行邮件脚本的服务器的时区设置。而为了避免以后出现类似问题,通用的服务器配置脚本里,也会增加对于时区的统一设置。

此外小蔡还了解到,有些国家和地区的时区有DST(Daylight Saving Time,也就是俗称的夏令时),而如果产品代码和某些特定时间相关,例如用户设置早上9点接收邮件报告等,就需要考虑到DST。还有如果某些国家或地区修改了自己的默认时区,比如时常变换时区的委内瑞拉,也是需要及时把修改后的时区反映到产品中的。

image

image
image
image

转载地址:http://wieal.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
Shell脚本之测试及条件表达式简述
查看>>
JavaScript函数详解(二)
查看>>
X9BYOD集群界面展示
查看>>
WebsitePanel部署指南
查看>>
Python 字符串格式化 (%操作符)
查看>>
C++右值引用
查看>>
win7远程桌面连接不上,解决办法
查看>>
优秀设计师是怎样炼成的?转自站酷 – 自由的猞猁 创作
查看>>
从本人做的安卓项目浅谈蓝牙(如有缺漏错误,还请指正)
查看>>
windows10 安装 vim +spf13
查看>>
bugfree中保存用例失败
查看>>
chromium浏览器开发系列第一篇:如何获取最新chromium源码
查看>>
Mysql数据联接用法
查看>>
python学习笔记4-数据类型-数字
查看>>
nagios监控check_mysql报错:libmysqlclient.so.18: cannot open shared object file
查看>>
[转]Java自动装箱与拆箱及其陷阱
查看>>
系统架构随笔 - 设计好每一款应用
查看>>
安装mysql过程
查看>>