周 华
(中核武汉核电运行技术股份有限公司,湖北武汉 430223)
全范围模拟机(Full Scope Simulator,FSS)是指用于核电站操作人员培训和执照考试的专用设备。《HAF103核动力厂运行安全规定》[1]提出为了满足核电站的安全运行要求,必须使用模拟机对操纵员进行培训。所以核电厂全范围模拟机(FSS)成为了核电工程建设主路径上的关键设备;同时全范围模拟机的性能和质量将直接影响核电厂操纵员培训效果,也对核电厂的安全运行有着重要的影响。
目前,全范围模拟机的设计开发涉及到核电厂工艺系统模型仿真技术、分布式控制系统(Distributed Control System,DCS)仿真技术、计算机仿真支撑软件技术等多领域技术,而且属于一项软件与硬件高度集成的系统化工程。其中,测试工作是全范围模拟机项目开发过程中关键环节,是保证模拟机产品质量的有效手段。而科学高效的测试管理方法和工具将有利于提高测试效率的同时保证测试质量。
一台全范围模拟机可分为硬件设备和运行软件两部分。
硬件设备包括布置在全范围模拟机主控室(Main control room,MCR)、远方停堆站(Remote Shutdown Station,RSS)、技术支持中心和教练员室的所有设备,后台运行服务器以及相互之间的接口设备。全范围模拟机主控室和远方停堆站是参照参考机组实际运行的主控室进行1:1的布置,目的是还原操纵员实际的工作环境,让受训人员在感官上不会产生与实际工作时的差异,从而提高培训的逼真度;教练员站提供给教员控制模拟机以及模拟主控室之外操作的场所;后台运行的服务器主要运行模型计算程序来模拟参考机组特定的工况场景。典型的硬件拓扑结构见图1。
全范围模拟机应对参考机组的所有系统特性进行完全的、综合的和实时的仿真,再现参考机组在正常、异常和事故工况下的状态演变。主控室设备以高逼真度仿真的方式实现,以确保模拟机主控室和实际机组主控室之间没有明显的差异。模拟范围应涵盖参考机组冷停堆工况至满功率工况、各事故工况以及其他运行状态(包括停堆换料期间的状态)。
图1 典型全范围模拟机硬件拓扑图
全范围模拟机测试内容主要包括堆芯性能测试,工艺系统过程模型测试,故障测试,机组启停测试,瞬态测试和场景测试,DCS功能测试、性能测试和故障测试,硬盘台性能和功能测试,模拟机应用软件测试,模拟机系统整体性能测试等。测试的目的在于发现各个设计阶段程序中的错误,验证模拟机整体功能和性能是否符合项目技术规格书及操纵员培训所规定的技术要求,确认全范围模拟机软件质量。全范围模拟机可分为6个阶段。
(1)单元测试。对于工艺模型来说就是系统分调测试,包括部件测试、参数验证;对于DCS仿真系统来说是指控制逻辑验证和DCS软件功能及性能测试。
(2)集成测试。模拟机各个分系统功能设计完成后进行系统间的集成,集成调试主要验证系统间的接口是否完善,集成调试的目标是建立稳定的初始工况。
(3)工厂测试。在建立初始工况后,根据验收测试规程对集成后的模拟机性能进行测试,主要内容是正常变工况测试、故障测试、瞬态测试和软件功能测试。
(4)出厂验收测试。模拟机完成工厂测试后确认满足出厂要求,由模拟机用户方或委托第三方参与产品的出厂验收测试,验证模拟机的性能满足相关技术指标的要求。
关于刀片的优化方案,主要是通过参考割草机上常用的、工艺性良好的刀片确定的。市面上常见的割草机刀片大概有弯曲刀片、异形刀片和平直刀片(原方案)三种,故优化方案2采用原刀盘和图11所示的弯曲刀片。
(5)现场验收测试。出厂验收通过后,模拟机设备发往现场进行安装调试,在软硬件设备安装调试完成后进行现场验收测试。现场验收通过后可交由使用方进行操作人员培训及考试。
(6)数据更新阶段测试。全范围模拟机始终是需要保证其计算结果和呈现出来的响应与参考机组保持一致,这样才能保证培训效果。随着参考机组实际工程进度的推进,模拟机可陆续的获取到参考机组的调试数据和运行数据,因此,模拟机研制过程一般会有2~4次的数据更新,使用参考机组数据来对模拟机设计进行修正,从而达到模拟机上的响应与参考机组的实际响应一致。
各阶段测试范围见表1。
表1 测试阶段与测试内容
测试需求分析是测试计划阶段的关键任务,准确而完整的测试需求是保障软件测试结果有效的基础和条件[2]。全范围模拟机测试需求分析是根据模拟机合同技术附件、行业标准和软件需求规格书等上文件,将全范围模拟机的功能要求分解成较小而且相对独立的测试项,从而建立测试需求与上游需求文件的追踪关系。
首先,从上游文件中获取对全范围模拟机在功能和性能上的要求并确定验收标准,同时设计出模拟机验收的测试类,比如分系统测试、综合启停测试、故障测试、第三方软件测试等,而这些测试类在全范围模拟机测试大纲中进行描述,与之对应的是各个测试规程分册。确定测试类别之后,对于每一类别的测试分册进行详细的需求分析,形成每个测试分册的测试条目文件。比如华龙一号全范围模拟机中关于分系统需求分析过程如下。
(1)确定分系统测试规程清单。
(2)测试内容条目化(表2)。
(3)将测试条目作为相应测试规程编制的输入,建立对应关系。
表2 分系统测试条目示例
3.2.1 高效的测试管理工具
高效的管理工具是所有管理工作的重要组成部分。孟平等(2004)[3]提出“测试管理系统有助于对制定测试计划编写、测试用例和测试步骤、问题的跟踪处理、测试总结报告等各个阶段进行有效的控制和管理,以提高软件开发尤其是产品测试的管理水平,保证软件产品质量”。项目配置管理软件Sim原CMS是独立用于配置管理的软件系统,用于支持模拟机的开发、维护、升级等全寿期的变化跟踪和控制,其主要功能有:系统维护、文件配置项管理、硬件数据配置管理、设计数据管理、差异管理和基线控制。配置管理软件采用服务器/客户端的工作模式。其中的差异管理,即不符合项管理模块是一个典型的测试管理工具。不符合项管理模块这种电子化管理系统改变了以前靠纸质偏差单或者简单的Excel表格来记录、跟踪、管理模拟机测试过程的落后管理方式,通过标准的电子化流程来严格规范不符合项的处理流程,同时还可以对不符合项进行查询和统计并通过报表输出等功能对不符合项进行趋势分析,从而更好的掌控模拟机的测试过程及测试质量,另外,测试过程的记录可以完整并长期保存。电子化管理系统可以通过网络平台,解决了不符合项处理过程中跨地域、跨网络、跨平台、多项目、多角色、多人员交互等一系列技术和管理问题,极大的提供了测试过程中不符合项的处理效率,有效的节约了项目开发时间。
首先人员角色和职责由各个项目的项目经理在系统中完成配置,项目经理在整个流程中的作用是负责角色定义、权限分配、问题协调;测试工程师负责不符合项报告的填写、跟踪处理情况、回归测试及关闭;制定责任人是指各个专业的工程师,比如模型工程师、仪控工程师,主要负责根据不符合项的描述进行修改并提交,同时对于严重程度属于重大或较大的不符合项制定修改方案;项目技术负责人首先对新增的不符合项进行确认,甄别出是否属于不符合项,同时还需要对重大或较大不符合项的修改意见进行审查。不符合项处理流程中共有以下几种状态:new(新产生),Not DR(非不符合项),Commented(暂不处理),Fixed(已修改),Offered(待测试),Closed(关闭),Closed_C(让步接受),Open(未通过)以及Defer(遗留项)。
3.2.2 采用自动化测试工具
自动化测试是指测试人员根据功能需求或者接口功能编写自动的测试脚本,通过测试脚本的自动执行测试步骤,将测试输出结果与期望输出进行比较,同时监控和管理测试执行过程[3]。因此,测试人员可以脱离繁琐的测试执行及管理过程,集中精力于测试用例的设计上,从而极大地提供测试工作的效率。但不是所有的测试过程都适合自动化测试,通过分析全范围模拟机测试工作的特点,可以在不符合项的回归测试、重复性的测试内容、对时间没有依赖的测试内容或者已经实现手工测试用例等方面采用自动化测试工具。
(1)稳态运行数据精度测试。模拟机行业标准[4]中提到“应证实模拟机能够在有完整的参考机组数据的3个功率水平上准确的模拟参考机组的稳态响应,该3个功率平台应至少跨越50%额定运行功率范围”。为了满足标准的要求,全范围模拟机需要进行稳态运行数据精度的测试,该项测试在内部测试阶段、出厂验收阶段、现场验收阶段、数据更新阶段都会进行,具有重复性高、数据记录工作量大的特点,因此专门开发了针对稳态运行精度测试的自动化测试工具checkdata。在进行测试之前,只需要输入指定的IC(Initial Conditions,初始条件)号、选择检查时间以及基准参数配置文件后,工具将自动记录测试数据,自动与参考数据进行比较,并生成测试结果,如图2所示。从生成的测试结果上初步判断出哪些参数不符合预期。同时测试结果可直接导出Excel格式的文件。
(2)自动化场景测试。全范围模拟机在交付使用之前需要进行多轮次的能力测试,包括正常变工况测试、故障工况测试和瞬态工况测试。这些测试结果与模拟机培训内容息息相关,是模拟机测试中重要的环节。而这些测试存在相对固定的测试步骤,并且产生的不符合项比较多。因此,可以使用自动化场景测试工具。自动化场景测试是通过完整记录第一次人工测试的操作步骤,这些操作步骤包括教员的教控命令和学员的操作并以场景文件的方式保存下来;当需要再次执行同一测试内容时,以调用场景的方式自动顺序执行相同的操作步骤。场景工具操作界面如图3所示。
图2 自动化稳态测试工具界面及输出结果
图3 自动化场景测试工具
自动化场景测试工具还可帮助修改人员快速定位不符合项的问题所在,提高修改效率,同时也可用于不符合项的回归测试,节约测试人力和测试时间。
全范围模拟机进入集成测试阶段之后,为了保证测试的独立性以及测试进度,在条件允许的情况下充分利用多平台进行测试和修改。而每个平台同样包括工艺过程仿真软件、安全级和非安全级DCS软件,对于每一类软件又分为平台软件和工程数据。因此,全范围模拟机软件对版本控制的要求更高,测试版本必须有明确的标识和说明,能够得到有效的控制。测试版本的控制手段主要有以下3个方面。
(1)建立测试基线版本。每一个测试版本都有唯一的标识号,比如V1.0.0。对于测试版本的配置项信息由专人进行维护。
(2)确定备份内容和备份周期。确定全范围模拟机软件需要备份的内容与实际的软件是如何对应的,即平台软件存放在哪个目录中,工程数据存放在哪个目录中,而且每次备份内容都有时间标签加以区分;备份周期有几种形式:定时备份,及每周或每月固定时间进行备份;平台软件在每次升级前后进行手动备份;每个测试阶段完成后进行阶段性备份。
(3)规范更新流程。采用限制登陆权限的方式来保证测试版本不被进行任何修改。更新工作由专人负责执行,且已明确更新内容和更新步骤,更新前做好备份。原则上采用增量更新的方式,即先通过运行对比脚本获取测试版本与即将更新内容之间的差异,然后将差异内容进行更新。
加强测试需求管理,提高测试的覆盖率和充分性,建立科学高效的测试管理方法,开发和使用自动化测试工具,采用严格标准的测试控制流程,这些举措都是保证模拟机产品质量、提供测试效率的有效手段。只有科学地进行测试管理,并坚持以测试管理问题为导向,积极探索、寻找解决方案和措施,持续改进,才能促进模拟机测试管理队伍的成长,促进模拟机质量的提高。