蔡佳妮
(上海申通軌道交通研究咨詢有限公司,201103,上海∥工程師)
近年來,自動售檢票(AFC)系統的檢測越來越受到軌道交通業界的高度重視。每當新線即將投入運營,工程建設方、系統供貨商和運營單位等都會緊張地對即將投運的AFC系統進行一遍又一遍的測試,以驗證其可靠性、準確性、安全性等各項指標。但是,對AFC系統的檢測目前還未形成一個可以執行的國家標準,各地也沒有專門的檢測中心及測試平臺,因此對每個工程AFC系統的檢測,往往是由負責該線建設的廠家、集成商或工程監理在現場進行“個性化”的測試,缺乏標準性和公正性。因此,建設AFC系統檢測中心已成為當前軌道交通快速發展中的一個當務之急。
上海于 2005年率先進行了《自動售檢票(AFC)系統檢測中心通用測試平臺》的建設研究,并完成了AFC系統通用測試平臺測試環境的搭建。該平臺于2007年在上海軌道交通8號線AFC工程中投入試用,隨后推廣至軌道交通6號線和9號線工程。在2008年下半年,又開始了平臺的二期建設研究,在一期建設的成果上進行完善和提高。經過2年多的運作,檢測中心已初具規模,通過不斷完善檢測能力和檢測覆蓋面,其作用也初見成效。
筆者通過對檢測中心的建設研究及對數條新線檢測經驗的總結,基于檢測技術的理論分析與AFC系統的專業基礎,提出關于軌道交通AFC系統檢測中心的檢測理念與實施策略。
檢測即是通過有效的方法來驗證產品是否達到標準和要求。目前市場上比較通用的是軟件產品的檢測。但軌道交通AFC系統是一個從票卡到終端設備再由車站及中央計算機處理的復雜系統,不僅涉及到軟件應用系統,還涉及通信接口、硬件機械、電氣特性等方面。因此,對于該系統的檢測,測什么和如何測,是首先要明確的。
檢測需求通俗的講就是測什么。AFC系統檢測,除設備的物理特性、電氣性能檢測外,可以將檢測需求分為表1所示的幾大類。諸如檢票機扣款情況、黑名單的處理、聯乘優惠等,可以歸類在檢票機設備的功能測試中;讀卡器的讀寫速度、讀寫距離等,可以反映在設備關鍵部件的性能測試內;而車站計算機系統與設備之間運行指令下發、交易數據上傳等,可以納入接口測試需求中。系統聯調測試可以包括金融安全性測試、乘客通過能力測試(大客流量)和演練緊急狀態測試等。
表1基本覆蓋了軌道交通AFC系統的檢測需求,當然每個檢測內容大類中還要根據實際要求進行檢測項目的細化。

表1 AFC系統檢測需求匯總
檢測依據是進行檢測的必備條件,它通常是產品的技術規格書、用戶需求書等。對于AFC這類專用系統,在滿足本系統通用技術標準或規范的基礎上,需符合用戶要求,即響應招標合同文件里的技術要求條款。
目前,針對軌道交通AFC系統,國家已出臺了GB 50381-2006《城市軌道交通自動售檢票系統工程質量驗收規范》和GB/T 20907-2007《城市軌道交通自動售檢票系統技術條件》。上海對整個路網內采用的AFC通信接口標準和協議進行了明確,形成了DGJ 08-1101-2005《城市軌道交通自動售檢票系統通用技術規范》,以及單程票和城市公共交通卡通用技術規范等相關標準。這些均作為檢測依據。同時,上海作為率先實現自動售檢票的城市,在系統界面、設備功能要求、性能指標等方面已經形成了標準化文件。這不僅是產品的衡量標準,更是檢測工程設計的有效依據。
檢測方法有傳統的手工測試和自動化測試。手工測試即檢測人員根據檢測用例,與檢測對象進行“人機對話”,然后將測試結果和預期結果相比較并記錄檢測結果。自動化測試就是通過測試工具,按照檢測工程師的預定計劃對產品進行自動測試。
對于AFC系統這樣一個包括軟硬件協同工作的特殊系統,其所有數據的來源都是由前端或后端人員的行為動作所產生。分析研究表明,在當前,AFC系統要實現自動化測試,其全自動化測試工具的開發比系統本身的開發實現還要艱巨。比如,面向乘客的前端行為,需要通過人工參與,完成購票、檢票等動作的執行;后端票箱的更換、錢箱的拆裝等,必須是人工操作行為;有關的測試設計、測試案例以及一些關鍵的測試任務執行也需有人工參與。當然,對于一些如AFC各層接口標準驗證測試、中央車站計算機并發用戶測試、大數據量測試等,可以通過開發專業測試工具,輔助測試人員進行測試。
此外,每種測試工具都有它的適用范圍和可用對象,針對不同的測試目的和測試對象,應選擇合適的測試工具。在很多情況下,需要利用多種工具才能完成一個測試工作。
因此,檢測方法的核心是根據檢測需求,對照檢測依據形成測試用例,即包括測試項名稱、測試步驟、預期結果等在內的測試用例集。測試工具是輔助測試人員完成這些測試用例的。
測試環境既指物理上的場地測試環境,又指待測AFC系統或設備的運行環境,能完全模擬從清分到中央,再到車站及終端設備的線路運行環境。測試時將待測設備接入到該測試環境,配置到所在層,進行測試。
上海AFC檢測中心已組建的通用測試平臺環境包括2條線路中央計算機系統、4個車站計算機系統和部分車站設備,安裝與實際運營線一致的AFC系統設備,測試工作站安裝仿真系統及其它測試工具。在測試任務中對實際設備和仿真系統進行配置,一起構成對被測設備的測試環境。整個平臺運行環境架構如圖1所示。
測試方法是指對系統或設備的基本測試方法。例如:設備的功能測試,測試員依據測試用例執行每個測試;設備的接口測試,測試員利用仿真工具模擬其上下層,結合測試用例進行測試;系統的性能測試,測試員使用壓力測試工具模擬并發用戶,對系統進行測試,而基本功能測試仍需依賴編制好的測試用例手工進行;讀卡器這一關鍵部件的測試,測試員使用專用的讀卡器測試儀器,測試其讀寫速度及時間等性能。因此,測試方法是根據不同的測試內容測試項而制定的不同的測試方案。對于測試平臺來說,要滿足所有的測試需求,必須形成一套完整的測試方法。針對AFC系統各層次設備和系統的測試需求,基本測試方法描述如下。

圖1 測試平臺運行環境架構圖
2.2.1 清分中心系統測試
測試清分中心系統功能時,清分中心安裝系統文件,中央計算機系統安裝仿真程序。該程序按照清分中心系統與中央計算機系統的接口功能實現,處理從清分中心發送的運行參數文件、黑名單文件、各個運行線路的運營模式數據并顯示;中央計算機仿真程序向清分中心系統發送設備原始交易文件,驗證清分中心系統是否能正確處理中央計算機仿真程序按照一定的頻率發送的設備原始交易文件,驗證清分中心系統的處理性能,以及中央計算機接收清算文件,處理并顯示驗證該文件是否符合接口定義。
2.2.2 線路中央計算機系統測試
在對中央計算機系統的功能進行驗證時,中央計算機安裝AFC系統軟件,清分中心層和車站系統層安裝仿真程序,來驗證中央計算機系統功能的正確性。
根據測試需求,清分中心仿真程序下發系統運行參數文件、黑名單文件、各個運行線路的運營模式數據等至中央計算機,中央計算機應能正確處理該數據文件;中央計算機應能接收車站仿真程序上傳的交易文件并進行正確處理。驗證中央計算機處理性能時,設置一定數量的車站計算機仿真程序,按照一定的頻率發送交易文件,對中央計算機進行壓力測試。
2.2.3 車站計算機系統測試
在對車站計算機系統的功能進行驗證時,車站計算機安裝AFC系統軟件,線路中央層和車站設備層安裝仿真程序,來驗證車站計算機系統功能的正確性。
根據測試需求,線路中央仿真程序下發線路運行參數文件、黑名單文件、運營模式數據等至車站計算機,車站計算機應能正確處理這些數據文件;同時設備仿真程序上傳的設備狀態信息應能被車站計算機處理,應能接收和轉發設備的交易數據。驗證車站計算機處理性能時,設置一定數量的設備仿真程序,按照一定的頻率發送底層交易數據,對車站計算機進行壓力測試。
2.2.4 車站設備測試
測試車站設備時,車站計算機仿真程序向AFC終端設備發送系統運行參數文件、黑名單文件等,設備能接受這些參數文件并正確處理;車站計算機仿真程序向設備發控制命令,終端設備應有正確的響應;車站計算機仿真程序接收設備發送來的狀態信息并解析;車站計算機仿真程序接收設備發送來的交易文件,并處理這些文件來驗證設備文件符合需求定義。
2.2.5 票卡測試
測試票卡功能時,使用真實的AFC設備,通過執行設備相關的測試過程,一方面驗證票卡的讀寫流程是否正確,讀寫性能、讀寫距離是否符合要求;另一方面驗證設備讀寫器功能、性能與需求是否相符合。
對于在AFC系統各種類型的測試過程中手工無法完成或者難以實現的一些測試工作,可以開發相應的測試工具或輔助測試工具。
(1)AFC設備、車站計算機系統、中央計算機系統、清分系統的仿真工具。仿真工具是按照接口標準要求開發的標準化工具,在AFC系統測試中,主要用于進行AFC系統各層的接口測試。仿真工具的開發原理是基于AFC系統各層次的通信接口協議,由仿真工具通過前臺模擬生成各層次系統或設備的交易數據、運行狀態或命令請求報文,與待測系統(或設備)進行通信,驗證其參數管理、運營管理和交易數據三大業務信息流是否能夠正常接收及處理。圖2即為采用J2EE三層架構開發的仿真工具系統結構圖。
(2)系統性能測試工具。通過模擬大量用戶并發執行關鍵業務完成對應用程序的測試,在實施并發負載過程中通過實時性能監測來確認和查找問題。系統性能測試工具可與仿真工具進行集成,在測試時配置多個仿真終端,循環發送交易報文,對被測系統進行并發測試及壓力測試,從而驗證系統性能。
(3)票卡讀寫器仿真工具。在實際設備使用時都會涉及到讀寫器,無論是自動售票機、人工售票機,還是自動檢票機,讀寫器都是必不可少的組成部分。但頻繁的設備切換給測試帶來了很多不必要的工作量,為此在測試中引入讀寫器仿真工具。仿真工具能對測試用卡進行各種操作,能夠靈活模擬AFC各類終端設備的讀寫器的讀寫操作,同時大大簡化了測試流程。測試過程中無需其余設備干預,只需一臺仿真器即可完成整個測試過程。另外,引入票卡讀寫器輔助工具,還可對讀寫器和票卡進行一系列的測試。
(4)專用硬件測試工具。自動售檢票設備一些關鍵部件的性能諸如讀寫器的讀寫速度、硬幣模塊的硬幣識別率、紙幣模塊的紙幣識別率、單程票回收機構的回收速度、檢票機的通行能力等的測試,需要投入巨大的人力和時間,因此可開發專用硬件檢測工具及工裝設備對設備的關鍵部件進行測試,從而驗證其性能指標。

圖2 仿真工具系統結構圖
測試用例是根據每一個檢測需求,有針對性地編制的包括測試輸入、執行條件、測試步驟以及預期結果等的方案。測試用例是測試的核心,它規范了每一項測試的方法,保證了測試的質量,無論誰來測試,參照測試用例都能進行。最初的測試用例可能考慮不周全,但隨著測試的進行和軟件版本的更新,測試用例將日趨完善,形成一個測試用例庫。
搭建測試環境、形成測試方法、開發測試工具和編制測試用例,對于AFC系統檢測十分重要;但成功的檢測還離不開對檢測的組織與過程的管理,沒有目標、沒有組織、沒有過程控制的檢測是注定要失敗的。AFC系統的檢測不是一次簡單的測試活動,它屬于工程中的一個項目,因此,建立AFC系統檢測管理流程是檢測成功的重要保證。
檢測過程一般分為確立檢測需求、設計檢測方案、制定檢測計劃、執行檢測任務和形成檢測結論(報告)等五個階段。對每個階段的任務、輸入和輸出都有明確的規定,以便對整個檢測過程進行質量控制和配置管理。圖3是檢測過程的管理流程,它標示了各活動之間的信息流及檢測實施過程中每個階段所應產生的成果文件。

圖3 檢測過程管理流程
可以根據檢測過程的上述各環節,開發一個檢測管理系統,包括檢測需求的建立、計劃的制定、用例的選擇、結果的整理、生成打印等,對檢測過程進行全程跟蹤管理。同時可將測試用例庫管理、問題匯總、人員管理等一起納入該系統,從而形成一個完善的、能滿足AFC系統檢測中心生產和管理需求的計算機應用系統。
作為獨立于系統集成商、設備廠家的測試方,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.