上线一段时间后突然有人报告说,某个页面乱码了,或者某个页面怎么没有输出完全。
听到这些第一反应是快速定位问题,解决问题。
但解决完问题后,我们需要分析一下,我们如何才能避免再次出现这种情况?!
一些个想法
自动化脚步
每次上线后跑一个自动化脚本检测核心的几个输出的结果是否完整。
之所以说是去检测核心的几个页面,是因为本身我认为网站的全覆盖的方式是不可能做到的。
我们要保证的是核心的那几个页面没有问题。
判断正确的依据是:判断最后的结束标签是否</html>并且返回的http status为大于等于200,小于300。
优点:
- 实时检测。
- 能检测服务器端的错误。
#####不足:
- 需要事先准备好需要测试的url。
js检测和上报
基本做法是在页面底部埋点,比如:我固定在页面最后输出:<div id="J_Complete" class="hidden"></div>
然后,把监听的js代码放到head里。页面onload的时候去检测上面这个节点是否存在,如果不存在就认为这个页面没有被完整输出,然后上报。
优点
- 覆盖所有的页面。
不足:
- 如果是服务器错误,页面都不输出何来检测。
- 错误发生在这段js代码之前。
最后
try it.