基于图像识别的指挥控制系统集成测试自动化平台
Posted AutoTest软件测试开发自动化
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于图像识别的指挥控制系统集成测试自动化平台相关的知识,希望对你有一定的参考价值。
基于图像识别的指挥控制系统集成测试自动化平台
概述
随着网络通信手段和计算机技术的日益完备,现代武器系统的数字化程度越来越高。为了能最大限度地发挥各作战单元的战斗力,使指挥员能根据战场态势作出快速反应,由此需求,产生了军事指挥控制系统(国外称之为C4I系统Command Control Communications Computer and Intelligence)。该系统是综合运用以计算机为核心的技术装备,采用自动化通讯网络,实现对分布式作战单元信息的获取、传输、处理的自动化,保障各级指挥机构对所属部队和武器实施科学高效指挥控制与管理,具有指挥控制、情报侦察、预警探测、通信、信息对抗、安全保密以及有关信息保障功能的各类信息系统的总称。现代战争表明,只有建立并有效使用信息化指挥控制系统,才能最大限度地发挥作战部队和武器装备的综合效能。
除狭义的军事指挥控制系统外,广义的指挥控制系统还包括公安指挥信息系统、大型活动指挥信息系统等。
指挥控制系统用于提供指挥、控制、通信和情报传达;换言之,上级指挥单元能控制、监督或者管理各种下级部队,下级部队也能够从上级指控单元获取指令、情报等信息;而这些功能必须通过一系列直观易用的人机交互系统实现;还通过一系列通信链路对操作以及战术数据库进行配置和初始化,实现对战场的控制。
上级指挥单元监控战场态势,及时地收集敌我双反的兵力部署、作战行动及战场地形、气象等情况,为指挥员定下决心提供实时、准确的情报。信息传输系统将上级意图通过通讯网络下达到各个下级部队,按要求执行任务,如开启雷达、跟踪信息、获取状态以及执行交战等;另外,执行控制系统则是自动执行指令装置,如导弹的制导装置、火炮的火控装置等,负责在本地维护和执行诊断。
在测试环境中,集成测试站往往利用独特的软硬件设备、构建测试仿真激励环境,以实现系统集成及测试。
指挥控制系统测试环境架构示意图
挑战
测试在任何业务的软件开发周期中都是至关重要的,对于国防领域的软件,带有缺陷未经测试的软件则很可能影响到生命安全,乃至成为导致战争失败的关键因素。在软件开发生命周期的各阶段中,指挥控制系统的系统集成测试面临巨大挑战。
首先需要独立测试各个下级执行控制系统,尤其是对这些单元所具备的大量复杂功能和应用进行测试;然后,将这些下属单元集成以建立指挥控制系统的系统级测试;此时的系统测试,不仅要明确规划各个下级单元的测试需求,还要同步考虑不同层级各个单元的应用见应用交互所需要验证的综合各个独立系统的交叉测试需求,并且重复多次执行这些测试。
由于各作战层级应用的各类多个输入执行于不同的设备和多个显示界面,多个显示器;为了能够验证这一庞大复杂的集成系统的稳定性和完整性,则要求一套可控的、可重复的,多层架构的,非侵入式的集成测试环境。
传统的测试手段是依靠手动测试团队开发测试用例和执行测试过程,并通过人工记录测试结果。指挥控制系统的集成测试包含大量人机操作,人工测试手段去执行测试,耗费巨大的人力和时间,严重影响项目周期。另外,人工测试的测试精度有限,仅通过人眼判断人机操作之后的图像显示是判断是否与预期相符,使得测试精度不高,且容易因为人为因素导致反复测试;由于测试规模庞大,加上人力和时间的限制,使得大量回归测试被忽略,只能满足部分相对而言较优先的测试任务。
对于指挥控制如此复杂而核心关键的系统,其测试需求及任务很庞大,包含了系统配置测试及单元配置测试,初始化测试及监控测试等等。面对如此繁重的测试任务,传统的手动测试已不再适应;采用自动化测试工具,建立自动化测试平台,执行自动化测试流程是提高测试效率且行之有效的解决方案。
解决方案
要满足指挥控制系统的测试需求,自动化测试平台需具备以下几点要求:
l 无需在被测试系统中安装测试装置,无损于被测系统;
l 使用测试脚本记录测试操作,以软件替代人工执行各项人机操作,实现自动化功能测试;
l 单一测试平台,支持多个不同类型设备的应用的,跨平台集成测试;
l 模块化构建测试,能够根据单个单元测试需求,分别形成测试用例模块;各测试用例模块之间可相互包含、相互调用;
l 自动化执行测试用例,具备循环、条件判断等功能;
l 自动化图像和文字对比;自动化生成测试报告;
l 统一调度各类试验资源,与已有测试环境及测试程序集成。
指挥控制系统自动化测试平台
基于图像的的指挥控制测试平台结构
本方案以基于图像识别的基于图像的功能测试平台为中心,构建指挥控制的自动化测试平台;不仅降低手动测试错误,同时避免了手动测试所带来的不必要的重复性测试,大大提高了测试效率。
基于图像的自动化配置测试,使得能够更加全面地开展指挥控制系统级功能及性能的集成测试,例如通信,雷达连接操作,远程维护监控,雷达控制,态势显示管理及操作等等。
基于图像的利用自动化脚本,来设置、配置及初始化指挥控制系统部件,并且在测试用例中预先规划各种应急操作,错误检查等,可以做到轮训监控各个平台上的交互界面,对整个系统部件之间的交互进行集成测试。
基于图像的软件中定义和规划自动化测试流,基于图像的可同步关联多个被测单元进行测试,从而高效地开展指挥控制各个层级各个单元之间的存在的高耦合的集成测试交互;在回归测试及其它主要测试阶段中提供可回放的自动化测试脚本,提高测试的效率。
在执行完自动化测试之后,基于图像的将自动生成相多种格式的测试报告;通过这些报告,用户能够分析整个测试过程中的信息和相应的应用执行的现场界面,借此进一步确认被测系统与项目初期定义的需求是否一致。
基于图像的测试平台原理
基于图像识别的基于图像的功能测试平台,其核心技术原理,是基于被测应用的界面图像和文字识别,完成和被测对象的交互和结果比较,这样工具很容易达成跨平台实现应用交互和验证,使其可以最有效的帮助用户完成以分布式多平台为特点的指挥控制系统的集成测试。
1. 图像文字识别
基于图像的 测试原理
基于图像文字识别的软件功能测试自动化技术,采用尖端的图像搜索算法以及文本搜索算法,实现基于用户图形界面的,稳健的软件功能自动化测试。工具采用RDP或VNC协议,实现远程捕获被测系统的界面,并实现所需的输入,进而驱动和确认被测系统基于界面的操作。这种连接方式,可以实现非入侵式式的测试,即在被测系统中,无需安装任何额外的测试监控模块,使得测试环境与被测系统相互“隔离”,确保对被测系统不构成任何影响。平台可以测试从手机,嵌入式设备,数字仪表,到主机的任何应用图形界面的功能,而与客户采用的应用开发技术无关,使跨平台,多设备的图形界面功能测试易于实现自动化。
2. 易于理解的脚本语言
基于图像的测试脚本记录操作序列
基于图像文字识别的软件功能测试自动化技术,采用易于理解的脚本语言,支持单一脚本实现跨平台的同一应用的界面功能测试。易于为非开发人员理解和编写这一特性,更加帮助用户实现测试驱动开发,实现敏捷快速的测试开发。也支持常见脚本语言通过API实现调用。
基于图像文字识别的软件功能测试自动化技术,还可集成第三方软件测试设计自动化平台,基于被测系统的需求,自动化的生成可执行的自动化执行脚本。
基于图像的测试平台特点
基于图像的软件适合于做人机界面系统的自动化测试,该软件具备以下特点,
1. 先进的图片和文字识别技术
平台具有专利的图片识别技术,采用基于图像的方法,这意味工具可以做到象人一样自如的查看被测系统的屏幕变化,而无需依赖和理解被测系统的代码或编程结构,因而完全不受技术限制,可实现功能测试流程自动化,在每个测试阶段,对功能、性能、环境的用户体验进行检测。集成OCR (光学字符识别)引擎,识别200多种语言:中文, 英文, 俄文, 日文, 韩文…。
2. 近似自然语言的脚本语言
使用近似自然语言的专用测试脚本描述语言,无需使用者有编程经验。与采用Python、Java或VBScript等复杂的开发语言编写脚本的测试工具相比,避免了实施速度降低,需要编程知识等问题,降低了工具培训产生的隐形成本,同时也支持常见脚本语言通过API实现调用。
3. 提供非侵入式的测试系统
提供非侵入式的测试系统,测试控制可以安装在外围一台设备上,减少对被测系统的干扰。测试控制系统通过VNC和多个被测系统通信。
4. 跨平台跨设备测试
功能测试所关注的被测系统信息是关于程序执行过程中的像素图形信息。这意味着,所有被测试系统都以像素图形的方式来处理,这样,工具就可以支持从手机到主机,多种实时操作系统,嵌入式系统界面,云端应用等采用任何软件底层技术的应用功能测试。这样,工具同样支持测试分布式,多平台系统的集成测试,通过统一的分布式跨平台测试用例的自动化执行,实现端到端的分布式系统集成测试。
5. 单一脚本跨平台复用
基于图像和文字识别的功能测试技术,仅仅依赖于界面的图形像素,从而实现单一脚本对同一应用的跨平台功能测试复用。
6. 数据驱动测试
工具可以复制终端用户执行的每个操作,它可取代由人工输入数据的繁重劳动。使用数据驱动测试的方法,从数据文件中简单、高效的录入重复数据,确保更快速、高效及节约成本的方法,完成自动化测试。
7. 第三方工具集成
工具可以和众多第三方的测试管理和持续集成工具相集成。还可以和自动化测试设计工具集成,可以基于被测系统需求,自动生成可执行的自动化功能测试脚本。例如Vector CANoe, IBM Rational RQM, DOORS,C/C++,Python。
总结
测试工作完成时间是衡量测试效率的重要指标;基于图像的软件的自动化测试平台所带来的时间效益非常巨大;若要开展1000组测试,采用自动化测试方案将节约至少2000个小时;本来要花1年或几年才能完成的测试任务,将缩短为几个月乃至几个星期。不仅如此,大部分测试人员可将时间和精力投入到开发更加高级的以用户使用情景为导向的高级测试,而不仅仅是执行简单的抽样式的手工测试,提高系统的稳定性和质量。
以上是关于基于图像识别的指挥控制系统集成测试自动化平台的主要内容,如果未能解决你的问题,请参考以下文章