实际工作中不容忽视的软件可恢复测试
随着软件系统应用环境的复杂性,软件出错的机率越来越大了,软件面临着一个非常关键的需求就是在系统出错后能进行恢复
可恢复性测试
测试一个系统从灾难或出错中能否很好地恢复的过程,如遇到系统崩溃、硬件损坏或其他灾难性出错。可恢复测试一般是通过人为的各种强制性手段让软件或硬件出现故障,然后检测系统是否能正确的恢复(自动恢复和人工恢复)。简单的说,可恢复测试是一种对抗性的测试过程。在测试中将把应用程序或系统置于极端的条件下或是模拟的极端条件下产生故障,然后调用恢复进程,并监测、检查和核实应用程序和数据能否得到正确的恢复。
比如实际生产环境中,redis机房断电,这就可以通过搭建redis主从机来提升灾备能力,当一台redis - A服务挂掉以后,通过哨兵模式 对A服务进行探活,若是没有探到就切换到redis -B服务上
容错测试
容错测试一般是输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统会给出提示或内部消化掉,而不会导致系统出错甚至崩溃
容错测试与可恢复测试的区别
可恢复测试是通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失、系统和数据是否能很快恢复。因此,可恢复测试和容错测试是互补的关系,可恢复测试也是检查系统的容错能力的方法之一
故障转移测试和可恢复测试的关系
故障转移测试(Failover)指当主机软硬件发生灾难时候,备份机器是否能够正常启动,故障转移是确保测试对象在出现故障时,能成功地将运行的系统或系统某一关键部分转移到其它设备上继续运行,即
可恢复测试的基本流程
先需要制定可恢复测试计划,并准备好可恢复测试用例和可恢复测试规程。其次,是要对照基线化软件等级和基线化需求分配。第三,进行软件可恢复测试。在此过程中,要用文档记录好在可恢复性测试期间所出现的问题并跟踪直到结束。然后,将可恢复测试结果写成文档,说明测试所揭露的软件软件能力、缺陷和不足,以及可能给软件运行带来的影响。最后,说明能否通过测试和测试结论,并提交可恢复测试分析报告。