背景介绍
小唐管理的项目已经上线了,上线过程很顺利。
可是上线后,项目便开始出现各种问题了。
比如:上线后系统无缘无故的访问不了。
比如:打开系统尽然提示接口异常的问题。
比如:打开系统特别慢。
...
面对这些线上系统的问题,小唐有点慌。
是技术不合格?还是测试没有到位?
面对线上紧急情况,小唐要怎么办呢?
01线上都有哪些问题
网络攻击事件:
通过网络或其他技术手段,利用信息系统的配置缺陷、协议缺陷、程序缺陷或使用暴力攻击对信息系统实施攻击,并造成信息系统异常或对信息系统当前运行造成潜在危害的事件。
信息破坏事件:
通过网络或其他技术手段,造成信息系统中的数据被篡改、假冒、泄露等而导致的事件。
网络故障事件:
因电信、网络设备等原因造成大部分网络线路中断,用户无法正常使用系统的事件。网络故障事件:因电信、网络设备等原因造成大部分网络线路中断,用户无法正常使用系统的事件。
服务器故障事件:
因系统服务器故障而导致的信息系统无法运行的事件。
软件故障事件:
因系统软件或应用软件故障而导致的信息系统无法运行的事件。
灾难性事件:
因不可抗力对信息系统造成物理破坏而导致的事件。
其他突发事件:
不能归为以上七个基本分类,并可能造成信息系统异常或对信息系统当前运行造成潜在危害的事件。
02问题的级别
这里将所有可能出现的问题分为三个级别:重大、较大、一般。
很多人喜欢把紧急程度的情况按照时间的长短来划分,而我更倾向于按照对用户的影响程度区分。
重大程度:
紧急预案程度为重大程度的问题,主要体现在系统突然宕机无法使用、遭到网络攻击、出现内容安全方面的问题。
主要对应网络攻击事件、信息破坏事件、信息内容安全事件、网络故障事件、服务器故障事件、部分软件故障事件
较大程度:
紧急预案程度为较大程度的问题,主要体现在用户使用不流畅,但 仍可以使用,非主操作业务流程出现异常等方面问题。
主要对应部分软件故障事件
一般程度:
紧急预案程度为一般的问题,主要体现在功能缺陷、设计不合理等情况。
主要对应部分软件故障事件
03解决问题
这里可以按照如下流程进行处理,但是针对不同的问题的问题有不同的处理方式。
04技术解决方案
针对不同的业务系统,会出现很多不同类型的问题。
这里仅探讨服务器、代码、数据库这三方面的问题。
但是系统千千万,解决方案肯定不会是同样的。这里还需要经验积累。
服务器故障的问题:可以切换同等环境的服务器做处理。如果实在不行,重启服务器。
有人说解决计算机问题的最好方案是重启计算机。
我觉得这句话对于服务器是同样的效果。
代码问题:代码的问题我觉得的是很难避免的。这里根本的解决方案就是代码规范化,测试要全面。
常听开发同学说:没有无缘无故的问题,但是会有无缘无故的bug。
数据库的问题:数据库有问题要么就是扩充,要么就是清除数据,再者就需要具体分析问题原因了。
如果具体分析问题的原因就需要DBA介入分析数据库,分析一下具体的原因。
判断问题点在哪里?
是检索出问题了?
是哪个SQL语句用错了?
...
05终极避免线上问题的方案
为了保证线上的稳定,项目经理需要做的就是让测试更加的彻底。
不管是压力测试、性能测试、单元测试、黑盒测试、白盒测试、集成测试等等。
当然如果条件允许,建议测试完成后由质量管理人员对测试的结果负责。