自动售检票系统检测中心检测理念与实施策略
2011-01-16蔡佳妮
蔡佳妮
(上海申通轨道交通研究咨询有限公司,201103,上海∥工程师)
近年来,自动售检票(AFC)系统的检测越来越受到轨道交通业界的高度重视。每当新线即将投入运营,工程建设方、系统供货商和运营单位等都会紧张地对即将投运的AFC系统进行一遍又一遍的测试,以验证其可靠性、准确性、安全性等各项指标。但是,对AFC系统的检测目前还未形成一个可以执行的国家标准,各地也没有专门的检测中心及测试平台,因此对每个工程AFC系统的检测,往往是由负责该线建设的厂家、集成商或工程监理在现场进行“个性化”的测试,缺乏标准性和公正性。因此,建设AFC系统检测中心已成为当前轨道交通快速发展中的一个当务之急。
上海于 2005年率先进行了《自动售检票(AFC)系统检测中心通用测试平台》的建设研究,并完成了AFC系统通用测试平台测试环境的搭建。该平台于2007年在上海轨道交通8号线AFC工程中投入试用,随后推广至轨道交通6号线和9号线工程。在2008年下半年,又开始了平台的二期建设研究,在一期建设的成果上进行完善和提高。经过2年多的运作,检测中心已初具规模,通过不断完善检测能力和检测覆盖面,其作用也初见成效。
笔者通过对检测中心的建设研究及对数条新线检测经验的总结,基于检测技术的理论分析与AFC系统的专业基础,提出关于轨道交通AFC系统检测中心的检测理念与实施策略。
1 检测理念
检测即是通过有效的方法来验证产品是否达到标准和要求。目前市场上比较通用的是软件产品的检测。但轨道交通AFC系统是一个从票卡到终端设备再由车站及中央计算机处理的复杂系统,不仅涉及到软件应用系统,还涉及通信接口、硬件机械、电气特性等方面。因此,对于该系统的检测,测什么和如何测,是首先要明确的。
1.1 检测需求
检测需求通俗的讲就是测什么。AFC系统检测,除设备的物理特性、电气性能检测外,可以将检测需求分为表1所示的几大类。诸如检票机扣款情况、黑名单的处理、联乘优惠等,可以归类在检票机设备的功能测试中;读卡器的读写速度、读写距离等,可以反映在设备关键部件的性能测试内;而车站计算机系统与设备之间运行指令下发、交易数据上传等,可以纳入接口测试需求中。系统联调测试可以包括金融安全性测试、乘客通过能力测试(大客流量)和演练紧急状态测试等。
表1基本覆盖了轨道交通AFC系统的检测需求,当然每个检测内容大类中还要根据实际要求进行检测项目的细化。
表1 AFC系统检测需求汇总
1.2 检测依据
检测依据是进行检测的必备条件,它通常是产品的技术规格书、用户需求书等。对于AFC这类专用系统,在满足本系统通用技术标准或规范的基础上,需符合用户要求,即响应招标合同文件里的技术要求条款。
目前,针对轨道交通AFC系统,国家已出台了GB 50381-2006《城市轨道交通自动售检票系统工程质量验收规范》和GB/T 20907-2007《城市轨道交通自动售检票系统技术条件》。上海对整个路网内采用的AFC通信接口标准和协议进行了明确,形成了DGJ 08-1101-2005《城市轨道交通自动售检票系统通用技术规范》,以及单程票和城市公共交通卡通用技术规范等相关标准。这些均作为检测依据。同时,上海作为率先实现自动售检票的城市,在系统界面、设备功能要求、性能指标等方面已经形成了标准化文件。这不仅是产品的衡量标准,更是检测工程设计的有效依据。
1.3 检测方法
检测方法有传统的手工测试和自动化测试。手工测试即检测人员根据检测用例,与检测对象进行“人机对话”,然后将测试结果和预期结果相比较并记录检测结果。自动化测试就是通过测试工具,按照检测工程师的预定计划对产品进行自动测试。
对于AFC系统这样一个包括软硬件协同工作的特殊系统,其所有数据的来源都是由前端或后端人员的行为动作所产生。分析研究表明,在当前,AFC系统要实现自动化测试,其全自动化测试工具的开发比系统本身的开发实现还要艰巨。比如,面向乘客的前端行为,需要通过人工参与,完成购票、检票等动作的执行;后端票箱的更换、钱箱的拆装等,必须是人工操作行为;有关的测试设计、测试案例以及一些关键的测试任务执行也需有人工参与。当然,对于一些如AFC各层接口标准验证测试、中央车站计算机并发用户测试、大数据量测试等,可以通过开发专业测试工具,辅助测试人员进行测试。
此外,每种测试工具都有它的适用范围和可用对象,针对不同的测试目的和测试对象,应选择合适的测试工具。在很多情况下,需要利用多种工具才能完成一个测试工作。
因此,检测方法的核心是根据检测需求,对照检测依据形成测试用例,即包括测试项名称、测试步骤、预期结果等在内的测试用例集。测试工具是辅助测试人员完成这些测试用例的。
2 检测实施策略
2.1 搭建测试环境
测试环境既指物理上的场地测试环境,又指待测AFC系统或设备的运行环境,能完全模拟从清分到中央,再到车站及终端设备的线路运行环境。测试时将待测设备接入到该测试环境,配置到所在层,进行测试。
上海AFC检测中心已组建的通用测试平台环境包括2条线路中央计算机系统、4个车站计算机系统和部分车站设备,安装与实际运营线一致的AFC系统设备,测试工作站安装仿真系统及其它测试工具。在测试任务中对实际设备和仿真系统进行配置,一起构成对被测设备的测试环境。整个平台运行环境架构如图1所示。
2.2 形成测试方法
测试方法是指对系统或设备的基本测试方法。例如:设备的功能测试,测试员依据测试用例执行每个测试;设备的接口测试,测试员利用仿真工具模拟其上下层,结合测试用例进行测试;系统的性能测试,测试员使用压力测试工具模拟并发用户,对系统进行测试,而基本功能测试仍需依赖编制好的测试用例手工进行;读卡器这一关键部件的测试,测试员使用专用的读卡器测试仪器,测试其读写速度及时间等性能。因此,测试方法是根据不同的测试内容测试项而制定的不同的测试方案。对于测试平台来说,要满足所有的测试需求,必须形成一套完整的测试方法。针对AFC系统各层次设备和系统的测试需求,基本测试方法描述如下。
图1 测试平台运行环境架构图
2.2.1 清分中心系统测试
测试清分中心系统功能时,清分中心安装系统文件,中央计算机系统安装仿真程序。该程序按照清分中心系统与中央计算机系统的接口功能实现,处理从清分中心发送的运行参数文件、黑名单文件、各个运行线路的运营模式数据并显示;中央计算机仿真程序向清分中心系统发送设备原始交易文件,验证清分中心系统是否能正确处理中央计算机仿真程序按照一定的频率发送的设备原始交易文件,验证清分中心系统的处理性能,以及中央计算机接收清算文件,处理并显示验证该文件是否符合接口定义。
2.2.2 线路中央计算机系统测试
在对中央计算机系统的功能进行验证时,中央计算机安装AFC系统软件,清分中心层和车站系统层安装仿真程序,来验证中央计算机系统功能的正确性。
根据测试需求,清分中心仿真程序下发系统运行参数文件、黑名单文件、各个运行线路的运营模式数据等至中央计算机,中央计算机应能正确处理该数据文件;中央计算机应能接收车站仿真程序上传的交易文件并进行正确处理。验证中央计算机处理性能时,设置一定数量的车站计算机仿真程序,按照一定的频率发送交易文件,对中央计算机进行压力测试。
2.2.3 车站计算机系统测试
在对车站计算机系统的功能进行验证时,车站计算机安装AFC系统软件,线路中央层和车站设备层安装仿真程序,来验证车站计算机系统功能的正确性。
根据测试需求,线路中央仿真程序下发线路运行参数文件、黑名单文件、运营模式数据等至车站计算机,车站计算机应能正确处理这些数据文件;同时设备仿真程序上传的设备状态信息应能被车站计算机处理,应能接收和转发设备的交易数据。验证车站计算机处理性能时,设置一定数量的设备仿真程序,按照一定的频率发送底层交易数据,对车站计算机进行压力测试。
2.2.4 车站设备测试
测试车站设备时,车站计算机仿真程序向AFC终端设备发送系统运行参数文件、黑名单文件等,设备能接受这些参数文件并正确处理;车站计算机仿真程序向设备发控制命令,终端设备应有正确的响应;车站计算机仿真程序接收设备发送来的状态信息并解析;车站计算机仿真程序接收设备发送来的交易文件,并处理这些文件来验证设备文件符合需求定义。
2.2.5 票卡测试
测试票卡功能时,使用真实的AFC设备,通过执行设备相关的测试过程,一方面验证票卡的读写流程是否正确,读写性能、读写距离是否符合要求;另一方面验证设备读写器功能、性能与需求是否相符合。
2.3 开发测试工具
对于在AFC系统各种类型的测试过程中手工无法完成或者难以实现的一些测试工作,可以开发相应的测试工具或辅助测试工具。
(1)AFC设备、车站计算机系统、中央计算机系统、清分系统的仿真工具。仿真工具是按照接口标准要求开发的标准化工具,在AFC系统测试中,主要用于进行AFC系统各层的接口测试。仿真工具的开发原理是基于AFC系统各层次的通信接口协议,由仿真工具通过前台模拟生成各层次系统或设备的交易数据、运行状态或命令请求报文,与待测系统(或设备)进行通信,验证其参数管理、运营管理和交易数据三大业务信息流是否能够正常接收及处理。图2即为采用J2EE三层架构开发的仿真工具系统结构图。
(2)系统性能测试工具。通过模拟大量用户并发执行关键业务完成对应用程序的测试,在实施并发负载过程中通过实时性能监测来确认和查找问题。系统性能测试工具可与仿真工具进行集成,在测试时配置多个仿真终端,循环发送交易报文,对被测系统进行并发测试及压力测试,从而验证系统性能。
(3)票卡读写器仿真工具。在实际设备使用时都会涉及到读写器,无论是自动售票机、人工售票机,还是自动检票机,读写器都是必不可少的组成部分。但频繁的设备切换给测试带来了很多不必要的工作量,为此在测试中引入读写器仿真工具。仿真工具能对测试用卡进行各种操作,能够灵活模拟AFC各类终端设备的读写器的读写操作,同时大大简化了测试流程。测试过程中无需其余设备干预,只需一台仿真器即可完成整个测试过程。另外,引入票卡读写器辅助工具,还可对读写器和票卡进行一系列的测试。
(4)专用硬件测试工具。自动售检票设备一些关键部件的性能诸如读写器的读写速度、硬币模块的硬币识别率、纸币模块的纸币识别率、单程票回收机构的回收速度、检票机的通行能力等的测试,需要投入巨大的人力和时间,因此可开发专用硬件检测工具及工装设备对设备的关键部件进行测试,从而验证其性能指标。
图2 仿真工具系统结构图
2.4 编制测试用例
测试用例是根据每一个检测需求,有针对性地编制的包括测试输入、执行条件、测试步骤以及预期结果等的方案。测试用例是测试的核心,它规范了每一项测试的方法,保证了测试的质量,无论谁来测试,参照测试用例都能进行。最初的测试用例可能考虑不周全,但随着测试的进行和软件版本的更新,测试用例将日趋完善,形成一个测试用例库。
2.5 建立检测管理流程
搭建测试环境、形成测试方法、开发测试工具和编制测试用例,对于AFC系统检测十分重要;但成功的检测还离不开对检测的组织与过程的管理,没有目标、没有组织、没有过程控制的检测是注定要失败的。AFC系统的检测不是一次简单的测试活动,它属于工程中的一个项目,因此,建立AFC系统检测管理流程是检测成功的重要保证。
检测过程一般分为确立检测需求、设计检测方案、制定检测计划、执行检测任务和形成检测结论(报告)等五个阶段。对每个阶段的任务、输入和输出都有明确的规定,以便对整个检测过程进行质量控制和配置管理。图3是检测过程的管理流程,它标示了各活动之间的信息流及检测实施过程中每个阶段所应产生的成果文件。
图3 检测过程管理流程
可以根据检测过程的上述各环节,开发一个检测管理系统,包括检测需求的建立、计划的制定、用例的选择、结果的整理、生成打印等,对检测过程进行全程跟踪管理。同时可将测试用例库管理、问题汇总、人员管理等一起纳入该系统,从而形成一个完善的、能满足AFC系统检测中心生产和管理需求的计算机应用系统。
3 结 语
作为独立于系统集成商、设备厂家的测试方,AFC系统检测中心要真正做好测试工作,需要其工作人员既熟悉AFC系统专业知识,又有扎实的测试技术功底,且两者融会贯通。系统技术规范和标准是检测的依据,测试用例和测试工具是检测的方法和手段,检测报告是检测的成果。在实施检测时应有组织、有计划、有步骤地进行,避免测试过程中的随意性:应根据不同的检测需求,设计检测方案,制定检测计划,执行检测任务,形成检测报告。这样,才能有效达到检测中心建立的目的:验证AFC系统质量,尽早发现潜在的各种错误和缺陷;同时通过分析错误产生的原因,发现设计或管理中存在的问题;进而不断规范AFC市场,促进公平竞争,推动AFC系统技术的可持续发展。
[1] 黄钟.自动售检票通用测试平台的构建[J].城市轨道交通研究,2006(9):35.
[2] 陈鹏辉.城市轨道交通自动售检票系统的现状与发展趋势[J].城市轨道交通研究,2009(5):10.
[3] Thales Software Systems.AFC测试平台与仿真器测试系统介绍[R].上海:T hales Software Sy stems(Shanghai),2006.
[4] 柳纯录.软件评测师教程[M].北京:清华大学出版社,2005.