999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

民用飛機(jī)機(jī)組告警系統(tǒng)試驗(yàn)室自動(dòng)化測試技術(shù)研究

2016-05-14 09:31:59王煥宇

王煥宇

摘 要:該文實(shí)現(xiàn)了機(jī)組告警系統(tǒng)邏輯設(shè)計(jì)結(jié)果到試驗(yàn)用例、試驗(yàn)?zāi)_本與試驗(yàn)結(jié)果自動(dòng)測試工具的開發(fā),能夠自動(dòng)化生成測試用例、腳本與結(jié)果,節(jié)省了大量試驗(yàn)用例與試驗(yàn)?zāi)_本開發(fā)時(shí)間,保障了對設(shè)計(jì)邏輯的準(zhǔn)確讀取分析,避免了人為出錯(cuò),實(shí)現(xiàn)了試驗(yàn)結(jié)果的自動(dòng)記錄與保存。基于此測試腳本自動(dòng)化生成工具,也可以應(yīng)用于發(fā)動(dòng)機(jī)指示頁面、主飛行顯示器指示、簡圖頁、機(jī)載記錄系統(tǒng)、機(jī)載維護(hù)系統(tǒng)等邏輯復(fù)雜、參數(shù)較多、需大量開發(fā)測試腳本的試驗(yàn)應(yīng)用當(dāng)中,具有很強(qiáng)的擴(kuò)展性。該文成果應(yīng)用于某型機(jī)組告警系統(tǒng)邏輯試驗(yàn)室驗(yàn)證中,取得了良好效果。

關(guān)鍵詞:腳本 自動(dòng)測試 后綴表達(dá)式 機(jī)組告警系統(tǒng) Python

中圖分類號:TP206 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2016)02(c)-0007-05

Research on Auto Test About CAS System of Civil Aircraft

Wang Huanyu

(State Key Laboratory of Civil Aircraft Flight Simulator, Shanghai Aircraft Design and Research Institute, Shanghai, 201210, China)

Abstract:With results accurate, it is achieved that test case, test script and test report are generated automatically from CAS (Crew Alert System) design, which is time saving.It can be applied to other tests also, i.e. The Engine Indication test, Primary Flight Display test, Synoptic Page test, Flight Record System test and Onboard Maintenance System test, which are characterized with a great quantity of parameters, complicated logic and numerous test python scripts to be developed. Dedicated to a CAS test for a certain system, this tool works well as expected.

Key Words:Script; Auto Test; Suffix Expression; Crew Alert System; Python

民用飛機(jī)機(jī)組告警系統(tǒng)與IMA、顯示系統(tǒng)、燈光告警系統(tǒng)、音響告警系統(tǒng)集成程度日漸提高,飛機(jī)各系統(tǒng)通過不同級別的機(jī)組告警信息提示飛行員,告知相應(yīng)的系統(tǒng)狀態(tài),以便飛行員采取相應(yīng)的處理程序。這給系統(tǒng)設(shè)計(jì)與取證帶來了難度,也給系統(tǒng)地面集成驗(yàn)證試驗(yàn)帶來了挑戰(zhàn)。該文通過研究某型民用飛機(jī)機(jī)組告警系統(tǒng)架構(gòu)與試驗(yàn)平臺功能,開發(fā)了一套自動(dòng)化測試腳本生成工具與交互界面,讓大規(guī)模批量、全邏輯覆蓋的試驗(yàn)成為可能,大幅提高了試驗(yàn)效率,在系統(tǒng)級需求驗(yàn)證試驗(yàn)中取得了很好的效果。

1 民用飛機(jī)機(jī)組告警系統(tǒng)架構(gòu)

某型民用飛機(jī)機(jī)組告警系統(tǒng)由駐留在IMA中的應(yīng)用軟件、主警告燈、主警戒燈、音響告警抑制開關(guān)及下視顯示器等組成,通過顯示文本、離散通告、語音警告、燈警告或以上組合給飛行員提供警告、警戒、提示及狀態(tài)等機(jī)組告警功能。駐留在IMA中的機(jī)組告警系統(tǒng)應(yīng)用軟件接收來自飛機(jī)各系統(tǒng)的狀態(tài)輸入,按優(yōu)先級順序通過下視顯示,并能通過控制板進(jìn)行翻頁等選擇。當(dāng)需要時(shí),提供音響告警和駕駛艙燈驅(qū)動(dòng)提供觸發(fā)信號,為飛行員提供音響和燈警告。機(jī)組告警優(yōu)先級排序級別定義如表1所示[1]。

為了避免在一定階段出現(xiàn)不必要的警告,給機(jī)組帶來操作負(fù)擔(dān)和干擾,機(jī)組告警系統(tǒng)會對一些特定的告警在特定的時(shí)間、構(gòu)型和飛行階段進(jìn)行抑制。系統(tǒng)架構(gòu)如圖1所示。

2 民用飛機(jī)航電系統(tǒng)集成試驗(yàn)平臺架構(gòu)

某型飛機(jī)航電系統(tǒng)集成驗(yàn)證平臺(System Integration

and Verification Bench,SIVB)是一套用于航電核心處理系統(tǒng)、顯示系統(tǒng)、機(jī)載記錄系統(tǒng)、機(jī)載維護(hù)等系統(tǒng)集成驗(yàn)證大型試驗(yàn)設(shè)施,具有系統(tǒng)仿真、數(shù)據(jù)切換、數(shù)據(jù)采集與處理等功能。系統(tǒng)集成驗(yàn)證平臺集成了機(jī)載系統(tǒng)接口控制文件(Interface Control Document,ICD)的數(shù)據(jù)信息,通過仿真數(shù)據(jù)網(wǎng)絡(luò)(Common Simulation Interface,CSI)與配套A664、A429、A825、離散、模擬等航空總線接口I/O板卡,可以將系統(tǒng)仿真數(shù)據(jù)通過真實(shí)機(jī)載數(shù)據(jù)接口與機(jī)載系統(tǒng)進(jìn)行通信與交互,從而實(shí)現(xiàn)系統(tǒng)仿真的功能。通過數(shù)據(jù)采集系統(tǒng)(Analyzer)實(shí)現(xiàn)將真實(shí)機(jī)載網(wǎng)絡(luò)數(shù)據(jù)采集并發(fā)送到仿真數(shù)據(jù)網(wǎng)絡(luò)中,供系統(tǒng)集成驗(yàn)證平臺讀取,并能夠按ICD數(shù)據(jù)格式進(jìn)行解析、顯示和處理。整個(gè)系統(tǒng)架構(gòu)如圖2所示。

3 機(jī)組告警系統(tǒng)邏輯自動(dòng)化測試方案

如圖3中所示,使用航電系統(tǒng)集成驗(yàn)證平臺有3種基本方式能夠輸出系統(tǒng)仿真器數(shù)據(jù),如系統(tǒng)A仿真器可以通過以下方式輸出真實(shí)物理接口的數(shù)據(jù)參數(shù)。

(1)在數(shù)據(jù)采集軟件Data Browser上直接改寫相應(yīng)的參數(shù)值。Data Browser可以將采到的數(shù)據(jù)按照ICD的格式進(jìn)行顯示,即Data Display功能。也能通過在相應(yīng)的ICD參數(shù)上賦值的方式進(jìn)行數(shù)據(jù)設(shè)置,即Data Set功能。該方法使用簡單,能夠直接操作對應(yīng)參數(shù),但不適用于大規(guī)模的、需要反復(fù)進(jìn)行數(shù)據(jù)設(shè)置的情況。

(2)在腳本執(zhí)行器Script上輸入一條命令行,如執(zhí)行A664.

Message1.DS1.Parameter1.Vaule=100,則參數(shù)Parameter1會設(shè)置成100,并通過系統(tǒng)A仿真器的真實(shí)A664接口板卡進(jìn)行數(shù)據(jù)發(fā)送。該方法使用也較簡單,當(dāng)?shù)膊贿m用于大規(guī)模的、需要反復(fù)進(jìn)行數(shù)據(jù)設(shè)置的情況。

(3)將需要執(zhí)行的命令通過Python腳本,同樣由Script進(jìn)行執(zhí)行,則可實(shí)現(xiàn)大規(guī)模的或需要反復(fù)進(jìn)行數(shù)據(jù)設(shè)置,但若人工編寫測試用例較多的試驗(yàn)?zāi)_本時(shí)重復(fù)勞動(dòng)多,工作量巨大,有出錯(cuò)的可能。

該文針對第三種實(shí)現(xiàn)機(jī)制,設(shè)計(jì)了從機(jī)組告警系統(tǒng)設(shè)計(jì)需求邏輯自動(dòng)導(dǎo)入解析,自動(dòng)生成測試腳本(如圖4),自動(dòng)生成測試結(jié)果的工具及流程,實(shí)現(xiàn)了測試的自動(dòng)化。

該文使用的軟件如下[2]。

(1)Microsoft Office,Excel,2003。用于記錄機(jī)組告警系統(tǒng)的邏輯,及每條邏輯對應(yīng)的ICD信息。

(2)PyQt,PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64。用于設(shè)計(jì)GUI用戶界面。

(3)Python,python-2.7.11rc1.amd64。用于開發(fā)及運(yùn)行腳本。

(4)Pywin32,pywin32-219.win-amd64-py2.7。用于使用Python開發(fā)win32應(yīng)用。

(5)XLRD,xlrd-0.9.4.tar。用于讀取Excel的python模塊。

(6)Pyinstaller,pyinstaller-2.0。用于將.py文件轉(zhuǎn)化為.exe文件。

測試腳本生產(chǎn)流程與關(guān)鍵點(diǎn)如下。

(1)讀取表格中的邏輯表達(dá)式。如圖5所示,設(shè)計(jì)用戶界面,選取相應(yīng)的Excel邏輯文件,并對邏輯進(jìn)行去空格等預(yù)處理,判斷該系統(tǒng)有幾種等級的機(jī)組告警信息,并激活相應(yīng)的確認(rèn)框(Check Box),以便試驗(yàn)人員可以勾選。以邏輯TD(3,A==1||B==1||Inval(C)&&Inval(D))為例,取得該邏輯后逐一分析。

(2)判斷是否為邏輯符號。根據(jù)機(jī)組告警系統(tǒng)邏輯編寫規(guī)范,參與邏輯運(yùn)算的表達(dá)式按優(yōu)先級從高到低見表2(優(yōu)先級數(shù)值越低,優(yōu)先級越高)。邏輯優(yōu)先級的確定是為了下一步邏輯的解析與運(yùn)算。如TD(3, || ||&&) ‘。

(3)判斷是否為參數(shù)表達(dá)式。邏輯表達(dá)式中非邏輯符號的都是參數(shù)表達(dá)式,如A==1,B==1,Inval(C)和Inval(D)。

(4)將邏輯表達(dá)式轉(zhuǎn)化為后綴表達(dá)式。后綴表達(dá)式(也叫逆波蘭表達(dá)式)是計(jì)算機(jī)可識別的順序操作表達(dá)方式,轉(zhuǎn)化后沒有括號參與,利于計(jì)算邏輯。按照以下步驟進(jìn)行轉(zhuǎn)化:

①初始化邏輯棧Stack_Logic與存放中間結(jié)果的棧Stack_Temp。

②從左至由掃描讀取邏輯表達(dá)式,如果是參數(shù)表達(dá),將其壓至Stack_Logic。

③從左至由掃描讀取邏輯表達(dá)式,如果是邏輯表達(dá):

第一,如果Stack_Temp為空,或棧頂為(‘,將其壓至Stack_Temp;

第二,如果Stack_Temp棧頂優(yōu)先級較高,也將其壓至 Stack_Temp;

第三,如果Stack_Temp棧頂優(yōu)先級較低,將Stack_Temp棧頂邏輯彈出,將其壓至Stack_Logic,轉(zhuǎn)到步驟c-1。

④遇到括號時(shí):

第一,如果是(‘,將其壓至Stack_ Temp;

第二,如果是),將Stack_Temp棧頂邏輯彈出,將其壓至Stack_Logic,直到遇到(‘,并將這一對括號丟棄。

⑤重復(fù)步驟②到步驟④,直到邏輯表達(dá)式的最右邊,將Stack_Temp棧剩余邏輯依次彈出,將其依次壓至棧Stack_Logic。完成后棧Stack_Logic從棧底到棧頂即為邏輯的后綴表達(dá)式。

如表3所示,為TD(3,A==1||B==1||Inval(C)&&Inval(D))的轉(zhuǎn)化過程,最后轉(zhuǎn)化為 A==1,B==1,||, Inval(C), Inval(D),&&,||,TD3,以字符,相隔的后綴表達(dá)式。

(5)將參數(shù)表達(dá)式分解為參數(shù)與參數(shù)操作,確定操作的類型與數(shù)值。如將A==1,B==1,Inval(C)和Inval

(D)分解為參數(shù)A,B,C'和'D,并確定以上4個(gè)參數(shù)的操作類型為賦值,賦值,賦有效性和賦有效性,最后確定每個(gè)參數(shù)的操作數(shù)值為1,1,無效和無效。

(6)將分解到的參數(shù)進(jìn)行關(guān)聯(lián)到機(jī)載系統(tǒng)ICD。通過查表的方式,如將參數(shù)A聯(lián)查到對應(yīng)的ICD,一般需要確定如下幾項(xiàng)。

①A429的SDI,SSM與參數(shù)定義;

②A664的VL,F(xiàn)SB與參數(shù)定義;

③A825的FS與參數(shù)定義;

④離散量與模擬量的參數(shù)定義。

(7)將分解到的參數(shù)操作進(jìn)行定義,確定邏輯1與邏輯0的操作步驟。

①賦值,確定邏輯1或邏輯0時(shí)是否為賦參數(shù)值為1或0、是大于或小于某個(gè)數(shù);

②賦有效性,邏輯1或邏輯0時(shí)是否為有效或無效。

(8)將步驟6與步驟7確定的參數(shù)與操作分別設(shè)置,將參數(shù)表達(dá)式對應(yīng)的邏輯值帶入后綴表達(dá)式,進(jìn)行結(jié)果輸出。如對'A==0,'B==0,Inval(C)和Inval(D),對應(yīng)的邏輯值0,0,1和1,分別帶入后綴表達(dá)式中,按以下進(jìn)行計(jì)算。

①讀取邏輯棧Stack_Logic,初始化存放中間結(jié)果的棧Stack_Temp;

②從棧Stack_Logic彈出元素,如果是參數(shù)表達(dá)式,查參數(shù)表達(dá)式對應(yīng)的邏輯值為1還是0,將邏輯值壓至 Stack_Temp;

③從棧Stack_Logic彈出元素,如果是邏輯符號,對 Stack_ Temp中的元素進(jìn)行運(yùn)算后,結(jié)果壓至Stack_Logic。

以A==0,B==0,Inval(C)和Inval(D)分別對應(yīng)邏輯值0,0,1和1為例,見表4,說明后綴表達(dá)式的邏輯計(jì)算過程。

(9)遍歷參數(shù)表達(dá)式的各種可能,可以得到不同的測試用例。將不同的測試用例輸出成航電系統(tǒng)集成驗(yàn)證平臺定義的Python腳本格式,則可以得到大規(guī)模、全邏輯的測試腳本。在測試腳本中,編寫語句,彈出測試用例之間的對話框,供試驗(yàn)人員判斷并進(jìn)行選擇試驗(yàn)結(jié)果,對某條機(jī)組告警信息進(jìn)行確認(rèn)是顯示還是不顯示,將結(jié)果打印成CSV格式的測試結(jié)果中。

在某系統(tǒng)機(jī)組告警邏輯試驗(yàn)中,應(yīng)用本文實(shí)現(xiàn)的成果自動(dòng)生成測試腳本,針對61條機(jī)組告警信息,總計(jì)生成3332個(gè)測試用例,54077行測試代碼,快速完成了試驗(yàn)用例與腳本的開發(fā)工作。如圖3所示,通過腳本執(zhí)行器執(zhí)行生成的腳本,腳本命令由通用仿真接口網(wǎng)絡(luò)下載至對應(yīng)系統(tǒng)仿真器上,進(jìn)而輸出了系統(tǒng)真是物理接口信號,模擬了各系統(tǒng)的狀態(tài)與數(shù)據(jù),通過查看系統(tǒng)系統(tǒng)的輸出響應(yīng),并記錄試驗(yàn)結(jié)果,從而快速完成了各項(xiàng)告警系統(tǒng)功能試驗(yàn)。

4 結(jié)語

該文實(shí)現(xiàn)了機(jī)組告警系統(tǒng)邏輯設(shè)計(jì)結(jié)果到試驗(yàn)用例、試驗(yàn)?zāi)_本與試驗(yàn)結(jié)果自動(dòng)測試工具的開發(fā),工具架構(gòu)合理,流程清晰,能夠自動(dòng)化生成測試用例、腳本與結(jié)果,節(jié)省了大量試驗(yàn)用例與試驗(yàn)?zāi)_本開發(fā)時(shí)間,保障了對設(shè)計(jì)邏輯的準(zhǔn)確讀取分析,避免了人為出錯(cuò),實(shí)現(xiàn)了試驗(yàn)結(jié)果的自動(dòng)記錄與保存。

使用pyinstaller將此測試腳本自動(dòng)化生成工具生成.exe格式單獨(dú)文件,可以發(fā)布給不同的試驗(yàn)人員脫離python環(huán)境進(jìn)行使用,具有較強(qiáng)的應(yīng)用性。基于此測試腳本自動(dòng)化生成工具,也可以應(yīng)用于發(fā)動(dòng)機(jī)指示頁面、主飛行顯示器指示、簡圖頁、機(jī)載記錄系統(tǒng)、機(jī)載維護(hù)系統(tǒng)等邏輯復(fù)雜、參數(shù)較多、需大量開發(fā)測試腳本的試驗(yàn)應(yīng)用當(dāng)中,具有很強(qiáng)的擴(kuò)展性。

參考文獻(xiàn)

[1] 張博.民用飛機(jī)機(jī)組告警系統(tǒng)設(shè)計(jì)[J].中國高新技術(shù)企業(yè),2014(26):29-30.

[2] (挪)Magnus Lie Hetland,著.Python基礎(chǔ)教程[M].2版.司維,曾軍崴,譚穎華,譯.北京,人民郵電出版社,2014.

主站蜘蛛池模板: 国产成人无码AV在线播放动漫 | 日本在线亚洲| 丁香婷婷综合激情| 国产午夜人做人免费视频中文| 久草青青在线视频| 日韩免费成人| 亚洲乱码视频| 日韩精品专区免费无码aⅴ| 欧美日一级片| 国产原创第一页在线观看| 国产幂在线无码精品| AV天堂资源福利在线观看| 精品国产电影久久九九| 国产草草影院18成年视频| 日韩欧美91| 最新加勒比隔壁人妻| 欧美一区国产| 中文字幕在线日本| 91精品国产自产91精品资源| 99精品国产电影| 亚洲毛片在线看| 欧美 亚洲 日韩 国产| 国产福利一区二区在线观看| 免费看美女毛片| 国产激情无码一区二区APP| 日韩资源站| 久久综合亚洲鲁鲁九月天| 欧美成人第一页| 久久不卡精品| 亚洲欧洲自拍拍偷午夜色无码| 天堂在线亚洲| 国产主播福利在线观看| AV无码一区二区三区四区| 国产玖玖玖精品视频| 青青热久麻豆精品视频在线观看| 制服丝袜无码每日更新| 色婷婷综合在线| 国产第二十一页| 国产精品密蕾丝视频| 香蕉视频在线观看www| 欧美自拍另类欧美综合图区| 91福利国产成人精品导航| 99re在线视频观看| 国产日韩欧美一区二区三区在线| 男女精品视频| 国产免费福利网站| 日韩免费毛片视频| 国产精品人莉莉成在线播放| 久久综合九色综合97婷婷| 国产极品美女在线观看| a级毛片免费看| 中文精品久久久久国产网址 | 熟女成人国产精品视频| 三上悠亚在线精品二区| 午夜高清国产拍精品| 四虎亚洲国产成人久久精品| 午夜高清国产拍精品| 中文字幕无线码一区| 中文字幕欧美日韩高清| 永久免费av网站可以直接看的 | 国产裸舞福利在线视频合集| 国产主播福利在线观看| 综合色区亚洲熟妇在线| 国产区在线观看视频| 手机在线国产精品| 亚洲国产日韩一区| 91九色国产在线| 久久亚洲日本不卡一区二区| 久久一本日韩精品中文字幕屁孩| 日韩欧美国产中文| 美女扒开下面流白浆在线试听 | 在线观看亚洲精品福利片| 国产美女主播一级成人毛片| 鲁鲁鲁爽爽爽在线视频观看| 久久婷婷国产综合尤物精品| 色婷婷电影网| 亚洲精品成人片在线观看| 免费看的一级毛片| 色婷婷电影网| 免费在线色| 色综合天天综合| 波多野结衣二区|