亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        車載軟件自動測試系統(tǒng)的設(shè)計與實現(xiàn)

        2018-08-11 06:14:24朱志承陳志強(qiáng)
        鐵路通信信號工程技術(shù) 2018年7期
        關(guān)鍵詞:自動測試腳本引擎

        朱志承 陳志強(qiáng)

        (1.北京全路通信信號研究設(shè)計院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路運行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)

        隨著現(xiàn)代信息技術(shù)的發(fā)展,軟件開發(fā)的周期大大縮短,對軟件的安全質(zhì)量要進(jìn)行嚴(yán)格的把關(guān)。軟件測試承擔(dān)著重要的任務(wù),尤其是在一些關(guān)鍵領(lǐng)域,如航空航天、高鐵等行業(yè)對軟件可靠性和安全性都有很高的要求。

        軟件測試自動化是通過開發(fā)和使用一些軟件測試工具、軟件自動測試系統(tǒng),特別適合于軟件測試中重復(fù)而繁瑣的活動。軟件測試自動化技術(shù)一般是指一個特定測試的一系列指令,這些指令可以被自動化測試工具執(zhí)行。

        在開發(fā)軟件自動測試系統(tǒng)過程中,一定要明確自動測試系統(tǒng)的體系結(jié)構(gòu),各部分功能性要求。從軟件自動化測試的范圍和測試的屬性來看,通過研究自動測試過程中軟件的運作機(jī)制,信息的流動情況以及事件執(zhí)行順序等,得到自動測試系統(tǒng)的一般體系結(jié)構(gòu),如圖1所示。

        圖1 自動測試系統(tǒng)結(jié)構(gòu)圖Fig.1 The chart of automatic test system

        1 車載軟件自動測試系統(tǒng)組成原理

        在車載軟件自動測試系統(tǒng)中,通過主引擎、分引擎與車載軟件之間的交互,最終實現(xiàn)車載軟件功能測試。測試流程如圖2所示。

        圖2 車載軟件自動測試系統(tǒng)流程圖Fig.2 The flow chart of on-board software automatic test system

        通過研究可以對車載軟件自動測試系統(tǒng)的流程做以下總結(jié)。

        1)主引擎讀取測試案例腳本,并解析腳本,打包成數(shù)據(jù)包,調(diào)用腳本命令函數(shù),通過測試接口發(fā)送給各分引擎。

        2)各分引擎接到主引擎發(fā)來的測試命令數(shù)據(jù)包時,對測試命令數(shù)據(jù)包進(jìn)行解析,并通過在相應(yīng)測試引擎上的接口來操作相應(yīng)的軟件。

        3)被測軟件響應(yīng)相應(yīng)的測試操作,并通過通道返回參數(shù)數(shù)據(jù)。

        4)主引擎根據(jù)返回的各種參數(shù)數(shù)據(jù)對比測試條件,判斷測試執(zhí)行情況,以此來判斷測試的進(jìn)度。

        5)主引擎判斷測試狀態(tài)后,記錄測試結(jié)果,記錄測試日志數(shù)據(jù)到數(shù)據(jù)庫,方便以后的分析。

        6)主引擎查找下一個腳本,周期執(zhí)行上述操作。

        通過上面幾個步驟,完成自動測試的一個周期。從上述步驟可以看出,在整個自動測試環(huán)境中,自動測試主引擎起到測試的組織和管理角色,是測試環(huán)境中很重要的一部分。

        2 車載軟件自動測試系統(tǒng)組成

        車載軟件自動測試系統(tǒng)對系統(tǒng)進(jìn)行嚴(yán)格的功能性測試,以便使系統(tǒng)能夠安全高效的運行。車載軟件自動測試系統(tǒng)主要包括主引擎、DMI分引擎、車載分引擎,測試腳本文件和測試結(jié)果記錄數(shù)據(jù)庫等,系統(tǒng)框架如圖3所示。

        圖3 車載軟件自動測試系統(tǒng)結(jié)構(gòu)圖Fig.3 The architecture of on-board software automatic test system

        通過圖3可以看出,車載軟件自動測試系統(tǒng)的各部分的組成及基本功能。

        1)主引擎

        主引擎是整個測試工作的組織者,通過加載解析測試案例腳本,并把它轉(zhuǎn)換成測試命令傳送給各分引擎,使車載軟件、OTE環(huán)境以及DMI軟件進(jìn)行相應(yīng)的操作,完成自動測試功能。同時,主引擎還對測試數(shù)據(jù)和腳本進(jìn)行程度作判斷,判斷測試案例是否成功,并把測試結(jié)果及測試數(shù)據(jù)寫入數(shù)據(jù)庫,以便進(jìn)行測試后的分析。

        2)DMI分引擎

        DMI分引擎從DMI軟件動態(tài)獲取系統(tǒng)的實時參數(shù)信息,并打包成數(shù)據(jù)包,發(fā)送給測試主引擎進(jìn)行處理。同時,通過相應(yīng)接口DMI分引擎可以獲取主引擎的控制命令,根據(jù)測試案例要求的控制命令,DMI分引擎進(jìn)行相應(yīng)的操作,如按壓啟動鍵、緩解按鈕等。

        3)車載分引擎

        車載分引擎通過接口直接獲取系統(tǒng)的實時信息,并根據(jù)測試案例腳本的要求,將這些信息發(fā)送給測試環(huán)境主引擎。同時,車載分引擎也能獲取主引擎的測試命令,通過測試接口對測試命令進(jìn)行解析,從而實現(xiàn)對系統(tǒng)的各種操作,如設(shè)置列車運行方向、對列車加減速等。同時,它還能夠根據(jù)測試命令讀取線路數(shù)據(jù)腳本,為系統(tǒng)運行設(shè)置線路環(huán)境。

        4)測試案例腳本

        測試案例腳本通過自動化的測試命令使主引擎組織整個測試活動。測試腳本是把測試過程腳本化的操作過程,通過測試腳本,測試人員可以有目的地組織測試活動,對系統(tǒng)進(jìn)行測試。

        5)測試結(jié)果記錄數(shù)據(jù)庫

        在測試工作中,會產(chǎn)生大量的測試數(shù)據(jù)日志,對這些數(shù)據(jù)的保存有利于測試后對問題的分析與整理,所以要在測試活動中建立測試結(jié)果記錄數(shù)據(jù)庫。一方面對每個測試案例腳本的測試結(jié)果進(jìn)行保存,另一方面,對測試過程中產(chǎn)生的大量測試數(shù)據(jù)進(jìn)行有效的保存。

        3 車載軟件自動測試系統(tǒng)實現(xiàn)

        3.1 自動測試主引擎實現(xiàn)

        自動測試系統(tǒng)主引擎作為自動測試活動的組織者,在自動測試環(huán)境中,自動測試主引擎主要承擔(dān)解析腳本、發(fā)送測試命令、回收數(shù)據(jù)、判斷測試結(jié)果、保存數(shù)據(jù)等功能。所以,在整個測試環(huán)境中,測試主引擎起著主要的推動作用,是測試軟件的核心。自動測試主引擎的流程設(shè)計如圖4所示。

        圖4 主引擎流程圖Fig.4 The flow chart of the main engine

        3.2 測試命令腳本的設(shè)計與實現(xiàn)

        在車載軟件自動測試系統(tǒng)中,每一個案例都可以看成是列車的一次獨立運行,運行過程中產(chǎn)生的數(shù)據(jù),可以用來分析車載軟件的功能實現(xiàn)的漏洞。在此基礎(chǔ)上,提出對測試案例腳本化,即把每一個測試案例轉(zhuǎn)化成腳本與參數(shù)值,在自動測試系統(tǒng)測試過程中,自動讀取腳本來進(jìn)行測試工作。

        根據(jù)車載軟件自動測試功能需求,編制以下幾種腳本命令。

        1)測試環(huán)境控制命令

        此類型命令主要是對測試環(huán)境進(jìn)行預(yù)處理,相當(dāng)于操作前的準(zhǔn)備工作。例如:Load_TDGFile(FileName)、Goto_Position(Position)。

        2)模擬列車控制命令

        模擬對列車的控制,主要包括列車速度控制、列車接口控制、列車制動控制。例如:Set_Want-Speed(WantSpeed)、Set_Throttle

        (Power)、Set_Cabin(State)。

        3)DMI控制命令

        此類型命令主要模擬司機(jī)按壓DMI按鈕操作,向ATP發(fā)送設(shè)定鍵值和設(shè)置列車長度等,例如:DMI_SetKey(DMIKey)。

        4)測試流程與測試結(jié)果驗證命令

        主引擎主要通過此類命令來控制測試流程的進(jìn)行,同時結(jié)合系統(tǒng)的返回數(shù)據(jù),檢驗測試結(jié)果是否與預(yù)期相符,以便檢驗系統(tǒng)測試是否成功,例如:Expect_ATPMode(Mode,Time)、Supervise_ATPMode(Mode,Position)、Wait_Train Speed GE(Speed,Time)。

        3.3 測試數(shù)據(jù)庫的設(shè)計與實現(xiàn)

        測試數(shù)據(jù)的記錄要求詳細(xì),有條理性,在后期的測試分析階段能從測試數(shù)據(jù)中提取有效信息。同時,由于測試案例可能有多個,為提高測試分析效率,必須對整體測試情況進(jìn)行記錄,記錄本測試案例的總體測試情況,失敗位置與腳本命令等。把測試數(shù)據(jù)的記錄分在3個數(shù)據(jù)庫中進(jìn)行,內(nèi)容如下。

        1)總體測試結(jié)果記錄數(shù)據(jù)庫

        此數(shù)據(jù)庫包含各個測試案例的測試結(jié)果,通過此數(shù)據(jù)庫記錄的數(shù)據(jù),測試分析人員可以得出測試過程中測試成功與測試失敗的案例名,以及初步的分析該腳本失敗的原因。實際數(shù)據(jù)在表中的存儲如圖5所示。

        圖5 測試結(jié)果記錄數(shù)據(jù)庫圖Fig.5 The record database of test results

        2)腳本結(jié)果記錄數(shù)據(jù)庫

        腳本文件中包含著許多列車狀態(tài)數(shù)據(jù)比較命令,需要對這些命令的執(zhí)行情況進(jìn)行詳細(xì)記錄。腳本結(jié)果記錄數(shù)據(jù)庫包含執(zhí)行此腳本命令的信息,包括列車基本的狀態(tài)信息、還包括此命令最終執(zhí)行的結(jié)果,通過或者失敗。同時,也包含腳本命令執(zhí)行的外部狀態(tài)信息,主要包括腳本執(zhí)行日期、時間,腳本執(zhí)行時列車位置,腳本命令以及期望值和實際值等。舉例腳本結(jié)果記錄數(shù)據(jù)在數(shù)據(jù)庫中的記錄如圖6所示。

        圖6 腳本結(jié)果記錄數(shù)據(jù)庫Fig.6 The record database of script results

        3)測試日志記錄數(shù)據(jù)庫

        圖7 測試日志記錄數(shù)據(jù)庫Fig.7The record database of test logs

        在查詢測試結(jié)果時,可以通過總體測試結(jié)果數(shù)據(jù)庫與腳本執(zhí)行結(jié)果數(shù)據(jù)庫來查詢腳本案例的測試執(zhí)行情況。如果要進(jìn)一步分析測試案例的失敗原因,查找導(dǎo)致測試失敗的節(jié)點,需要結(jié)合上述兩個數(shù)據(jù)庫分析測試環(huán)境的原始數(shù)據(jù)。主引擎與各分引擎的數(shù)據(jù)交互都是通過各種數(shù)據(jù)包來實現(xiàn)的。這些原始數(shù)據(jù)包含列車的各種狀態(tài)信息與腳本命令的信息,設(shè)計測試日志記錄數(shù)據(jù)庫來保存測試數(shù)據(jù),如圖7所示。

        4 結(jié)論

        本文通過設(shè)計主引擎、分引擎、測試命令腳本、測試數(shù)據(jù)庫等,完成車載軟件自動測試系統(tǒng)。該系統(tǒng)可以大大的降低車載軟件功能測試的測試周期和測試覆蓋率,使得車載軟件具有更高的安全性與可靠性。

        猜你喜歡
        自動測試腳本引擎
        酒駕
        安奇奇與小cool 龍(第二回)
        JXG-50S型相敏軌道電路接收器自動測試臺
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        可并行測試的電磁兼容自動測試系統(tǒng)的實現(xiàn)
        電子測試(2018年13期)2018-09-26 03:29:14
        關(guān)于某型雷達(dá)自動測試系統(tǒng)的幾點認(rèn)識和建議
        電子制作(2018年11期)2018-08-04 03:26:00
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        快樂假期
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開發(fā)
        国产精品一区二区在线观看99| 精品亚洲一区二区区别在线观看| 午夜天堂精品久久久久| 国产亚洲一区二区手机在线观看 | 亚洲人妻御姐中文字幕| 久久天天躁夜夜躁狠狠85麻豆| 国产精品免费看久久久8| 亚洲精品一二区| 色佬易精品视频免费在线观看| 欧美xxxxx高潮喷水| 天天做天天爱天天爽综合网| 精品国产福利久久久| 国产激情小视频在线观看的 | 国产成+人欧美+综合在线观看 | 99福利在线| 色偷偷亚洲女人的天堂| 国产自拍视频在线观看网站| 99在线精品免费视频九九视| av无码av在线a∨天堂app| 国产精品二区三区在线观看| 十八禁视频在线观看免费无码无遮挡骂过 | 人妻少妇久久中文字幕| 女人做爰高潮呻吟17分钟| 热re99久久精品国产66热6| 日本加勒比精品一区二区视频| 亚洲日韩在线中文字幕综合| 久久久国产一区二区三区四区小说 | 蜜臀av在线一区二区尤物| 色欲综合一区二区三区| 国产精品后入内射日本在线观看 | 熟女少妇av一区二区三区| 日日摸天天碰中文字幕你懂的| 69精品丰满人妻无码视频a片| 久久婷婷免费综合色啪| 91久久综合精品久久久综合| 人妻无码一区二区视频| 亚洲成a∨人片在线观看无码| 久久老熟女一区二区三区| 玩弄放荡人妇系列av在线网站| 亚洲国产AV无码男人的天堂| 国产成人精品一区二区日出白浆|