论文部分内容阅读
软件可靠性是软件质量的关键因素。高可靠软件,特别是安全攸关软件,其关键操作往往使用概率非常小。因此,如何保证:一方面使关键操作得到充分测试,另一方面软件可靠性指标不因为测试模型变化而出现大的偏差,是安全攸关软件可靠性工程的关键。 加速测试是硬件可靠性测试的一种常用方法,将其应用到软件可靠性工程与测试中的研究还比较少,亦不成系统。将加速测试应用到软件可靠性工程与测试中去,能够有效地发现缺陷,加速关键模块的测试,降低软件开发成本,加速软件的发布。本文首先给出了基于两种使用模型的加速测试技术,然后从可靠性工程角度给出其他两种加速测试技术。 分层抽样和重要抽样方法是两种常用的蒙特卡罗统计方法,Markov链使用模型是利用数学模型精确地描述软件的使用。而对于安全攸关系统,软件可靠性测试往往需要很长的测试时间,而且关键操作往往测试不充分、测试代价高。针对这些问题,本文给出了使用分层抽样和重要抽样方法、并基于Markov链使用模型的软件可靠性加速测试。实例仿真结果表明,该方法可以有效地提高关键操作的测试效率。 正交试验设计法是一种用于寻找最优(或较优)试验方案的一种科学方法。在软件可靠性测试中,随着测试输入数或操作数的增加,测试成本会大大增加。本文提出基于正交试验设计法构建操作剖面,通过对操作输入集进行处理,即可优化测试输入集,进而进行软件可靠性测试。实例表明,该方法简化了操作剖面的构建,进而可以大大降低软件可靠性测试代价。 在软件实际开发过程中,软件可靠性影响因素对软件可靠性的影响程度反映了软件可靠性水平。但软件可靠性影响因素对软件可靠性的影响程度的评判往往带有主观性和模糊性。基于模糊综合评估模型的软件可靠性加速测试,能够改善软件可靠性测试,并对现有软件可靠性模型具有改善和扩展作用。 Musa指出:将运行分类运用于软件可靠性测试中去,能够有效地增强测试效率。根据这一想法,本文给出了将运行分类应用到软件可靠性加速测试的技术,并基于遗传K-均值算法进行了优化。 本文在研究多种软件可靠性加速测试技术的基础上,设计并实现了一个基于Java平台的软件可靠性加速测试工具RISA,它可以作为软件可靠性工程工具的一部分,用于军用软件的软件可靠性加速测试。