论文部分内容阅读
随着软件技术的发展,软件在规模和复杂度两个方面均增长快速,软件系统的设计思想也逐渐由完全自足型转向社会协作型。社会协作型的软件设计思想要求软件功能构件化、标准化,并产生了基于构件的软件设计与重用这一重要软件开发方法。如何对基于构件的软件系统进行有效测试和可靠性评估成为软件工程研究中的新热点。由于基于构件的软件系统中构件众多、功能独立、来源广泛、可更新可替换性强,因此对该类软件系统进行整体性测试和可靠性评估实现比较困难。本文针对基于构件软件系统存在的复杂度高、低耦合性特征,提出基于粒子群优化(Particle Swarm Optimization,PSO)的软件Z路径覆盖测试方法和基于反向传播神经网络可靠性评估模型,研究中取得如下创新性成果:1.针对PSO测试用例生成算法因集簇特性引发早熟,导致测试用例生成效率降低的问题,提出了PSO集簇自适应惯性权重测试用例生成算法。该算法对测试用例种群的集簇度进行量化和监督,并基于集簇度监督,动态地调整测试用例惯性权重,增加搜索空间中测试用例的多样性,降低PSO算法早熟度,提高测试用例生成效率。2.针对软件结构性测试中PSO多路径覆盖中存在的计算资源优化不足和缺乏测试路径间信息交换的问题,提出多路径PSO自动测试用例生成算法。该算法使测试用例可以在覆盖测试路径的过程中充分交换信息、优化计算资源,提高了测试用例对多路径的有效覆盖。3.针对软件结构复杂度较高的情况下,现有大部分基于构件的软件可靠性模型的评估复杂度大,计算成本高等问题,提出一种低复杂度、基于构件的前馈神经网络可靠性模型。该模型通过构件的可靠性历史数据,结合人工神经网络和构件可靠性敏感度分析,对软件系统的可靠性评估进行动态优化。该模型的评估复杂度具有随软件系统构件数量线性递增的特性,优于基于状态和基于路径的可靠性评估模型,并对软件系统结构具有鲁棒性。4.基于构件的Web系统可靠性评估,提出基于构件的Web系统可靠性分层评估模型。该模型按可靠性分析的需要,将基于构件的Web系统评估分为Web系统工作层、日志生成层、可靠性提取层、可靠性汇聚层和可靠性评估层。可靠性评估层将Web系统中各构件的可靠性作为前馈神经网络的输入,对Web系统整体可靠性进行评估。该模型可以满足基于构件Web系统的异构性、分布性、松耦合性等需求,并可在较低评估复杂度的基础上实现对Web系统整体可靠性的有效评估。