计算机论文哪里有?本文完成了对软件测试过程的规范化与改良。针对软件测试效果难以衡量,软件测试结束标志不明确的问题,应用ECM算法改进了Burr-XII模型的参数估计方法,使其能够更加准确地评估与预测可靠性,为软件测试效果提供了精确的量化指标;
第一章 绪论
1.2 国内外研究现状
本文主要关注软件可靠性增长模型与自适应测试策略的研究,本节主要对这两个方面进行研究。
1.2.1 软件可靠性增长模型
软件可靠性指的是软件在特定环境下运行一段时间后无故障的概率[5]。随着软件在各行各业中的应用日益广泛,软件可靠性成为了软件工程中一个至关重要的研究领域。高可靠性的系统对于保障产品质量、降低维护成本、提高用户满意度及确保安全性等方面具有重要意义。
在当前阶段,随着云计算、人工智能和大数据技术的发展,软件的复杂度和应用场景大幅度增加,软件可靠性问题变得更加复杂。新的研究方向包括自动化测试、持续集成、智能化故障检测、以及基于大数据的故障分析等。这些研究不仅关注如何提高软件本身的可靠性,还扩展到了如何管理和预测整个软件生命周期内的可靠性[6]。
SRGM是在软件可靠性测试过程中定量评估故障数据的通用模型,最初由Jelinski 和 Moranda提出[7]。此后,研究人员开发了各种用于评估软件可靠性的 SRGM,并广泛应用于各个领域。NHPP模型是SRGM中的一个重要分支。自 Goel 和 Okumoto 于 1979 年提出该模型以来,它受到了广泛关注,在过去几十年中得到了广泛的研究和应用[2]。NHPP 模型的特点是利用平均值函数(Mean Value Function,MVF)这一与时间相关的函数来描述软件可靠性的增长。MVF 反映了在给定时间范围内检测到的软件故障的预期累积数量。作为 NHPP SRGM 的基础,G-O 模型假定软件故障发现率呈指数分布。这个简单明了的模型为开发更复杂的模型奠定了基础,研究人员随后用各种故障检测时间分布丰富了这些模型,以适应不同的软件测试和运行环境。这些基于NHPP的SRGM为适应不同测试环境提供了灵活性,对软件可靠性研究领域产生了深远影响。
第三章 基于ECM算法的Burr-XII型SRGM参数估计方法
3.1 Burr-XII型NHPP SRGM组成结构分析
基于ECM算法的Burr-XII型SRGM参数估计方法 由Meng和Rubin提出的ECM算法是一种对EM算法的M步的优化算法[66]。它针对似然函数过于复杂导致EM算法的M步计算困难的问题给出了一个解决方案。
ECM方法的本质是将单个M步分成p个条件最大化步(CM步),其中p表示模型参数的数量,从而简化计算过程。与一次性解决多维方程组不同,ECM 算法通过固定所有其他参数将估计过程转换为多个一维问题,使用迭代的思想更新参数。 ECM 中的每个 CM 步骤都提高单一变量情况下的对数似然函数值,从而在单个维度上优化参数组。
本节致力于比较ECM算法和NEWTON算法[3]应用于Burr-XII SRGM时的拟合和预测能力。该分析使用了8个不同的数据集,这些数据集代表了实际软件应用中的测试失效数据。这些数据集包括SYS1 - SYS7和SYS8,其中SYS1 - SYS7来自于之前的公开数据集,SYS8包括RSA计时攻击系统的软件测试数据[67],详见表3-1。表3-2给出了SYS8的详细信息。在整个数值分析过程中,收敛准则被严格定义为0.001。
第五章 基于微服务的软件测试过程管理系统设计与实现
5.1 系统需求分析
5.1.1 功能性需求分析
基于微服务的软件测试过程管理系统旨在通过多个模块化功能满足软件测试全流程的管理需求。首先,在软件测试过程管理方面,该系统提供全面的测试生命周期管理,包括从测试计划制定、测试任务分配、执行监控到缺陷管理和报告生成等功能。测试人员可以在系统中定义测试阶段和流程、设置任务优先级、分配责任人,并实时查看测试状态与进度。系统还支持跨团队的协作,使测试任务分配更加高效,同时帮助团队追踪测试的整体进展。
此外,该系统支持软件测试策略的选择与配置,以适应不同类型的测试需求。用户可以在系统中根据项目需求选择随机测试策略,自适应测试策略等多种策略,并支持用户在测试过程中灵活调整策略。
在测试数据分析方面,该系统具备数据收集、存储、分析与展示功能。通过收集故障数量、故障时间、测试执行率等关键指标,本系统提供软件可靠性分析与预测功能。基于可靠性模型和历史测试数据,系统能够对软件的可靠性进行评估和预测,并生成预测报告,帮助测试人员判断软件的质量和稳定性是否达到预期。在可靠性预测中,系统支持选择不同的模型,以便用户根据不同的需求对模型进行灵活配置和优化,从而更精确地预测软件在不同运行环境中的表现。
5.2 软件测试流程设计
综合对比软件测试过程的国家标准和行业规范,可以发现一些问题。首先,国家标准作为指导性文件,其表述具有较高的概括性,在具体应用时可能须要进一步解释和转化。行业规范则完全服务于实用性,缺乏理论指导,部分流程与国家标准存在出入。因此,为了更好的促进国家标准的应用,本节综合考虑国家标准与行业规范,提出了一个新的软件测试流程。如图5-1所示。
在测试用例制定阶段,行业规范注重用例的执行效果,如全面性、仿真性等,但没有规定具体的制定流程,因此参考国家标准的规定,将设计用例的流程分为四步,通过这四步分别到处测试条件、测试覆盖想、测试用例和测试集。在实际生产环境中,测试重心会根据不同的业务需求有所差异,可以根据实际需要采用不同的方法设计用例集,如等价类划分、边界值法、因果图法等。但无论何种方法都应遵循国家标准中规定的四步流程 。
第六章 总结与展望
6.2 展望
本文深入研究了软件测试过程,并针对软件测试中的两个问题提出了两个模型。在本文的研究基础上,未来可以有以下几个拓展方向:
(1)在软件可靠性模型方面,尽管Burr-XII模型拥有优秀的覆盖性与拟合性,但在某些测试场景下其仍无法发挥其性能。未来可以深入研究在不同软件测试场景下的模型选择问题,做到具体问题具体分析,降低可靠性评估对测试人员经验的依赖。
(2)在软件可靠性模型参数估计方面,尽管ECM算法可以在Burr-XII模型中发挥良好的性能,但其面对具有大量参数的模型时会大幅降低运算时间与计算准确度。未来可以通过引入性能优秀的深度学习模型增强其评估精确度与预测准确性。
(3)在测试策略方面,尽管自适应测试策略可以有效增加测试效率,降低测试消耗,但其只关注测试用例的选择,即测试用例本身的质量未被考虑其中。未来可以深入研究随机自适应测试,从测试用例的设计与测试用例的选择两个层面优化测试效率。
参考文献(略)