劉錦峰,歐陽(yáng)敏
(卡斯柯信號(hào)有限公司 測(cè)試部,上海 200071)
城軌嵌入式軟件自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn)
劉錦峰,歐陽(yáng)敏
(卡斯柯信號(hào)有限公司 測(cè)試部,上海 200071)
為了提高城軌嵌入式軟件的測(cè)試效率,提出一種面向服務(wù)的城軌嵌入式軟件自動(dòng)化測(cè)試框架。指出城軌嵌入式軟件自動(dòng)化測(cè)試的難點(diǎn),給出相應(yīng)的自動(dòng)化測(cè)試策略;闡述自動(dòng)化測(cè)試框架的主要功能與架構(gòu),并給出一種基于面向服務(wù)的架構(gòu)(SOA,Service Oriented Architecture)的測(cè)試平臺(tái)實(shí)現(xiàn)及測(cè)試流程;通過(guò)該框架的使用實(shí)例和測(cè)試效果,表明該框架具備良好的通用性、擴(kuò)展性和實(shí)時(shí)性,適用于城軌嵌入式軟件的自動(dòng)化測(cè)試。
城軌嵌入式軟件;自動(dòng)化測(cè)試框架;面向的服務(wù)架構(gòu)
城市軌道交通系統(tǒng)的關(guān)鍵系統(tǒng)如聯(lián)鎖(CI,Computer based Interlocking)系統(tǒng),車載控制(CC,Carborne Controller,)系統(tǒng),軌旁區(qū)域控制器(ZC,Zone Controller),軌旁線路控制器(LC,Line Controller)均為安全苛求系統(tǒng)(Safety Critical System)。為了滿足安全苛求系統(tǒng)故障-安全的需要,高實(shí)時(shí)性,多任務(wù)的嵌入式系統(tǒng)成為首選[1]。為了提高其關(guān)鍵系統(tǒng)的嵌入式軟件測(cè)試效率,克服手工測(cè)試存在的困難,有效提高該領(lǐng)域的自動(dòng)化測(cè)試程度成為亟需解決的關(guān)鍵問(wèn)題。本文分析面向城軌軟件黑盒測(cè)試的自動(dòng)化測(cè)試難點(diǎn);闡述城軌嵌入式軟件的自動(dòng)化測(cè)試策略、自動(dòng)化測(cè)試框架設(shè)計(jì)思想和自動(dòng)化測(cè)試框架整體架構(gòu);提出基于面向服務(wù)的架構(gòu)(SOA,Service Oriented Architecture)的實(shí)現(xiàn)方法;介紹該框架在軌旁安全平臺(tái)系統(tǒng)測(cè)試中的應(yīng)用情況。
從被測(cè)對(duì)象的角度來(lái)看,城軌嵌入式系統(tǒng)在故障-安全、實(shí)時(shí)性、容錯(cuò)性上都有嚴(yán)苛的要求。對(duì)于此類軟件的測(cè)試,在測(cè)試場(chǎng)景構(gòu)造、測(cè)試激勵(lì)和測(cè)試結(jié)果捕獲上都存在一定的困難。其自動(dòng)化測(cè)試難點(diǎn)可具體概括為以下幾方面。
1.1 測(cè)試場(chǎng)景復(fù)雜
從仿真系統(tǒng)的角度看,實(shí)時(shí)嵌入式軟件仿真測(cè)試平臺(tái)實(shí)際上是一種面向?qū)崟r(shí)嵌入式軟件測(cè)試的半實(shí)物仿真系統(tǒng)。因此,在測(cè)試場(chǎng)景中需仿真大量的外部設(shè)備,并能通過(guò)測(cè)試腳本,精確控制這些仿真設(shè)備的行為,如信號(hào)機(jī)、道岔、信標(biāo)、仿真列車、仿真CI、仿真CC、仿真ZC,仿真LC、仿真列車自動(dòng)監(jiān)控(ATS,Automatic Train Supervision)系統(tǒng);另外,根據(jù)被測(cè)軟件和測(cè)試數(shù)據(jù)不同,測(cè)試場(chǎng)景需構(gòu)造以上仿真設(shè)備的子集,并采用合適的軌道線路數(shù)據(jù),仿真設(shè)備參數(shù),安全通信協(xié)議等。
1.2 測(cè)試激勵(lì)的實(shí)時(shí)性與時(shí)序性
當(dāng)采用黑盒測(cè)試方式(激勵(lì)-反饋機(jī)制)對(duì)城軌嵌入式軟件自動(dòng)化測(cè)試時(shí):(1)被測(cè)系統(tǒng)需要實(shí)時(shí)獲取和處理外部激勵(lì)數(shù)據(jù),測(cè)試平臺(tái)也需要實(shí)時(shí)獲取和分析被測(cè)對(duì)象的反饋數(shù)據(jù);(2)測(cè)試平臺(tái)需確保對(duì)于相同的測(cè)試用例,每一次進(jìn)行測(cè)試執(zhí)行的過(guò)程中,其產(chǎn)生的測(cè)試激勵(lì)數(shù)據(jù)在時(shí)序關(guān)系上是完全一致的。
1.3 測(cè)試結(jié)果處理困難
(1)需要在被測(cè)對(duì)象中合理地嵌入測(cè)試代理模塊捕獲被測(cè)對(duì)象的測(cè)試結(jié)果,包括狀態(tài)變量、校核字等;(2)測(cè)試平臺(tái)需在線或離線分析這些測(cè)試結(jié)果,給出最后的用例執(zhí)行報(bào)告。
自動(dòng)化測(cè)試是指,把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為計(jì)算機(jī)依據(jù)一定規(guī)則與設(shè)計(jì)自動(dòng)執(zhí)行測(cè)試行為的一種過(guò)程[2]。通過(guò)工具代替或輔助人工進(jìn)行測(cè)試執(zhí)行過(guò)程,目標(biāo)是通過(guò)較少的開(kāi)銷,使被測(cè)對(duì)象得到更充分的測(cè)試,提升產(chǎn)品質(zhì)量。在制定自動(dòng)化測(cè)試策略時(shí),需從自動(dòng)化測(cè)試投資回報(bào)率的角度,對(duì)自動(dòng)化測(cè)試需求分配合適的優(yōu)先級(jí)。因此,對(duì)于城軌軟件測(cè)試而言,自動(dòng)化測(cè)試主要用于軟件或系統(tǒng)的黑盒測(cè)試,并且產(chǎn)品生命周期較長(zhǎng),回歸測(cè)試較多,在如下場(chǎng)合尤其適合進(jìn)行自動(dòng)化測(cè)試。
2.1 適合進(jìn)行自動(dòng)化測(cè)試的場(chǎng)合
(1)安全平臺(tái)產(chǎn)品,包括安全基礎(chǔ)類庫(kù)、安全協(xié)議等,該類產(chǎn)品作為企業(yè)的基礎(chǔ)軟件產(chǎn)品,一般開(kāi)發(fā)周期長(zhǎng),回歸測(cè)試頻繁;
(2)項(xiàng)目數(shù)據(jù)測(cè)試,如列控中心報(bào)文數(shù)據(jù)測(cè)試,該類數(shù)據(jù)測(cè)試人工測(cè)試繁瑣重復(fù),而測(cè)試接口比較穩(wěn)定,適合采用自動(dòng)化工具進(jìn)行測(cè)試;
(3)產(chǎn)品驗(yàn)收測(cè)試,如基于無(wú)線通信的列車自動(dòng)控制(CBTC,Communication Based Train Control)系統(tǒng)的驗(yàn)收測(cè)試,可選取其測(cè)試的關(guān)鍵場(chǎng)景用例,進(jìn)行自動(dòng)化測(cè)試,保證產(chǎn)品上線前的測(cè)試效率。
2.2 不適合進(jìn)行自動(dòng)化測(cè)試的場(chǎng)合
(1)主觀性強(qiáng)的測(cè)試,如車站操作界面的顯示,聲音提示和告警等;
(2)開(kāi)發(fā)周期短的項(xiàng)目,如產(chǎn)品原型開(kāi)發(fā),被測(cè)對(duì)象不穩(wěn)定,測(cè)試接口變更頻繁;由于開(kāi)發(fā)周期較短,積累的自動(dòng)化測(cè)試腳本得不到充分的復(fù)用。
3.1 自動(dòng)化測(cè)試框架架構(gòu)模型
城軌嵌入式軟件自動(dòng)化測(cè)試框架應(yīng)該解決測(cè)試過(guò)程中的以下幾方面的問(wèn)題:(1)自動(dòng)化測(cè)試框架應(yīng)能提供基于業(yè)務(wù)描述的腳本,使得測(cè)試人員在編寫(xiě)測(cè)試用例時(shí),專注業(yè)務(wù)需求而不必關(guān)心具體的測(cè)試驅(qū)動(dòng)細(xì)節(jié);(2)自動(dòng)化測(cè)試框架提供了測(cè)試用例管理功能,使得測(cè)試用例在整個(gè)測(cè)試生命周期中可以復(fù)用;(3)自動(dòng)化測(cè)試框架提供了測(cè)試結(jié)果分析功能,在復(fù)雜場(chǎng)景的測(cè)試用例中,該功能可以顯著提高測(cè)試效率。
根據(jù)城軌嵌入式軟件的自動(dòng)化測(cè)試策略,該領(lǐng)域的自動(dòng)化測(cè)試框架符合以下設(shè)計(jì)原則:
(1)測(cè)試框架的集成應(yīng)基于統(tǒng)一開(kāi)放的標(biāo)準(zhǔn),具有良好的通用性、松耦合性、開(kāi)放性和可擴(kuò)展性,確??蚣苤凶幽K的實(shí)現(xiàn)不局限與特定的開(kāi)發(fā)語(yǔ)言和技術(shù),并且當(dāng)子模塊進(jìn)行修改或重構(gòu)時(shí),整個(gè)框架保持穩(wěn)定;
(2)測(cè)試數(shù)據(jù)的管理基于統(tǒng)一的數(shù)據(jù)格式,子模塊能透明地提交和獲取測(cè)試數(shù)據(jù)進(jìn)行處理;
(3)實(shí)時(shí)性,為了確保對(duì)被測(cè)系統(tǒng)激勵(lì)的實(shí)時(shí)性,測(cè)試框架在架構(gòu)上應(yīng)確保消息在平臺(tái)內(nèi)部能實(shí)時(shí)的處理和傳遞;
(4)大容量和高性能,為了滿足城軌軟件大容量數(shù)據(jù)測(cè)試的要求,測(cè)試框架應(yīng)采取分布式的系統(tǒng)架構(gòu),在提高仿真設(shè)備數(shù)量時(shí),不影響測(cè)試平臺(tái)性能。
面向分布式控制系統(tǒng)的實(shí)時(shí)SOA架構(gòu)[3],不僅具有SOA的統(tǒng)一接口標(biāo)準(zhǔn)、優(yōu)秀的開(kāi)放性和松耦合性,也具備分布式控制系統(tǒng)的實(shí)時(shí)性。因此,該架構(gòu)是本文的自動(dòng)化化測(cè)試框架較為理想的架構(gòu)模型?;谖墨I(xiàn)[3]的面向分布式控制系統(tǒng)的實(shí)時(shí)SOA架構(gòu),自動(dòng)化測(cè)試框架位于該架構(gòu)的企業(yè)應(yīng)用服務(wù)層,并主要分為3個(gè)子服務(wù)層:測(cè)試管理服務(wù)層、測(cè)試驅(qū)動(dòng)服務(wù)層和接口協(xié)議適配服務(wù)層,其架構(gòu)模型如圖1所示。
圖1 自動(dòng)化測(cè)試框架架構(gòu)模型
測(cè)試管理層的核心功能是:為測(cè)試人員提供測(cè)試用例的全生命周期管理,并輔助測(cè)試人員編寫(xiě)測(cè)試腳本、測(cè)試結(jié)果的記錄與分析和測(cè)試報(bào)告生成;測(cè)試驅(qū)動(dòng)層的核心功能是:根據(jù)用例腳本和測(cè)試場(chǎng)景配置文件,構(gòu)造測(cè)試場(chǎng)景,并調(diào)度仿真設(shè)備的運(yùn)行,另外在該層也提供了安全協(xié)議和數(shù)據(jù)庫(kù)訪問(wèn)功能;接口適配層的核心功能是:提供測(cè)試平臺(tái)與被測(cè)對(duì)象之間的各種通信接口。
3.2 自動(dòng)化測(cè)試框架邏輯架構(gòu)
基于上述的架構(gòu)模型,本文實(shí)現(xiàn)的自動(dòng)化測(cè)試框架邏輯架構(gòu)如圖2所示。服務(wù)和消息管理節(jié)點(diǎn)是整個(gè)測(cè)試框架的主節(jié)點(diǎn),提供了基于實(shí)時(shí)消息總線的節(jié)點(diǎn)管理、服務(wù)注冊(cè)、服務(wù)代理、服務(wù)調(diào)度、服務(wù)執(zhí)行等一系列的調(diào)度和管理服務(wù);測(cè)試管理服務(wù)層作為一個(gè)從節(jié)點(diǎn),通常在一個(gè)服務(wù)器上,另外,測(cè)試人員可通過(guò)該層提供的Web服務(wù)來(lái)管理和配置整個(gè)測(cè)試框架,以及測(cè)試用例的管理、執(zhí)行和分析;測(cè)試驅(qū)動(dòng)服務(wù)層可根據(jù)測(cè)試場(chǎng)景的容量進(jìn)行靈活的部署,通常測(cè)試環(huán)境創(chuàng)建、仿真器調(diào)度和數(shù)據(jù)庫(kù)驅(qū)動(dòng)作為一個(gè)從節(jié)點(diǎn)部署在一個(gè)服務(wù)器上,而安全協(xié)議節(jié)點(diǎn)、仿真設(shè)備節(jié)點(diǎn)作為獨(dú)立的從節(jié)點(diǎn)進(jìn)行動(dòng)態(tài)部署,便于測(cè)試框架根據(jù)測(cè)試場(chǎng)景進(jìn)行靈活的變更和擴(kuò)展;接口協(xié)議適配服務(wù)層也是根據(jù)測(cè)試場(chǎng)景進(jìn)行動(dòng)態(tài)的部署,適應(yīng)不同的測(cè)試需求。
3.3 自動(dòng)化測(cè)試框架核心工作流
自動(dòng)化測(cè)試框架的核心工作流是將測(cè)試用例轉(zhuǎn)換為測(cè)試腳本,并根據(jù)測(cè)試腳本構(gòu)造測(cè)試場(chǎng)景,以及場(chǎng)景中的仿真設(shè)備,同時(shí)按照腳本時(shí)序或外部事件對(duì)仿真設(shè)備進(jìn)行調(diào)度,得到被測(cè)對(duì)象期望的激勵(lì)輸入,測(cè)試框架捕獲被測(cè)對(duì)象的輸出并記錄測(cè)試日志,從而構(gòu)成一個(gè)閉環(huán)的測(cè)試系統(tǒng)。自動(dòng)化測(cè)試框架的核心工作流如圖3所示。
圖2 自動(dòng)化測(cè)試框架邏輯架構(gòu)
軌旁安全平臺(tái)(TSP,Trackside Safety Platform)作為一個(gè)通用的安全平臺(tái),可以用于ZC、LC、臨時(shí)限速服務(wù)器(TSRS,Temporary Speed Restriction System)、無(wú)線閉塞中心(RBC,Radio Block Center)等眾多的地鐵及鐵路系統(tǒng)中的安全軌旁設(shè)備,保障上述安全設(shè)備的應(yīng)用軟件在此TSP上運(yùn)行時(shí),整個(gè)系統(tǒng)的安全性能達(dá)到安全完整性等級(jí)4級(jí)(SIL4,Safety Integrity Level 4) 的要求?;谧詣?dòng)化測(cè)試框架的TSP自動(dòng)化測(cè)試平臺(tái),包括各種安全協(xié)議通信節(jié)點(diǎn)、CC仿真節(jié)點(diǎn)、ATS仿真節(jié)點(diǎn)、LC仿真節(jié)點(diǎn)、ZC仿真節(jié)點(diǎn)、CI仿真節(jié)點(diǎn)。實(shí)施自動(dòng)化測(cè)試后,TSP系統(tǒng)測(cè)試的效率提升情況如圖4所示。從該圖中可以看出,在自動(dòng)化測(cè)試初期由于需要進(jìn)行測(cè)試腳本的編寫(xiě)和調(diào)試,故自動(dòng)化測(cè)試的人工成本要高于手工測(cè)試,隨著自動(dòng)化測(cè)試的逐步深入,在進(jìn)行回歸測(cè)試時(shí),自動(dòng)化測(cè)試的成本優(yōu)勢(shì)得到了體現(xiàn)。
圖3 自動(dòng)化測(cè)試框架核心工作流
圖4 軌旁安全平臺(tái)的手工測(cè)試與自動(dòng)化測(cè)試對(duì)比
實(shí)踐表明,對(duì)于城軌嵌入式軟件測(cè)試而言,采用基于腳本的自動(dòng)化測(cè)試方式并結(jié)合測(cè)試用例的全生命周期管理,可以降低軟件的測(cè)試成本,縮短軟件的測(cè)試時(shí)間,特別是進(jìn)行回歸測(cè)試時(shí)效率提升尤為明顯。本文設(shè)計(jì)的自動(dòng)化測(cè)試框架具有良好的實(shí)時(shí)性、通用性和可擴(kuò)展性,目前該自動(dòng)化測(cè)試框架不僅成功應(yīng)用于TSP產(chǎn)品測(cè)試,并在ZC、LC、CC等產(chǎn)品的自動(dòng)化測(cè)試中得到了推廣。
[1]董高云,周庭梁.安全苛求系統(tǒng)下的嵌入式C語(yǔ)言調(diào)試技巧[J].鐵路計(jì)算機(jī)應(yīng)用,2014,23(6).
[2]董娜娜,詹惠琴.軟件測(cè)試自動(dòng)化技術(shù)應(yīng)用研究[J].電子測(cè)試,2010(11):47-50.
[3]杜立新,劉士軍.面向分布式控制系統(tǒng)的實(shí)時(shí)SOA研究與應(yīng)用[J].計(jì)算機(jī)科學(xué),2012,39(1).
責(zé)任編輯 王 浩
Design and implementation of automatic test framework for Urban Transit embedded software
LIU Jinfeng, OUYANG Min
( Test Department, CASCO Signal Company, Shanghai 200071, China )
In order to improve testing eff i ciency of Urban Transit embedded software, this paper proposed a automatic test framework for Urban Transit embedded software based on SOA(Service Oriented Architecture), pointed out the testing diff i culty of Urban Transit embedded software, and given the corresponding testing strategy, expatiated the main function and architecture of automatic test framework.The implementation of testing framework based on SOA and the testing process were given. The examples and test results showed that the automatic test framework was with well universality, extensibility and real-time, was suitable for automatic test of Urban Transit embedded software.
Urban Transit embedded software; test automatic framework; SOA
U231.6∶TP39
A
1005-8451(2015)07-0049-04
2014-11-19
劉錦峰,工程師;歐陽(yáng)敏,工程師。