● 摘要
随着网络技术的不断发展,Web技术被越来越多的领域采用,成为一个重要的软件技术发展方向。与此同时,Web系统的可靠性问题成为人们关注的重点。软件的可靠性是指在软件运行期间,在规定的运行场景下能够正确执行所要求的功能的能力。可靠性是衡量软件质量的一个重要指标,也是增加用户信任度的有力证据。
Web系统是一种分布式的、异构的系统, Web系统功能的实现依赖于系统中各个组件之间的通讯交互,交互特征是Web系统最主要的特征之一。交互过程中发生的失效严重影响的着Web系统的可靠性,因此,从交互的角度对Web系统进行可靠性测试就显得非常必要。
研究发现,对于基于通信的软件系统,故障注入是一种非常有效的可靠性测试手段。它能够有针对性的测试软件开发人员和用户所关注的故障对系统的影响,还能够增加测试的覆盖性。Web系统从本质上讲,就是一种基于不同通讯协议的通讯系统,因此,采用故障注入的方法对其进行可靠性测试是可行且有效的。
本课题主要研究了基于交互特征和故障注入的Web系统可靠性测试技术。本文首先归纳总结了软件可靠性的定义,并综述了软件可靠性测试、互操作性测试和故障注入测试的相关问题。然后,根据可靠性测试的要求和Web系统特有的记录历史运行情况的用户访问日志,提出了一种结合互操作测试、故障注入测试和基于访问日志的测试用例扩充技术的Web系统可靠性测试方法。该方法以课题组已有的生成互操作测试序列方法为基础,通过测试行为模型描述故障注入过程和测试用例扩充目标,并进一步将模型转换生成测试用例。依据上述方法,设计并开发了原型工具,以支持实现该方法的测试过程。最后,通过实验案例验证了本文提出的基于交互特征和故障注入的Web系统可靠性测试方法的可行性。