概述:本文主要探讨消防演习与异常测试之间的联系。啥?消防演习和测试还有关系?您别着急,慢慢往下看。
消防演习与异常测试
火灾,一辈子都不会遇到太多次的场景,但是为什么还是要做消防演习?因为生命大于天,通过演习带来的准备可以最大程度的减少伤亡,减少二次伤害,增加应急处理能力。
异常测试,顾名思义,正常情况下不会出现的情况,但是功能场景下没有问题的系统,在异常情况下表现如何?可不可靠?稳不稳定?这是我们的关注点之一。

异常测试作为软件质量保障中的一环到底是什么?是否需要引入?异常测试的边界在哪里?这就是本文将要探讨的话题。

前一段时间微盟数据库被删,许多人都有听说,作为一名从业人员,这个事件真的不能只当作笑话来听,这背后其实暴露了许多问题,除去管理上的问题,对异常的处理上微盟也是不及格的,可是回头反思,这件事发生到国内任何一家互联网公司上,有几家能够安然处理。
溯源到微盟部署在自建MySQL数据库上的核心业务数据,被微盟某运维人员用一种让程序员闻风丧胆的Linux系统下文件删除命令,整体进行了不可逆的删除。业内经常调侃的程序员删库的事件,就如黑天鹅,毫无征兆地发生在微盟身上,业务瞬间全线崩溃,数百万商家无法开展业务。事后外界的各种技术解读,大多会提到“有没有备份数据?为什么不用备份数据快速还原?”外界并不清楚的是,备份数据也被一起删除了。事情的严重程度远超外界想象。微盟立刻启动紧急响应机制。由于内部相关技术能力缺乏,微盟也向腾讯云紧急求援。

异常测试是什么?

如果说测试是为了发现错误而执行程序的过程。那么异常测试是指人为构造异常场景,验证系统处理逻辑的过程。

为什么要做异常测试?

根据墨菲定律,事情如果有变坏的可能,不管这种可能性有多小,它总会发生。假设完全没有异常发生,那么我们就不需要做异常测试,但事实是完全没有异常发生是不可能的,网络,磁盘,内存,机器损坏,电路崩溃等等都有可能出现,所以我们需要异常测试。【反证法】

异常测试的目的是什么?

异常测试的目的是为了检查系统在特殊情况下的表现。异常测试是保障系统稳定性的重要手段。
世上没有完美的人,也没有完美的软件。
我们需要检验系统的稳定性,发现可能存在的瓶颈点,并制定完备的应急预案。

有没有必要进行异常测试?

其实如同其他类型的测试一样,是否需要进行异常测试,要看你对这个系统的要求。假设你需要这个系统稳定可靠,甚至能够从错误中恢复,那么异常测试是用必要的,是衡量系统的重要手段。

异常测试的边界?

虽然错误有可能出现在软件的任何一个模块,但是我们还是要凭借历史数据,推测最有可能出现问题的场景,从而确定异常测试的边界。边界意味着工作量,意味着需要人力和时间,我们不可能把异常测试的范围定义为无穷大,只有在有限集的情况下,工作才有意义。

如何开展异常测试?

异常测试的流程和普通测试的流程大同小异。下面具体介绍。
第一,需要了解系统的架构是什么样子的,知己知彼,百战不殆。如果说系统对于测试人员来说是个完全的黑盒子,我的建议是不要去开展异常测试了。

第二,在了解系统基本架构的情况下,划分初具体的模块,理清系统间的依赖关系
下面这张图是一个简单的架构图。
消防演习与异常测试
第三,设计异常测试用例
如果你没有头绪,可以从以下几个角度进行用例设计,业务角度与系统角度。
业务角度:功能是什么样子的
系统角度:
时间,空间,网络
例如 响应时间超时会怎么样?http超时,数据库连接超时等等
存储满了系统怎么样?
内存满了怎么样?
CPU过高怎么样?
网络延迟或者宽带占用尽了怎么样?
多问几个这样的问题,思考系统应该有什么样的表现?

第四,执行异常测试
执行异常测试最主要的过程是构造场景,可以理解为对异常的模拟,观察被测系统。

第五,分析异常测试
对发现的问题进行记录,分析,这一步需要有经验的测试来进行。

第六,做测试分析报告
执行完异常测试可千万别草草结束,把你的结果展示出来,一份靠谱的异常测试报告可抵得上千言万语。

这样我们就完成了一个完整的异常测试过程了。通过执行异常测试,测试人员一定会对系统架构有更深入的了解,对软件稳定性,报警机制等等概念有更好的体会,更重要的是发现潜在问题,让软件的质量更上一层楼。

最后谈谈消防演习

消防演习其实就是一种准备,对未来可能发生的灾害,提前做好准备工作,未雨绸缪。
看看这份消防演习报告,是不是有种很熟悉的感觉?简直就是一份简化版的测试报告。有没有殊途同归的感觉呢?
消防演习与异常测试


当你没有系统性思维的时候,你发现的问题是一个个零散的点,是随机的。当你使用系统性思维去看的时候,你发现的问题是一条条线,最后连成了面。

感谢您阅读到这里。我是一名五年经验的测试工程师,坐标杭州,目前在找工作,您如果有工作机会,欢迎和我联系,不胜感激【2020-04-03】。

本文参考自:
网易小敏 https://testerhome.com/topics/11421
考拉技术中心 https://zhuanlan.zhihu.com/p/45727847

相关文章:

  • 2021-10-05
  • 2021-11-06
  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-31
  • 2021-05-31
  • 2021-11-07
  • 2021-11-11
  • 2022-12-23
  • 2021-12-07
相关资源
相似解决方案