APP下载

空间交会对接GNC软件的自动化测试

2012-09-05王振华张国峰陈朝晖

空间控制技术与应用 2012年5期
关键词:自动测试测试数据测试用例

王振华,张国峰,陈朝晖

(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)

空间交会对接GNC软件的自动化测试

王振华1,2,张国峰1,2,陈朝晖1,2

(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)

介绍一种面向航天器空间交会对接GNC软件的自动化测试方法,通过对测试用例和测试脚本的管理、测试过程的自动执行、测试数据的判读和测试缺陷管理,实现对航天器空间交会对接软件的自动化测试.实践表明所述的自动化测试方法在GNC软件的测试中发挥了重要作用.

交会对接;GNC软件;自动化测试;数据分析;缺陷管理

空间交会对接过程复杂,技术难度大,该系统为一个任务要求极高的系统[1].交会对接系统的制导导航控制(GNC)软件要求极高,功能点多,容错处理等设计复杂导致软件规模十分庞大,这些对测试充分性提出了严峻的挑战.GNC软件在交会对接中起着重要作用,具有可靠性和安全性要求高、软件复杂度高、实时性要求强、软硬件联系紧密、功能复杂、性能要求苛刻、时序要求严格的特点,属于安全关键性为A类的软件.测试在GNC软件的研制中具有重要作用,因此对测试工作应予以足够重视[2].

在面对交会对接软件确认测试的任务量急剧增加,而确认测试时间十分紧张的情况下,提高测试效率和回归测试的操作一致性成为软件研制的当务之急.自动化测试成为解决上述问题的有效手段.

自动化测试技术在民用领域中得到较为充分的应用,Mosley和Posey在业界最早进行了数据驱动自动化测试的实验并取得成功.在航天领域,NASA和ESA等组织经过长期发展在自动化测试领域已经建立比较完备而系统的体系.美国面向复杂多系统对象的自动化测试系统(ATS,automatic test system)已日臻成熟,已发展到第三代,综合各种测试资源,能够自动实现对被测对象进行功能、性能测试和故障定位和诊断.目前正在研发下一代(NxTest) ATS,在自动测试语言方面:美国宇航局曾采用GOAL(ground operations aerospace language)[3],欧洲宇航局采用ETOL(european test and operations language)[4].为适应自动化测试技术的新发展,ATLAS委员会联合美国国防部正在开发新一代ATLAS测试语言—ATLAS 2000[5].

IEEE针对自动化测试发布了ATML(automatic testmarkup language)[6]体系是该领域最新的成果之一,ATML明确的规定了设计数据的综合环境、测试策略和要求、测试程序、测试结果管理以及测试系统的实现.

在国内,北航软件开发环境国家重点实验室针对航天器自动化测试系统所提出的“4个软件、1个功能模块和3个支持平台”的整体架构思想[7].标准化自动测试语言和通用化测试环境构建成为自动化测试的主要思路[8].

针对上述国内外自动化测试环境、测试语言及测试方法,在学习和借鉴国内外自动化测试领域现有的技术和方法的基础上,结合交会对接软件运行的特点,在现有空间交会对接GNC软件实时动态测试环境的基础上,引入自动化测试方法,通过对测试用例和自动执行脚本的管理,自动化测试过程的执行控制,测试数据的判读和缺陷管理等工作实现对交会对接软件部分功能的自动化测试.

1 空间交会对接自动化测试系统的设计思路

通过对上述自动化测试标准、方法、和语言进行归纳和总结给合交会对接软件测试工作,开发一套适用的自动化测试系统.

交会对接GNC软件具有外围接口多样、时序复杂、敏感器选择和切换较多、交会对接过程进行的阶段多、模式转换关系条件多和部分功能计算量大,判断运行正确性的条件复杂等特征,因此在面向GNC软件进行测试时,需要对交会对接软件测试功能点区别对待,对于重复性高、测试操作复杂性相对较低的功能点采取自动化测试.

交会对接GNC软件自动化测试环境设计原则:自动化测试的目的是为了能够更好地解决测试效率与测试一致性.这需要将自动化测试与人工判读相结合,自动化测试处理问题的复杂性不要过高,过高的复杂度这将导致在自动测试执行驱动引擎的设计、自动测试数据分析和故障诊断方面的大量的额外工作.因为测试自动化不是万能的,只有在合理设计下,正确规划和执行下,自动化才能够充分发挥其测试效率的优势以及发现其他方式很难发现的问题[9].

对测试内容进行归纳和整理,对具有重复性和软件处理相似度较高、判断的复杂度较低的软件功能例如模式转化等适合于采用自动测试的功能点进行自动化测试;对于正确性判断过于复杂,很难进行形式化处理的内容,采用人工测试和判读的方式进行测试,两者相互结合,充分发挥各自优势,通过这种选择性地对测试内容进行自动执行的筛选,充分结合自动测试与人工判断的长处,从而提升空间交会对接软件测试的效率和可靠性.

首先,测试配置项数量较大,需要将具体测试模式和测试流程进行形式化抽象,归纳出通用性内容;其次需要建立起覆盖全部通用化测试状态的测试用例构件库,对不同配置项能够展开有效的自动化测试以提高确认测试和回归测试过程的效率;另外,针对测试结果的分析与归纳长期以来一直是测试自动化关注的重点和提升测试自动化水平的难点.

2 空间交会对接软件自动化测试环境

自动测试系统具备自动生成和执行测试脚本、分析和判读测试数据、自动生成测试报告等功能,实现对整个测试过程进行监督和管理,它是集测试配置、测试用例自动执行、测试数据管理、测试监控为一体的系统,以便用户可以及时地掌握软件的测试和完成情况.需要满足卫星地面测试软件通用化、测试过程自动和远程控制的要求,提高星载软件测试的自动化水平,提升软件测试的效率和覆盖率.

2.1空间交会对接自动化测试系统构架

软件自动化测试过程管理及数据处理的主要功能有系统管理、全局配置、用户及权限管理、遥测数据预处理、遥测遥控数据显示、脚本的自动生成和编辑、遥控和指令发送、数据存储与查询、数据回放、文件管理、测试过程管理、缺陷管理及度量、输入数据同步处理、图形打印、测试报告自动生成等功能,这些功能将根据其功能和运行特点分布在服务端和客户端.

自动化测试系统需完成以下主要任务:

1)建立总体测试计划,完成测试规划、配置.按不同的配置项版本创建测试任务,用户根据测试需求划分功能点或测试项、进而设计测试用例.

2)辅助测试用例设计.对各软件不同版本的测试用例进行统一管理,从而进行测试用例有条件的复用和制定,通过管理工具,使得测试用例的来源明确,内容可控,可追溯性强.

3)对在研的多个软件的测试过程进行管理.测试人员通过测试过程管理系统选择被测软件及其版本,根据时间或任务安排,选取需要执行的用例,自动发送执行指令,并指定各用例生成的测试数据包名称.可通过网络实时监控测试任务的进展情况,必要时进行干预和控制.

4)测试结果返回.测试数据通过接口发送到数据服务中心,数据服务中心接收数据后进行数据存储同时将数据发送到测试监控端,并根据数据判读结果对缺陷进行分类、跟踪其解决情况.

5)综合测试数据的分析和处理.对存储数据进行条件查询、统计、分析处理,根据存储信息对测试事件进行回放.能方便地根据测试报告的格式要求输出曲线,方便的对测试数据组织编辑,按用户需要的格式形成报表导出.

2.2 空间交会对接自动测试流程

在自动测试整体的基础上,通过自动测试流程,将各种测试资源进行有效地整合,实现自动测试动态运行和执行管理.测试流程参见图1.

图1 交会对接测试流程示意图Fig.1 RVD testing flow

测试流程主要包含5个方面:

(1)测试用例的自动生成和编辑

测试用例生成模块的主要工作是通过读excel格式的测试细则文件,将测试细则转换为基于txt格式的脚本文件,编辑好脚本后,将脚本文件保存到服务器上.该模块在读取遥测细则文件时需要识别项目代号、时间、测试状态设置、输入参数判读、指令方向、指令、输出参数判读和时间、参数期望最高值、参数期望最低值等内容;

(2)测试控制指令的自动发送与数据执行分析

自动测试执行流程由一个或多个测试用例组成的序列,测试用例包含脚本内容,测试执行流程模块解释并执行脚本内容.按一定的协议,在所执行测试脚本时,按照时间顺序将相应指令由动力学计算机、数管仿真计算机或者主控计算机发送到GNC控制计算机,在相应的时间内接收总线遥测数据、动力学数据、工程遥测数据等遥测通道进行比对判断进行数据分析;

(3)测试执行流程管理

包括执行流程的新建、查询、配置,测试过程日志等,可对测试功能项分解,按照测试进度安排测试活动.建立功能项与测试用例的映射关系,进行测试项目基本信息和测试过程相关参数的维护.测试执行流程主要由测试用例(脚本)、测试数据解析以及与测试自动化平台的接口组成.能进行测试执行流程控制,能够启动、停止任何一个测试执行流程;

(4)综合处理测试数据

通过C/S架构和网络连接将分散在各台测试设备上的动力学数据,工程遥测,高速复接器数据等数据集中到数据服务器上,对来自不同的数据源进行比对和绘图输出分析,给出误差比对范围,提供数据超差报警处理,实现测试结果的保存和回放处理;

(5)遥测数据和图形显示

通过组态方式对遥测数据进行显示,该软件能以各种表格、曲线、图形、动画、声音等形式反映目前的测试状态.

2.3 空间交会对接自动测试用例的管理

使用树形结构来组织和管理用例,由两种节点构成.节点1.测试集合文件夹:用于组织和存放测试用例,能够更清晰的对测试用例进行分类和集合.节点2.测试用例集.测试用例集由多项内容构成,测试用例及执行脚本信息组成参见表1.

表1 交会对接测试用例及可执行脚本信息Tab.1 RVD test cases and executable script information

每一个测试用例即为一个可以通过自动化测试引擎执行的测试脚本,可以手动添加测试用例和脚本,也可以从文件导入测试用例.可以通过在左侧测试用例列表中选中一个测试用例版本,在右侧选择脚本信息页,在脚本列表中选中一行,右键可以编辑行、插入行和删除行.处理方法参见图2.

图2 交会对接测试用例管理Fig.2 The management of RVD testing cases

2.4 空间交会对接自动化测试流程执行动态管理

自动化测试任务执行与管理模块完成自动化测试过程的综合调度和测试任务的过程管理,包括:测试资源调度管理引擎、测试任务管理引擎、自动测试执行引擎3个组成部分,驱动引擎的定义采用XML语言进行描述.XML(可扩展标记语言)是一种文本标记语言,支持结构化的数据交换.每个数据域用标记符界定,标记符给出该数据域的信息.通过使用测试资源调度管理引擎综合调度测试平台的各种软硬件及各种接口资源,使用测试任务管理引擎调度测试任务的相互关系和先后顺序,使用自动测试执行引擎在测试资源管理和测试任务管理的相互配合下动态执行任务队列中的测试用例,实现自动化测试过程.动态运行管理参见图3.

2.5 空间交会对接自动测试数据查询与分析

通过测试报告自动生成模块调用服务器端测试报告自动生成服务来完成,客户端仅显示服务端生成报告的进度信息.实现客户端历史数据查询的功能,该软件能从服务器端数据查询接口获取某个时间段某些参数的数据,并画出曲线,导出格式包括txt文档和excel文档等格式.

数据分析是测试环节中的重要组成部分,数据分析分为在线分析和离线分析,在线分析主要通过故障报警设置,通过设置坎值,对一些重要的数据变量进行监控,当超出正常值范围采取报警提示.离线数据分析,主要是在实验测试结束,针对运行数据就某一方面的特定要求进行数据分析,例如:三机容错的数据分析,参见图4.

2.6 空间交会对接自动测试缺陷管理

图3 交会对接测试执行流程管理Fig.3 The management of RVD testing execution flow

图4 某变量三机容错测试的方差数据离线分析(该变量方差极值约为0.0046)Fig.4 Off-line variance data analysis in three-machine fault tolerance test(themaximum variance value is about 0.0046)

缺陷流程管理要定义不同的角色,以及不同角色在缺陷流程中的行为.自动测试系统的数据判读和故障诊断采用以知识处理为基础,综合应用航天软件专家系统和人工智能技术相结合,应用到多个航天器星载软件被测对象的测试数据判读和故障诊断中,使数据判读和故障诊断推理系统能够独立于测试过程,达到测试数据诊断知识良好的可移植性、重用性和共享性.从而,构建起一个信息的综合诊断体系结构,并使该体系结构具有开放性.自动测试缺陷管理度量方法参见表2.

表2 故障处理判断方式Tab.2 The fault-processing-judgment way

续表

3 空间交会对接软件自动测试应用分析

以模式转换为例对交会对接GNC软件自动测试内容进行分析.自动测试模式转换测试脚本中包括(1)对转段转入条件的判断,(2)数据流执行顺序,(3)在转段前后对重要数据的监测,(4)转段前后运行正确性自动判断,(5)异常数据和运行错误故障报警等信息.

交会对接交会过程参见示意图5[10].针对紧急撤离模式转换的自动测试,数据流及自动测试动态执行监控参见曲线图6.测试姿态控制实时分析曲线显示参见图7~9.

图5 交会对接飞行阶段划分示意图Fig.5 Concepts of the RVD flight phase

图6 自动测试数据流执行流Fig.6 The execution flow of automatic testing data

图7 400m紧急撤离撤退模式下的质心系Y轴相对位置和速度相平面曲线Fig.7 Phase-plane curve of the relative position and velocity along Y axis of the center-mass frame in 400m emergency evacuation retreatmode

图8 400m紧急撤离模式下的质心系Z轴相对位置和速度相平面曲线Fig.8 Phase-plane curve of the relative position and velocity along the Z axis of the centermass frame in 400m emergency evacuation mode

图9 400m紧急撤离模式下的质心系XZ相对位置相平面曲线Fig.9 Phase-plane curve of the relative position and velocity in XZ plane of the centermass frame in 400m emergency evacuation mode

4 自动化测试工作重点

自动化测试需要对测试方法进行提炼,找出确认测试中通用化的部分,自动化测试的最重要的作用是代替人完成重复性的工作.这需要测试人员总结测试方法,利用自动化测试环境,对已有测试资产包括测试流程,被测对象特性进一步归纳和总结.

在测试准备阶段:对以往的测试过程进行通用化提取,对通用模式进行概括和归纳,整理完善通用测试用例库,用例库中的用例能够以测试脚本的方式存在,该脚本能够被计算机测试环境所识别,从而可以不加修改或通过少量的适应性修改即可在自动化测试系统中执行.

在自动化测试执行阶段:通过使用测试资源调度管理引擎综合调度测试平台的各种软硬件及各种接口资源,使用测试任务管理引擎调度测试任务的相互关系和先后顺序,使用自动测试执行引擎在测试资源管理和测试任务管理的相互配合下动态执行任务队列中的测试用例,实现自动化测试过程.

在测试结果数据分析评估阶段:该阶段是自动化测试的重要环节,整个测试过程统一使用数据库来统一存储测试数据,为整星测试数据分析提供统一管理于深层次应用的数据基础.在对多颗卫星进行星载软件测试时,能够以自动化测试数据库为核心,通过自动化测试支撑环境为依托,协调完成测试数据准备、测试任务调度、测试过程自动执行及测试总结报告生成,实现测试过程的信息化管理,提高测试数据信息的共享程度.

5 结 论

随着航天空间交会对接任务以及航天任务的快速发展,在航天软件自动化测试方面,我们应该不断加快建设步伐,在学习和借鉴国外先进经验的基础上,发展适合中国航天应用的自动化测试体系和相应的测试方法,提升软件的信息化水平,并以此提高软件研制的效率.

自动化测试方法的引入,可以有效地提高交会对接软件在执行具有相似处理方式测试用例的运行效率,能够降低对测试中由于在长时间人工操作下的随意性,解决操作一致性不好的问题同时能够有效地提高回归测试的操作一致性和准确性,对提高交会对接测试能力具有重要意义.

本文就确认测试环节中引入自动化测试的需要解决的问题,自动化测试系统构架,自动化测试体系功能分解,执行的流程和方法,以及自动化测试体系建立过程中重点工作和发展思路进行了尝试和探讨,并针对性地提出解决方案.所介绍的自动化测试方法和技术实现已经在具体的航天软件研制中发挥作用,取得良好的应用效果.

[1] Sommerville I.Software engineering,eighth edition [M].Beijing:Machinery Industry Press,2007,43-44

[2] 中国航天科技集团软件专家组.航天软件工程实施技术指南及规范 [M].北京:中国航天科技集团公司,2006 Software expert group of china aerospace science and technology corporation.Guidelines and specifications foraerospace software engineering technology[M].Beijing:China Aerospace Science and Technology Corporation,2006,427-428

[3] Mitchell T R.A standard test language-GOAL[C].The Workshop on Design Automation,Association for Computing Marchinery,portland,Oregon,NY,June 25-27,1973

[4] Harrison M,Mclennan M.Effective Tcl/Tk programming[M].Readings,MA;Harlow,England:Addison-Wesley,1998

[5] Cherfas A,Reeves W.ATLAS 2000 signal and method classification and modeling[C].Autotestcon IEEE Systems Readiness Technology Conference,SSAI,Lakehurst,NJ,USA,24-27 Aug,1998

[6] IEEE Std 1671.IEEE Trial-use standard for automatic testmarkup language(ATML)for exchanging automatic test equipment and test information via XML[S].IEEE Standards Coordinating Committee 20 on Test and Diagnosis for Electric Systems,2006

[7] 马世龙,余丹.航天器自动化测试语言及系统[M].北京:国防工业出版社,2011,10-11 Ma S L,Yu D.Language and system of spacecraft automatic test[M].Beijing:National Defence Industry Press,2011,10-11

[8] 同江,蔡远文,邢晓辰.下一代自动测试系统在我国航天测试体系结构中的应用[J].航天控制,2011,29(2):75-80 Tong J,Cai Y W,Xing X C.The application of“Nx-Test”in the demostic aerospace test system architecture [J].Aerospace Control,2011,29(2):75-80

[9] Patton R.Software testing,second edition[M].Beijing:Machinery Industry Press,2008,250-251

[10] 张淑琴,王忠贵,冉隆燧等.空间交会对接测量技术及工程应用[M].北京:中国宇航出版社2005,3-5 Zhang SQ,Wang Z G,Ran L S,et al.Space rendezvous and docking measurement techniques and engineering applications[M].Beijing:China Astronautic Publishing House,2005,3-5

Autom atic Test of GNC Software for Spacecraft Rendezvous and Docking

WANG Zhenhua1,2,ZHANG Guofeng1,2,CHEN Zhaohui1,2
(1.Beijing Institute of Control Engineering,Beijing 100190,China; 2.Science and Technology on Space Intelligent Control Laboratory,Beijing 100190,China)

An automatic test method is introduced for spacecraft space rendezvous and docking(RVD) GNC software.The introduced approach is realized based on the management of test cases and scripts,automatic execution of the testing process,test data interpretation and test defectmanagement.Practice shows that the automatic testmethod plays an important role in GNC software development.

rendezvous and docking;GNC software;automatic test;data analysis;errormanagement

TP31

A

1674-1579(2012)05-0042-07

王振华(1981—),男,工程师,研究方向为航天器嵌入式软件技术;张国峰(1972—),男,高级工程师,研究方向为航天器嵌入式软件技术;陈朝晖(1969—),男,研究员,研究方向为航天器嵌入式软件技术.

2011-08-29

DO I:10.3969/j.issn.1674-1579.2012.05.008

猜你喜欢

自动测试测试数据测试用例
测试用例自动生成技术综述
回归测试中测试用例优化技术研究与探索
基于SmartUnit的安全通信系统单元测试用例自动生成
测试数据管理系统设计与实现
关于某型雷达自动测试系统的几点认识和建议
DCOM在混合总线自动测试系统的应用
基于自适应粒子群优化算法的测试数据扩增方法
空间co-location挖掘模式在学生体能测试数据中的应用
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计
一种卫星低频接口自动测试系统