首先,故障测试可以大致分为两大类:业务逻辑相关故障、服务器相关故障。这样的分类不一定准确,因为很多业务逻辑方面的错误是由服务器故障引起的。水平所限,先勉强这样分类吧。。。
C、 各子模块的高可用
服务器相关的故障则比较复杂多样:
A、 服务器关机、重启
B、 进程被kill、进程僵死无响应
C、 CPU、内存
D、 断网、网络异常(带宽满、DNS异常、丢包率高等)
E、 磁盘异常(IO高、磁盘挂掉、磁盘满、磁盘不可写/读)
其中CPU、内存、网络异常、磁盘IO高等也属于系统性能瓶颈问题,放在这里可能有点牵强,但是本人认为也算是被测系统的异常情况。
其次呢,需要考虑一下各种故障如何模拟。在服务器资源紧张的情况下,可以利用云计算项目的云主机作为测试机,云主机可以轻松实现服务器断电、重启、断网等场景,是做故障测试的理想工具(当然,云主机本身不能有太多bug)。因此,可以利用云主机来方便的模拟服务器关机重启、断网等服务器异常情况,而各模块依赖的下层模块发生故障的情况可以考虑用
mock的方式模拟。
最后,本人认为故障测试有两个重点方面需要关注:各模块故障恢复后能否正常提供服务,故障发生及恢复后的资源回收、清理是否彻底。
好了,啰嗦了一堆,方向算是基本定了,不过具体设计测试用例还是得具体情况具体分析。在整理这篇博客的时候,我的故障测试用例算是已经定稿了,接下来的测试执行才是真正的挑战
转:http://qa.blog.163.com/blog/static/190147002201311765946487/