有个客户之前跟我吐槽,说他的商城系统开发了两个月,开发公司演示的时候一切正常,他觉得挺好就验收上线了。结果上线第一天,订单提交不了,客户下了单后台看不到,客服找他他也懵了。
他给开发公司打电话,对方说我们测试的时候都好好的呀,怎么会出问题?最后查了半天才发现,是测试环境和线上环境配置不一样,测试的时候用的是测试数据库,上线的时候数据库配置没改对。
很多老板都有这个疑问,为什么软件开发的时候看着挺好的,一上线就各种问题?是不是开发公司故意没做好?其实不是,这里面有很多原因,有些是开发公司的问题,有些是你自己可能也没注意到的。
一、为什么开发的时候测不出来

很多老板觉得,开发公司既然做了测试,为什么上线还会出问题?是不是他们测试没用心?其实测试这个事,说起来简单,做起来没那么容易。开发公司测试的时候,是在自己的测试环境里测,用的都是测试数据,操作也是开发人员自己在测。
但真实用户的使用场景是不一样的。开发人员测试的时候,他知道这个按钮点下去会发生什么,他会按正常流程走一遍。但真实用户不会,用户会随便点,会按错按钮,会同时打开好几个页面,会在网络不好的时候操作。
最常见的问题就是数据量不一样。开发测试的时候,数据库里可能就几十条数据,页面一下就加载出来了。但上线之后,真实用户用了一段时间,数据库里有几万条、几十万条数据了,这时候查询就慢了,甚至直接超时。
还有就是浏览器和设备的问题。开发人员测试的时候,可能就用自己电脑上的 Chrome 浏览器测一下。但真实用户有用手机的,有用 iPad 的,有用旧版浏览器的,还有用微信内置浏览器的。不同浏览器渲染出来的页面可能不一样,有些功能在 Chrome 上正常,在微信浏览器里就出问题了。
二、上线后出问题真的都是开发公司的锅吗

很多老板一上线出问题就怪开发公司,说你们怎么测的,这么明显的问题都没发现。但实际上,有些问题真不是开发公司能完全避免的。比如用户的操作习惯。开发公司再怎么测,也不可能模拟所有用户的操作方式。总有一些用户的操作是开发人员没想到的,这种边缘情况就是容易出问题的地方。
还有就是第三方接口的问题。很多软件都会用到第三方接口,比如微信支付、短信验证码、地图接口。这些接口是第三方公司提供的,开发公司控制不了。有时候第三方接口出问题了,你的软件就跟着出问题,但这不是开发公司的锅。
还有就是服务器环境的问题。上线之后,服务器上的配置、带宽、数据库性能,这些都会影响软件的运行。有时候代码没问题,但服务器配置不对,或者带宽不够,用户用着就卡,甚至打不开。
当然也有开发公司确实没做好的情况。比如测试的时候就随便点两下,没有做完整的测试流程,没有测异常情况,没有测大数据量的情况。这种就是开发公司的责任了。
三、怎么减少上线后出问题的概率

既然上线后出问题很难完全避免,那有没有办法减少这种情况?其实是有的,你提前做好这几件事,能避免大部分问题。
第一件事就是上线前一定要做真实环境测试。不要在开发公司的测试环境里测完就觉得没问题了,一定要在正式上线的环境里先测一遍,用真实的配置、真实的数据库、真实的域名。很多问题就是环境不一样导致的,你在真实环境测一遍就能发现。
第二件事就是测试的时候要模拟真实用户的操作。不要只测正常流程,还要测异常情况。比如用户填错了会怎么样?用户网络不好的时候操作会怎么样?用户同时打开好几个页面会怎么样?这些异常情况才是最容易出问题的地方。
第三件事就是上线初期一定要有监控。刚上线的前一两周,是问题最多的时候。你要盯着服务器日志、错误日志,出了问题及时发现及时修。不要等用户来找你了,你才知道出问题了。
第四件事就是上线前先小范围试用。不要一上线就给所有用户用,先找几个内部人员或者老客户试用几天,发现问题先修,修好了再正式上线。这样比直接全量上线稳妥得多。
四、软件上线后出问题了怎么办

就算你做了所有准备,上线后还是可能出问题。那出了问题怎么办?
首先不要慌。刚上线的前几周出问题是正常的,就算是大公司做的软件,刚上线也会有各种 bug。关键是出了问题之后,能不能及时发现、及时修复。
然后就是及时跟开发公司沟通。出了问题不要上来就骂人,先把问题描述清楚:什么操作、什么页面、出现了什么现象、什么时候开始的。你描述得越清楚,开发公司排查得越快。
还有就是要有一个修复优先级。不是所有问题都要马上修,有些小问题不影响核心功能,可以后面再修。但影响用户使用、影响交易、影响数据的问题,必须马上修。
很多老板觉得软件上线就完事了,其实不是。上线只是开始,后面还有很长的调试和优化过程。你得跟开发公司配合好,慢慢把系统打磨稳定。
在线
电话
微信
需求
TOP