理论教育 面向测试领域的云测试技术

面向测试领域的云测试技术

时间:2023-06-16 理论教育 版权反馈
【摘要】:通常定义的云测试技术就是依托云计算[7-8]资源针对存储于云端的服务软件、程序进行维护[9-10]。云测试资源虚拟化就是借鉴云计算资源虚拟化的相关理念,对测试领域内的硬件测试资源进行虚拟化,对硬件测试资源进行统一标示和逻辑抽象。在云测试领域,主要借鉴以性能为中心的资源调度。

面向测试领域的云测试技术

通常定义的云测试技术就是依托云计算[7-8]资源针对存储于云端的服务软件、程序进行维护[9-10]。面向测试领域的云测试技术通过借鉴云计算相关理念和关键技术,改进现有ATS:借鉴云计算三层结构模式,改进现有ATS在硬件结构和软件功能上的不足,构建云测试系统体系架构;借鉴硬件资源虚拟化技术,将硬件测试资源虚拟化为标准的逻辑资源,实现资源的有效共享和高效利用;借鉴动态调度算法,在硬件测试资源虚拟化的基础上,实现测试任务与资源的最优匹配,保障测试任务的顺利执行。

1.硬件测试资源虚拟化

云计算虚拟化就是整合存储在云端的计算资源、存储资源,实现资源的高效利用[11-13]。在云计算领域,主要依托三层结构针对云端资源进行虚拟化:SaaS(instrument as a service,软件即服务)层软件虚拟化,包含软件应用虚拟化和计算机高级语言虚拟化,目的是实现软件应用与运行环境的解耦合[14];PaaS(platform as a service,平台即服务)层系统虚拟化,在同一台计算机上同时运行多个操作系统,实现操作系统与计算机的解耦合[16];IaaS(software as a service,基础设施即服务)层基础设施虚拟化[17,19],是云测试系统中硬件测试资源虚拟化的理论来源。

云计算资源的虚拟化就是针对IT(互联网技术)资源的逻辑抽象和统一标示,在大规模数据中心管理和解决方案交付方面发挥巨大的作用,是支撑云计算技术的重要的技术基石。云测试资源虚拟化就是借鉴云计算资源虚拟化的相关理念,对测试领域内的硬件测试资源进行虚拟化,对硬件测试资源进行统一标示和逻辑抽象。目前针对硬件资源虚拟化的相关研究主要集中在云计算资源和云制造资源上,针对硬件测试资源虚拟化的相关研究十分匮乏。

西北工业大学的袁文成等人[20]为实现虚拟资源的有效管理和高效利用,提出了一种面向虚拟资源的云计算资源管理机制。

北京航空航天大学的任磊等人[21]分析云制造资源的相关特点,提出了相应的虚拟化架构。

合肥工业大学徐达宇等人[22]为了在动态云计算环境下对多源信息资源实现有效的管理,以保证云计算系统高效运行、资源优质共享和服务即时提供,在总结多源信息资源编目格式和描述语言、发现和匹配机制、动态组织和分配方法,以及即时监控等领域研究成果的基础上,提出了该领域所面临的关键问题和挑战,给出了云计算环境下多源信息资源管理领域的研究展望,构建了云计算环境下多源信息资源管理框架,并探讨了其在制造业背景下的应用。

华南理工大学的姚锡凡等人[23]为了完整地描述云制造资源的属性,实现云制造资源物理-虚拟资源的映射与转化,结合云制造服务体系框架、云制造资源的特点及分类,指出了云制造资源虚拟化的原则——系统性、针对性、适应性、扩展性、接口统一和动态性;然后以制造设备资源为例,描述特征模型,并通过扩展开源软件CloudSim Java类给出了制造设备资源虚拟化模板;最后以零件加工为例,利用Tuscany SCA对已虚拟化的制造设备资源进一步服务化形成云服务,并将云服务发布到服务注册中心,供云制造资源使用者查找和调用。

西北工业大学的周竞涛和杨海成[24]为了通过云制造服务实现对制造资源能力的精准调度与使用,云制造模式要求制造资源的虚拟化过程必须保证云制造服务所描述的相关能力与原制造资源所提供的能力在逻辑上具备严格的一致性。为此,提出了基于同态映射的制造资源虚拟化机制:通过在物理资源层和云服务层之间定义抽象的虚拟能力层,在解耦物理资源与云服务之间直接映射的同时,分别定义了制造资源-虚拟能力、虚拟能力-云服务的同态映射函数;采用基于语义相等映射的实现原理,将物理资源的能力及其所需的依赖条件进行同态抽象转换,并通过初步的案例仿真说明制造资源在同态映射过程中保持了能力语义的不变性。

与云计算领域中计算资源[25]相比,测试资源在种类上更加多样,在结构上存在明显差异;与云制造领域中制造资源[26]相比,测试资源之间的关系相对简单且更加独立。因此,针对硬件测试资源的虚拟化不同于针对计算资源和制造资源的虚拟化,需要注意以下四个方面。

(1)可操作性,降低异构硬件测试资源虚拟化的复杂程度,保证虚拟化改造过程的直观、易懂。

(2)标准性,屏蔽系统调用异构硬件测试资源的复杂性,统一系统调用测试资源的具体方式,消除硬件测试资源的异构性。

(3)系统性,系统考虑硬件资源的测试功能和相互间的作用联系,保证虚拟化后测试资源在功能上的完整性、在作用关系上的一致性。

(4)针对性,在保证用户测试需求得到基本满足的基础上,针对性地选取硬件测试资源中的关键参数进行虚拟化,降低硬件资源虚拟化改造的工作量。

2.动态调度算法

云计算动态调度算法是为了将高质量的云计算服务以更加高效、经济的方式提供给用户[27-28]。在云计算领域,动态调度问题主要分成三类:以性能为中心[18,29]、以服务质量为中心[30-31]和以经济原则为中心的资源调度[32-33]。在云测试领域,主要借鉴以性能为中心的资源调度。综合考虑任务之间的相互关系以及装备保障过程中可能出现的各类情况,将动态调度问题分为三种情况:相互间关系复杂的测试任务合理分解问题、面向平时的测试资源最优匹配问题和面临突发保障任务的测试任务抢占调度问题。

1)相互间关系复杂的测试任务合理分解问题

在研究相互间关系复杂的测试任务合理分解问题上,国内外有了诸多研究成果。(www.daowen.com)

蒙大拿州立大学的Chen和Li[34]利用层次分析法对任务间的耦合度进行了定量计算,并利用聚类分析法对任务组进行了分解优化,达到了预期目的,应用到了许多领域。

大连理工大学的陈洪娜等人[35]以设计过程中具有活动约束的任务为研究对象,引用软件工程模块化设计的内聚概念,建立了基于活动约束的任务设计内聚度量模型。通过对内聚系数的公式化计算和启发式规则比较,为任务粒度的设计提供了一种新的定性分析方法。提出了用活动单元关联矩阵图来计算约束结构中控制元数目的方法,提高了内聚系数计算的快速性和准确性。最后,给出了模型分析的评估准则,并结合实例计算结果,说明该模型对协同开发过程建模的任务粒度设计是有效的。

华南农业大学的刘天湖等人[36]提出两种耦合任务群分解方法:基于敏感度、可变度和任务量的分解方法将布尔型DSM(设计结构矩阵)转化成含有敏感度、可变度和任务量信息的矩阵,然后将该矩阵转化成相互作用强度距离矩阵,再进行聚类,使相互作用较强的任务聚在一起;基于任务属性灰度关联相似度的分解方法用灰度分析法计算各任务属性的权重,然后根据任务属性及其权重建立任务距离矩阵,再进行聚类分解,使相似的任务聚在一起。用MATLAB Web Server工具开发了基于WEB(网络)的耦合任务群分解仿真模块,采用仿真比较的方法分析算法对任务分解结果的影响。

国防科技大学的修保新等人[37]分析了探索性分析模型的粒度原理,建立了基于粒度计算的指控系统效能测度的探索性分析模型,重点研究了探索性分析模型的建立、属性函数的构造和探索因子集的粒度获取方法,并结合多兵种联合作战案例,对使命完成时间测度进行了探索性分析,实验表明,基于粒度计算的探索性建模方法能够通过粒度的转换降低问题的复杂度,并在不同粒度层次上实现对问题描述的一致性。

中国人民解放军空军工程大学的董涛等人[38]为了构造内聚度适宜的任务模块,提出了基于内聚度理论的反导作战任务结构评估方法,定义了基于约束结构的内聚度形式化概念,分析任务组成及其约束结构。建立了基于任务关联矩阵的内聚度度量模型,实现任务模块的内聚度定量计算,提高任务分解的快速性和准确性。最后,根据任务分解的评估准则,通过实例说明该方法的可行性和有效性。该方法可实现任务结构的柔性控制,为评估作战任务分解方案提供有效指导。

中国人民解放军军械工程学院的程中华等人[39]以维修保障过程中具有活动约束的任务分解为研究对象,借鉴软件工程中的内聚概念,将基于任务内聚系数的任务分解模型应用到维修保障任务分解。通过对任务、功能内聚系数的公式化计算,定义模型分析的评估准则,为任务分解粒度的控制提供了一种新的分析方法。结合实例计算结果,说明该方法对维修保障过程建模的任务分解粒度确定是有效的。

重庆大学的包北方等人[40]针对目前产品定制协同开发任务分解缺乏综合定量分析的问题,提出一种综合考虑任务粒度、任务耦合度、任务均衡度的任务分解系统模型。对产品定制协同开发过程进行分析,给出了任务粒度、任务耦合度、任务均衡度的定义及其计算公式,提出了基于综合定量分析的产品定制任务分解系统模型。以某风机产品研发项目为例,验证了任务分解模型的可行性与有效性。

2)面向平时的测试资源最优匹配问题

在研究任务与资源的最优匹配问题上,国内外对该问题的组成要素、目的以及本质都有了深入了解并建立了多种资源匹配模型和匹配算法。

东北大学的孙大为等人[15]针对云计算环境中高效资源调度问题,首先从理论上对云资源调度进行了建模,对用户应用偏好和多维QoS(服务质量)中的用户效用进行了量化,给出了多维QoS优化的目标函数。结合具有快速多目标优化能力的免疫克隆算法,提出了一种云资源调度优化算法。根据应用偏好信息为抗体分配偏好优先级,据此进行抗体的免疫克隆操作,提高抗体免疫基因操作的预见性,改善了向最优解的高效收敛能力。实验结果分析表明,该算法能改善云资源调度系统的可用性、负载均衡离差、有效时间等方面的性能,满足了云计算环境的实际需求。

浙江大学的高一聪等人[41]针对云制造中云制造服务资源匹配映射多种模式并存,云制造服务资源与云制造资源需求间相互影响且映射关系复杂,导致缺少有效云制造服务资源匹配方法,在综合考虑云制造资源需求间相互影响的基础上,提出了云制造服务资源匹配模型,利用模糊积分度量用户云制造资源需求与云制造服务资源间的匹配程度,提出了基于模糊积分的云制造服务资源匹配方法。通过基于模糊积分的云制造服务资源匹配方法,计算获得云制造服务资源对云制造资源需求的匹配度,为云制造中的终端用户提供按需、自助、敏捷的云制造服务资源智能匹配技术。最后,以中小模具企业云制造平台某型号多工位级模具排样图设计应用为实例,证明了文中方法在工程应用中的正确性与高效性。

南京邮电大学的高翔等人[42]针对服务机器人如何选择利用多种分布式资源提供的多样服务这一关键问题,提出了一种基于功能匹配的服务资源选择机制。首先,在概念匹配和结构匹配的基础上,考虑输入与输出间的不同,设计了需求与服务间新的通用匹配规则,将服务的功能模型与机器人的任务需求进行匹配;其次,给出了服务模型与需求模型间的相似度定义,基于该定义筛选出符合要求的服务并进行排序,形成可直接调用的候选服务列表,实现机器人按任务需求搜索资源的自动机制。实验结果表明,在具有分布式智能资源环境中,机器人能够依据该算法准确找到合适的资源服务以完成给定的任务。

北京邮电大学的朱春鸽等人[43]为了解决虚拟计算环境中的资源合理调度问题,提出了一种基于信任的资源匹配模型——“资源滑动窗口”模型。首先对资源的静态属性进行分类;然后依据基于时间窗的贝叶斯信任模型对资源节点进行评价,同时考虑资源的负载,动态划分其实时性能;最后综合评估静态属性和动态属性,确定调度资源分配。该模型为不同任务和属性的资源调度策略奠定了基础,实现了“合适的资源服务于合适的任务”的目的。仿真实验表明所提的模型相对传统的调度算法,具有更高的系统任务执行成功率和资源利用率。

清华大学的李成海和黄必清[44]为实现智能、高效、便捷的云制造服务资源搜索,提高服务资源需求与制造服务资源的匹配精确度,在分析现有服务资源属性检索技术和云制造服务资源特点的基础上,提出一种基于属性匹配的云制造服务资源搜索方法,并建立了其中云制造服务资源属性标准化分类描述模型;设计了服务资源同义词字典集和属性字典集,并以此为基础构造了关键词规范化算法和参数化的属性匹配算法。通过算法复杂度分析和实例验证表明,该方法具有云制造服务资源的高效准确匹配的优势。

3)面临突发保障任务的测试任务抢占调度问题

在研究任务动态调度问题上,国内外有了许多阶段性成果。

约克大学的Burns等人[45]针对系统的效率和灵活性提出了基于价值的优先级调度策略。法国的O.Bellenguez-Morineau[46]基于维修任务的调度,提出了一种基于优先表的禁忌搜索算法。瓦伦西亚理工大学的Balbastre等人[47]基于系统的可调度性指标实现了实时任务周期和截止期的动态调整。北京航空航天大学的梁旭等人[48]针对并行测试中的任务调度问题,提出了基于遗传算法的并行任务规划算法。西安高技术研究所的王正元等人[49]基于维修专业提出了一种针对维修任务动态调度的优化算法。华南师范大学的黄敏镁和罗荣桂[50]基于遗传算法和最大流理论,针对柔性资源约束的项目调度问题提出了一种改进遗传算法。同济大学的徐赐军等人[51]为充分利用竞争资源并缩短项目周期,提出了一种基于资源推拉技术的多项目调度算法。江西财经大学的夏家莉等人[52]综合考虑任务的剩余价值密度和执行紧迫性提出了一种基于动态优先级分派的任务调度算法。中国人民解放军空军工程大学的万明等人[53]基于最大保障时间的战时维修任务调度问题,给出了两种针对维修价值最大化的调度算法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈