本發(fā)明涉及一種城軌軟件測試平臺,尤其是涉及一種適用于城軌軟件自動(dòng)化測試的測試腳本設(shè)計(jì)方法。
背景技術(shù):
城軌軟件測試平臺主要用于城市軌道交通安全產(chǎn)品的軟件測試、子系統(tǒng)測試和系統(tǒng)測試,包括iTC(intelligent Train Control)產(chǎn)品測試、ATS(Automatic Traffic Supervision)產(chǎn)品測試、聯(lián)鎖(Computer-based Interlocking system,CI)產(chǎn)品測試、軌旁安全平臺(Trackside Safety Platform,TSP)測試、通用模塊(General Module,GM)安全協(xié)議測試。
現(xiàn)有測試腳本普遍存在描述復(fù)雜難懂、實(shí)時(shí)性差、無法擴(kuò)展等問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種適用于城軌軟件自動(dòng)化測試的測試腳本設(shè)計(jì)方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
一種適用于城軌軟件自動(dòng)化測試的測試腳本設(shè)計(jì)方法,包括以下步驟:
用于配置各種測試接口的測試環(huán)境描述腳本設(shè)計(jì);
測試激勵(lì)數(shù)據(jù)腳本設(shè)計(jì);
測試結(jié)果的分析腳本設(shè)計(jì);
腳本的時(shí)序性和實(shí)時(shí)性測試。
所述的測試環(huán)境描述腳本設(shè)計(jì)具體為:
步驟S1、描述本地網(wǎng)絡(luò)信息,關(guān)鍵字段包括編號、IP地址和端口號;
步驟S2、描述遠(yuǎn)端網(wǎng)絡(luò)信息,關(guān)鍵字段包括編號、IP地址和端口號;
步驟S3、描述網(wǎng)絡(luò)通道信息,關(guān)鍵字段包括通道編號、本地網(wǎng)絡(luò)編號和遠(yuǎn)端網(wǎng)絡(luò)編號;
步驟S4、描述本地網(wǎng)絡(luò)監(jiān)聽信息,關(guān)鍵字段包括編號、對應(yīng)的本地網(wǎng)絡(luò)編號和消息回調(diào)處理方法;
步驟S5、描述串口通道信息,關(guān)鍵字段包括編號、本段串口號、遠(yuǎn)端串口號和消息回調(diào)處理方法;
步驟S6、描述IO端口信息,關(guān)鍵字段包括編號、IO端口編號和消息回調(diào)處理方法;
步驟S7、描述仿真設(shè)備信息,關(guān)鍵字段為對應(yīng)仿真設(shè)備具有的功能組件。
所述的步驟S7具體為:
步驟S71、在仿真設(shè)備信息描述腳本中,依次添加具有的功能組件,關(guān)鍵字段包括功能組件名稱和功能組件對應(yīng)的配置文件;
步驟S72、若該仿真設(shè)備添加了消息組件,則需要在組件配置文件中描述對應(yīng)的消息格式,關(guān)鍵字段包括消息名稱和消息格式描述;
步驟S73、若該仿真設(shè)備添加了變量控制組件,則需要在組件配置文件中描述對應(yīng)的變量,關(guān)鍵字段包括消息名稱和變量類型。
所述的測試激勵(lì)數(shù)據(jù)腳本設(shè)計(jì)具體為:
步驟S8、描述仿真設(shè)備輸出的數(shù)據(jù)信息,關(guān)鍵字段包括周期號和變量值;仿真設(shè)備將網(wǎng)絡(luò)消息、串口消息和IO狀態(tài)對被測對象進(jìn)行激勵(lì)。
所述的測試結(jié)果的分析腳本設(shè)計(jì)具體為:
步驟S9、描述數(shù)據(jù)源,關(guān)鍵字段包括數(shù)據(jù)源的類型和讀取方式;
步驟S10、描述數(shù)據(jù)的格式,關(guān)鍵字段包括名稱、數(shù)據(jù)格式和數(shù)據(jù)大?。?/p>
步驟S11、描述分析規(guī)則,采取“@A:B@”去定義,其中2個(gè)@是標(biāo)識符,標(biāo)明這之間的變量是需要通過診斷數(shù)據(jù)進(jìn)行獲取;A是數(shù)據(jù)源,標(biāo)識數(shù)據(jù)是從數(shù)據(jù)源A中獲取的;B是該數(shù)據(jù)源中的對應(yīng)格式中的字段名;
通過這種描述從測試數(shù)據(jù)記錄中獲取該數(shù)據(jù)的值,進(jìn)行相關(guān)規(guī)則的檢查和分析。
所述的腳本的時(shí)序性和實(shí)時(shí)性測試具體為:
步驟S12、在測試平臺用同源時(shí)鐘的兩塊實(shí)時(shí)嵌入式系統(tǒng)板,標(biāo)記為A和B;
步驟S13、測試平臺初始啟動(dòng)后,A每隔50ms向所有的仿真設(shè)備廣播UDP時(shí)鐘同步命令,時(shí)鐘同步命令中包含了時(shí)鐘源地址和時(shí)間戳,時(shí)間戳為從1開始累加的整數(shù);
步驟S14、B收到第一個(gè)來自A的時(shí)鐘同步命令后,開始每個(gè)100ms向所有的仿真設(shè)備廣播UDP時(shí)鐘命令,時(shí)鐘同步命令中包含了時(shí)鐘源地址和時(shí)間戳,時(shí)間戳為從1開始累加的整數(shù);
步驟S15、仿真設(shè)備收到時(shí)鐘消息后,進(jìn)行時(shí)鐘校驗(yàn),若校驗(yàn)成功則更新本仿真設(shè)備的周期值;若校驗(yàn)不成功,則發(fā)送錯(cuò)誤消息,停止本次用例的執(zhí)行;
步驟S16、仿真設(shè)備成功更新周期值后,根據(jù)當(dāng)前周期值,執(zhí)行本周期需執(zhí)行的腳本內(nèi)容。
所述的步驟S15中仿真設(shè)備使用的時(shí)鐘校驗(yàn)算法如下:
步驟S151、初始化收到A的時(shí)鐘命令計(jì)數(shù)ta=0,初始化收到B的時(shí)鐘命令計(jì)數(shù)tb=0;
步驟S152、開啟網(wǎng)絡(luò)消息監(jiān)聽任務(wù),并綁定回調(diào)函數(shù)fa和fb,分別處理來自A和B的時(shí)鐘命令;
步驟S153、fa的處理為,校驗(yàn)消息中的源地址,若源地址為A,則設(shè)置ta為時(shí)間戳的值;
步驟S154、fb的處理為,校驗(yàn)消息中的源地址,若源地址為B,則設(shè)置tb為時(shí)間戳的值,且判斷條件tb=2ta+1or tb=2ta-1,若條件滿足則,周期校驗(yàn)成功,若不滿足則周期校驗(yàn)失敗。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1、易于實(shí)現(xiàn),采取了領(lǐng)域語言的描述方式,測試人員可以從業(yè)務(wù)的角度去描述測試環(huán)境,測試激勵(lì)和結(jié)果分析;
2、時(shí)序性和實(shí)時(shí)性好,測試腳本可以分布式的在每個(gè)仿真設(shè)備上運(yùn)行,且測試平臺能保證所有仿真設(shè)備的時(shí)序性和實(shí)時(shí)性;
3、結(jié)果分析腳本可以采取偽代碼的方式編寫,易于擴(kuò)展;
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
一種測試環(huán)境描述腳本,可以配置各種測試接口,包括網(wǎng)絡(luò),串口,IO接口,以及仿真設(shè)備。測試環(huán)境腳本包括:
步驟S1、描述本地網(wǎng)絡(luò)信息,關(guān)鍵字段為,編號,IP地址,端口號;
步驟S2、描述遠(yuǎn)端網(wǎng)絡(luò)信息,關(guān)鍵字段為,編號,IP地址,端口號;
步驟S3、描述網(wǎng)絡(luò)通道信息,關(guān)鍵字段為,通道編號,本地網(wǎng)絡(luò)編號,遠(yuǎn)端網(wǎng)絡(luò)編號;
步驟S4、描述本地網(wǎng)絡(luò)監(jiān)聽信息,關(guān)鍵字段為,編號,對應(yīng)的本地網(wǎng)絡(luò)編號,消息回調(diào)處理方法;
步驟S5、描述串口通道信息,關(guān)鍵字段為,編號,本段串口號,遠(yuǎn)端串口號,消息回調(diào)處理方法;
步驟S6、描述IO端口信息,關(guān)鍵字段為,編號,IO端口編號,消息回調(diào)處理方法;
步驟S7、描述仿真設(shè)備信息,關(guān)鍵字段為該仿真設(shè)備具有的功能組件,及該仿真設(shè)備為一些功能組件的集合;
所述的步驟S7具體為:
步驟S71、在仿真設(shè)備信息描述腳本中,依次添加具有的功能組件,關(guān)鍵字段為功能組件名稱,功能組件對應(yīng)的配置文件;
步驟S72、若該仿真設(shè)備添加了消息組件,則需要在組件配置文件中描述對應(yīng)的消息格式,關(guān)鍵字段為,消息名稱,消息格式描述;
步驟S73、若該仿真設(shè)備添加了變量控制組件,則需要在組件配置文件中描述對應(yīng)的變量,關(guān)鍵字段為,消息名稱,變量類型;
測試激勵(lì)數(shù)據(jù)腳本包括:
步驟S8、描述仿真設(shè)備輸出的數(shù)據(jù)信息,關(guān)鍵字段為周期號,變量值;仿真設(shè)備將該信息網(wǎng)絡(luò)消息,串口消息和IO狀態(tài)對被測對象進(jìn)行激勵(lì);
測試結(jié)果的分析腳本包括:
步驟S9、描述數(shù)據(jù)源,關(guān)鍵字段為,數(shù)據(jù)源的類型和讀取方式,網(wǎng)絡(luò)消息或者為本地?cái)?shù)據(jù);
步驟S10、描述數(shù)據(jù)的格式,關(guān)鍵字段為,名稱,數(shù)據(jù)格式,數(shù)據(jù)大??;
步驟S11、描述分析規(guī)則,采取“@A:B@”去定義,其中2個(gè)@是標(biāo)識符,標(biāo)明這之間的變量是需要通過診斷數(shù)據(jù)進(jìn)行獲??;A是數(shù)據(jù)源,標(biāo)識數(shù)據(jù)是從數(shù)據(jù)源A中獲取的;B是該數(shù)據(jù)源中的對應(yīng)格式中的字段名。通過這種描述可以從測試數(shù)據(jù)記錄中獲取該數(shù)據(jù)的值,進(jìn)行相關(guān)規(guī)則的檢查和分析;
所述的腳本的時(shí)序性和實(shí)時(shí)性測試具體為:
步驟S12、在測試平臺用同源時(shí)鐘的兩塊實(shí)時(shí)嵌入式系統(tǒng)板,標(biāo)記為A和B;
步驟S13、測試平臺初始啟動(dòng)后,A每隔50ms向所有的仿真設(shè)備廣播UDP時(shí)鐘同步命令,時(shí)鐘同步命令中包含了時(shí)鐘源地址和時(shí)間戳,時(shí)間戳為從1開始累加的整數(shù);
步驟S14、B收到第一個(gè)來自A的時(shí)鐘同步命令后,開始每個(gè)100ms向所有的仿真設(shè)備廣播UDP時(shí)鐘命令,時(shí)鐘同步命令中包含了時(shí)鐘源地址和時(shí)間戳,時(shí)間戳為從1開始累加的整數(shù);
步驟S15、仿真設(shè)備收到時(shí)鐘消息后,進(jìn)行時(shí)鐘校驗(yàn),若校驗(yàn)成功則更新本仿真設(shè)備的周期值;若校驗(yàn)不成功,則發(fā)送錯(cuò)誤消息,停止本次用例的執(zhí)行;
步驟S16、仿真設(shè)備成功更新周期值后,根據(jù)當(dāng)前周期值,執(zhí)行本周期需執(zhí)行的腳本內(nèi)容。
所述的步驟S15中仿真設(shè)備使用的時(shí)鐘校驗(yàn)算法如下:
步驟S151、初始化收到A的時(shí)鐘命令計(jì)數(shù)ta=0,初始化收到B的時(shí)鐘命令計(jì)數(shù)tb=0;
步驟S152、開啟網(wǎng)絡(luò)消息監(jiān)聽任務(wù),并綁定回調(diào)函數(shù)fa和fb,分別處理來自A和B的時(shí)鐘命令;
步驟S153、fa的處理為,校驗(yàn)消息中的源地址,若源地址為A,則設(shè)置ta為時(shí)間戳的值;
步驟S154、fb的處理為,校驗(yàn)消息中的源地址,若源地址為B,則設(shè)置tb為時(shí)間戳的值,且判斷條件tb=2ta+1or tb=2ta-1,若條件滿足則,周期校驗(yàn)成功,若不滿足則周期校驗(yàn)失敗。
本發(fā)明具體實(shí)現(xiàn)過程如下:
1、網(wǎng)絡(luò)配置腳本
2、添加UDP服務(wù)組件
<Item Ref='udp'ClassName="UDPServer"confile="./setting/simulator/simulator_networks.xml"OnMethod="startServer"
OffMethod="stopServer"ModuleFile=""/>
3、描述消息格式
3、數(shù)據(jù)激勵(lì)腳本
3、結(jié)果分析腳本
驗(yàn)證車載定位功能的分析腳本示例如下。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。