首页 > 代码库 > 愚人节?测试环境OK,发布到公网跑不了?!
愚人节?测试环境OK,发布到公网跑不了?!
软件在测试环境测试通过了,但是发布到线上就跑不通了。面对这种情况,测试新人怕责怪怕背锅,测试老员工怕说自己测试能力资质一般;但其实遇到问题,如果能够快速的定位到是什么问题,就一切都好办了!起码你不会被质疑资质平庸!
首先,我们要弄懂什么是测试环境什么是公网环境(也就是生产环境)。
第二,我们先要沉着冷静,把问题给看清楚(现在是测试环境是没有任何问题的,但是发布上去,公网上有问题)。
第三,从第一点,我们知道,测试环境和公网环境是两个不同的环境,它们也许数据库结构是一样的,代码是一样的,但是运行的软件环境或者是配置是不一样的,如果明白这个道理,我们就一层一层的去分析。
以小编遇到过的问题来举例子,分析如下:
1、是否100%确定测试环境是OK的?一次都没有出现过这个问题,如果是,请直接忽略这点;如果不是,那么恭喜你,那么低概率的事件居然在上线出现了,吃一堑长一智,不管bug是偶现还是大概率复现,你都应该把这个bug提交做好跟踪。
2、对比两处环境的配置是否一致,如果不一致,要检查是否公网的配置文件少了关键的配置参数值?或者是配置文件有错?这些问题都有可能会导致问题出现,一般比如说:访问的URL配置指向不对?举个栗子:小编有一次测试接口的时候,配置文件hession URL没有配置对!!!用的是开发环境的,死活跟开发说他的代码有问题,一直检查不对,后面才知道是我自己配置错误了,还好这个是测试环境,万一是公网环境,绝对的下不得地!当然公网环境不是我们所能决定的,但是你也可以帮忙定位是否他们的配置文件少了参数或者是关键变量!
3、如果环境变量一致,那么请直接看C。检查两者的数据库表结构是否一致!有的时候开发直接把这个数据库表的结构告诉测试,测试直接在测试环境构建新的库表,那么程序可以正常运行。但是,如果:你们可爱的开发,忘记把这个新增的数据库表结构提交给发布程序的人或者是运维,那么即使服务发布了,那么你的网站某个功能或者是包或者是接口都是不能访问的!因为你一到新增的功能模块提交数据,数据无处可去,成了游魂型的数据,就会报错,小问题报错,大问题直接运行不了卡死,所以也必须要慎重!当然这也许不是你的问题,但是如果你可以定位到这个问题,那就会更加棒!
4、好的,如果以上都没有问题,那么只能去怀疑。发布到公网上的代码与你测试环境的代码是否是同一个版本?你测试通过的是1.2版本,但是运维如果去SVN上拉取的是1.1版本,然后打包发布上去,那么出现问题,访问不了,这个难道不是很正常嘛?
以上只是个人工作经验,也是自己曾经跳过的坑!希望会帮助到你们!
或者大家可以使用自动化测试工具TestWriter(零编码、易操作),避免这一问题,吼吼~
>>戳戳,免费下载最新版本TestWriter!
愚人节?测试环境OK,发布到公网跑不了?!