SCI论文(www.lunwensci.com)
摘 要 :随着软件在现代军事装备中成为必不可少的重要组成部分, 软件测试在检验作战效能中发挥着日益重要的作用, 本文通过对软件在作战中的运行环境和特点进行分析,总结分析了软件测试环境的分类及基于仿真技术的测试环境构建方法。 依托云计算等相关技术,提出并设计了基于云平台的快速可重构软件测试环境构建方法,有利于提升软件测试环境资源的管理 和重用能力。
关键词:软件测试,云计算,环境构建,仿真
Research on the Construction Method of Software Testing Environment Based on Cloud Computing
ZHANG Xiang, LI Chao, PENG Hui, HUANG Chunying
(63892 Troops, Luoyang Henan 471000)
【Abstract】: As software becomes an essential part of modern military equipment, software testing is playing an increasingly important role in verifying operational effectiveness. By analyzing the operating environment and characteristics of software in combat, this paper summarizes and analyzes the classification of software testing environment and the method of testing environment construction based on simulation technology. Relying on cloud computing and other related technologies, a rapid reconfigurable software testing environment construction method based on cloud platform is proposed and designed, which is conducive to improving the management and reuse capabilities of software testing environment resources.
【Key words】: software testing;cloud computing;environment construction;simulation
0 引言
如果把硬件装备比作作战中的肌肉和骨骼,那么软 件可以认为是作战中的“神经”和“血液”。软件的质 量直接影响到作战过程装备遂行作战任务的能力 [1],以 往的军用软件测试通常采取软件测评的方式,单独对软 件进行测试和考核。近年来更加强调检验软件在实战条 件下的功能和性能,这就要求软件测试必须瞄准作战的 任务和目标,充分利用测试资源构建科学合理、贴近实 战应用的测试环境。
1 软件测试环境的分类和描述
根据软件的实际运行环境,可以将软件测试的环境 构建分为 3 个部分,分别是软件自身运行环境、与软 件交互的软硬件环境以及可能面临的敌方攻击或干扰环 境。自身运行环境包括了软件自身运行的软件系统,如操作系统和硬件平台 ;交互环境包括与软件进行交互的 外部软件,如用于测试过程的软件测试工具,还有软件 外部所处的网络环境 ;敌方攻击干扰环境是在敌方对软 件运行网络进行病毒攻击或对软件运行依赖的硬件设施 进行破坏干扰等恶劣环境,如图 1 所示。
综合来看,软件测试环境主要由软件的自身运行环境、 外部交互环境和敌方入侵环境 3 个方面构成,由于测试资 源、时间周期和场地等条件的限制,不同测试环境的构建 方法和技术也不相同。软件自身运行环境通常是较为容易 构建的,而对于外部交互环境,可以由真实设备构建,也 可以用仿真模型或模拟器构建,软件与外部交互可以通过 网络或者点对点的方式,敌方干扰环境一般根据软件测试 需求,着重对软件的安全性和可靠性进行摸底。
根据软件测试环境的分类、基本属性和要素, 在测试中需要对软件的运行环境进行规范化的描述 [2]。软件测试环境规范化描述的基本流程以软件的功能性能为基础,依据软件的运行软、硬件环境,对软件测试环境进 行规范化描述,描述信息包括测试运行环境的分类、测 试环境要素和测试环境描述信息,由此得到软件测试环 境规范化的描述文件。形成的软件测试环境规范描述文 件中还应根据测试需求与测试设计,包含测试需求分析 及目的、测试软件基本情况描述、测试场景环境分析、 测试环境设施、测试分析工具等内容。
2 基于虚拟仿真的测试环境构建方法
虚拟仿真测试环境指的是以建模仿真技术为核心支 撑,综合应用信息技术、计算机网络等先进技术,构建 真实软件运行环境的仿真模型。虚拟仿真测试环境可由 不包含软件真实运行硬件环境的仿真模型构成,也可以 在此基础上集成模拟器、原型系统或一些真实设备。根 据上述特点,可将软件基于虚拟仿真的测试环境分为全 数字仿真测试环境和半实物仿真测试环境。
2.1 全数字仿真测试环境构建
全数字仿真测试环境是在通用计算机上基于虚拟机 等方式搭建软件的运行环境,并且与软件的交互设备采用计算机仿真模型或模拟器进行替代,构建一个不包含 任何软件真实运行环境的虚拟仿真环境。构建全数字仿 真测试环境的基础和关键是建立逼真可信的仿真模型。 构建软件全数字仿真测试环境时,重点对与测试目的相 关的特性进行适当的抽象,在对软件运行模式、信息交 互关系等深刻掌握的基础上,将外部环境抽象成与测试 目的紧密相关的仿真模型,从而构建全数字仿真的软件 测试环境。全数字仿真的方式构建的测试环境对测试过 程的监控是较为容易的。测试的执行不受时间、场地、 环境等限制,受外界影响小,并且简便、易于实施。
2.2 半实物仿真测试环境构建
半实物仿真测试环境是软件运行在真实作战计算机 系统或网络中,而与软件运行交互的外部通信设施、测 量设备等采用设备模拟器进行替代,若外部交互的部分 配试设备难以用计算机进行模拟,则可以用真实设备, 构建包含模拟器或部分实装的半实物仿真测试环境。半 实物仿真测试环境构建需要解决真实设备与仿真模型的 融合问题,保证仿真测试环境中仿真模型和真实设备信 息的时空统一。如应用坐标变换、仿真代理等手段解决 空间一致性问题,应用精确授时等时间同步技术解决时 间一致性问题。通常情况下,半实物仿真测试环境可满 足大部分测试需求,既可以充分发挥仿真模拟的优势, 又可以在关键部位保证测试环境的逼真度,能够有效测 试被试软件的功能、性能指标。
3 基于云计算的快速可重构测试环境构建方法
3.1 基于云的测试环境架构
云计算的核心概念是将计算机物理资源抽象为资源 池,并利用网络为用户提供按需获取、弹性伸缩的计算 资源、存储空间以及相应的软件服务 [3]。软件测试可以 基于云计算技术构建测试资源生成和管理的云平台,对 测试资源进行统一管理和调度,从而实现测试环境的快速重构。测试资源云平台依托虚拟网络的优势,能够以 集中控制和分散部署相结合的方式综合进行软件测试资 源环境的构建、运行和监控,从而实现测试环境构建和 资源管理的快速可重构。基于云的测试环境构建与管理 架构设计如图 2 所示,在客户端,测试资源云平台可为 软件测试和软件测试提供测试环境的设计、动态创建、 测试环境和资源的管理。在云端,部署的测试环境生成 引擎根据客户端的指令和相关脚本配置文件,调度测试 资源库中的测试资源,创建测试环境,并可通过状态监 控器查看环境信息。
在基于云平台构建软件测试环境时,测试环境创建的 类型可以分为虚拟机测试环境生成、虚拟网络测试环境生 成以及基于特殊需求的外部配试设备接入。主要内容包括 :
3.1.1 虚拟机测试环境生成
虚拟机是测试环境中软件运行的主体,运行于其上 的软件包括被试软件、配试软件、仿真测试系统软件 等。虚拟机生成从资源配置上需分配 CPU 资源、内存 资源和存储资源,从软件配置上需安装操作系统、运行 环境、数据库、测试工具以及应用软件等。对于软件的 不同特点和应用场景,每类虚拟机之间一般构建为一个 局域网络。根据测试需求提取环境脚本库中的脚本,并 将脚本转化为虚拟机生成指令,发送给虚拟机环境生成 模块,从而根据配置脚本生成虚拟机测试环境。
3.1.2 虚拟网络测试环境构建
订单式测试环境定制内容包括虚拟机硬件配置定 制、操作系统虚拟化与定制、功能软件定制、测试工具 定制,通过一组类似菜单的选项由用户选择,用户选择 之后测试环境配置信息将会被存储为测试环境脚本,存 入测试环境规划设计子系统的测试环境脚本库中。对于 分布式软件,一般均具有较复杂的网络环境,网络环境 依托通信网络控制设备构建,各种不同的通信设备为网 络环境提供通信链路。这种虚拟网络环境在基于云的测 试环境下,可使用虚拟交换和虚拟路由替代通信网络中 的各种控制设备,基于交换机的网络通信模拟不同的通 信链路,虽然无法准确模拟通信带宽和通信质量,但是 对于应用软件的通信操作接口是一致的。
3.1.3 外部设备接入
在测试过程中,部分软件的功能可能会涉及对真实 配测设备的操作,而真实设备无法通过虚拟化的方式在 云平台中实现模拟。对于该类软件功能测试环境的构建, 除了要在云平台上构建虚拟机和虚拟网络环境,还需将 外部真实设备接入虚拟环境。对于真实设备的接入方式, 可通过串口连接,通过串口服务器将串口数据转换为网 络数据,进而通过交换机实现虚拟环境与外部配试设备之间的串口信息交换。若外部设备提供接口非通用常见 接口,可通过创建代理的方式,实现云平台和外部设备 的交互连接,通过代理实现数据传输、数据转换等功能。
3.2 基于云的测试环境构建与管理流程
基于云平台的测试环境构建与管理的信息处理流程 如下 :(1)根据测试需求配置测试环境,包括操作系统 配置、测试工具配置、软件运行环境配置等 ;(2)通过 读取测试环境配置方案脚本,访问和调用云化的测试环 境资源,自动或手动创建虚拟测试环境 ;(3)对于无法 云化部署的测试环境资源,通过专用的外部设备接入接 口与云化的测试环境进行交互 ;(4)通过测试环境监控 与管理,可挂起、存储、恢复测试环境。
测试环境构建与管理的处理流程如图 3 所示。
3.3 信息管理系统软件云测试环境设计
典型的信息管理系统主体是以计算机为核心,具有 指挥控制、侦察情报、通信以及安全保密等功能的软件 系统。信息管理系统软件由各类传感器、通信设备构建 的复杂通信网络保障,具有节点多,组网复杂,应用模 式灵活等特点。
根据信息管理系统软件的实际运行环境,底层的云基 础服务根据用户的配置文件信息申请计算、存储等运行资 源,作为席位节点部署信息管理系统软件 ;根据软件运行 模式和组网需求申请网络资源,定义网络拓扑结构 ;仿真 系统作为配试资源,实现其云化部署,提供传感器、信息 系统节点等仿真模拟 ;对于测试中无法实现云化部署的真 实设备、模拟工装等,可通过外部网络接入云平台内部, 形成外部真实设备、云化仿真测试系统、云化测试工具与 被测信息系统软件一体集成的综合测试环境。
通过云计算技术形成计算、存储、网络等虚拟资源 池,构建信息管理系统软件云测试环境,如图 4 所示。
基于云的测试环境用于信息管理系统软件测试主要 有 3 点优势 :(1)运行环境可按需定制,不同层级和 节点的软件运行硬件环境可根据需求精确定制,软件运 行系统平台可根据需要安装部署 ;(2)使用模式可灵活 配置,信息管理系统软件的应用模式和系统规模灵活多 变,在基于云的测试平台环境下,软件席位节点可弹性 伸缩,网络拓扑结构由软件定义,均可灵活配置 ;(3) 测试环境状态可保存重用,以往的信息管理系统软件测 试过程中,出现问题的测试环境和状态是难以恢复的, 基于云的测试环境能够保存测试环境状态,可用于软件 多种应用模式交叉测测试、软件问题精确复现等。
4 结论
测试的环境构建是进行软件测试的重要基础,直接 影响软件测试的结果。软件测试环境的分类能够更加清晰明确地展现测试环境资源分配,有效地提升了对软件 测试环境的构建和管理能力。本文归纳总结了软件测试 环境的分类和规范化描述流程,分析了基于虚拟仿真的 测试环境构建方法的优势和制约因素,并结合云计算理 论与方法,设计了基于云的快速可重构测试环境构建框 架和流程,为提升软件的测试能力提供了参考。
参考文献
[1] 韩春亮,阚亚斌,荀杨.舰艇辅助决策软件测试与评估系统设 计[J].舰船电子工程,2018.38(11):134-140.
[2] 顾滨兵,张峰,李军锋.雷达对抗装备软件测试系统的设计[J]. 计算机测量与控制,2018.26(7):99-105.
[3] 王象刚.基于云计算的软件测试[J].软件,2013.34(12):246-252.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/54629.html