張靜 霍萍
摘? 要:該文主要對飛機航電系統(tǒng)試驗流程、用例設計、過程管理等方面存在的問題進行分析,設計一種包含分解試驗需求、結(jié)構(gòu)化原子功能、梳理測試場景、梳理檢查點、設計測試用例、編制測試用例和形成測試用例追溯表等過程的航電系統(tǒng)試驗流程,形成一套完整的航電系統(tǒng)試驗設計與管理方法,降低試驗設計與執(zhí)行的復雜度,提升測試用例的編制質(zhì)量以及試驗的質(zhì)量。
關(guān)鍵詞:航電系統(tǒng);試驗流程;試驗需求分析;測試設計;測試用例
中圖分類號:V243? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2095-2945(2024)17-0021-05
Abstract: This paper mainly analyzes the problems existing in aircraft avionics system test flow, use case design and process management. an avionics system test process is designed, which includes the process of decomposing test requirements, structured atomic functions, combing test scenarios, combing checkpoints, designing test cases, compiling test cases, forming test case traceability tables, etc., and forms a complete set of avionics system test design and management methods, thus reducing the complexity of experiment design and execution, and improves the quality of test case compilation and test quality.
Keywords: avionics system; test flow; test requirement analysis; test design; test case
飛機是一種多學科高度交叉、多設備復雜關(guān)聯(lián)、多軟件系統(tǒng)集成的復雜裝備系統(tǒng),隨著現(xiàn)在航空科技的發(fā)展,各型號飛機都配置了交聯(lián)復雜的、先進的航電系統(tǒng),航電系統(tǒng)是飛機系統(tǒng)的核心組成部分,其可靠性、穩(wěn)定性是飛機完成各項飛行任務的關(guān)鍵,而充分的航電系統(tǒng)試驗是高質(zhì)量航電系統(tǒng)的保證。為支持航空電子系統(tǒng)試驗工作,需要在試驗前設計充分、完善的用例,進而進行充分的試驗。要對航電系統(tǒng)進行體系化、全要素、全過程的測試驗證是一項巨大的挑戰(zhàn),主要面對以下問題:①試驗流程過度依賴個人經(jīng)驗,缺乏顯性化、流程化表達;②測試用例設計缺乏統(tǒng)一規(guī)范和科學的工程方法,測試用例質(zhì)量不高,功能、性能測試點覆蓋不全,導致測試場景遺漏;③測試過程管理要素缺失,無法形成完整的測試追溯鏈路;④部分設計中的問題暴露時機晚,增加了修改故障的成本。
針對以上問題,從試驗需求開始,對航電試驗全過程進行梳理,形成結(jié)構(gòu)化、流程化和規(guī)范化航電系統(tǒng)試驗需求分析模型,以特定功能為典型案例,開展測試用例設計,形成流程完整、用例規(guī)范、過程可追溯的航電系統(tǒng)試驗流程,指導后續(xù)試驗開展,提升航電系統(tǒng)測試質(zhì)量。
1? 總體概述
航電系統(tǒng)試驗需求分析模型主要用于對航電系統(tǒng)功能的測試用例設計,該模型分為7大步驟。
第一步,分解試驗需求是將任務書中的試驗條目,結(jié)合詳細設計方案和飛行員操作手冊,按照一定規(guī)則,對功能進行多級劃分,直至分解到功能的最小單位,稱之為原子功能,該功能是完整的、明確的、可驗證的[1]。第二步,結(jié)構(gòu)化原子功能是將詳細設計文件中針對原子功能的描述或者時序圖,結(jié)合接口控制文件轉(zhuǎn)換為流程圖或者狀態(tài)遷移圖[2]并定義圖中的開始節(jié)點、結(jié)束節(jié)點、輸入節(jié)點、判斷節(jié)點、輸出節(jié)點、處理節(jié)點的過程。第三步,梳理測試場景是對流程圖或者狀態(tài)遷移圖中的路徑進行遍歷分析的過程。第四步,梳理檢查點是通過對流程圖的處理節(jié)點和輸出節(jié)點進行分析,結(jié)合詳細設計文件和飛行員操作手冊,按照檢查顯示畫面、檢查消息流、檢查告警聲音等分類梳理出檢查點。第五步,設計測試用例是通過對流程圖中的判斷節(jié)點分析,結(jié)合接口控制文件,梳理出判斷節(jié)點的所有取值,結(jié)合邊界值法、等價類型劃分法、判定表法、因果圖法、正交試驗設計法,形成判定表、因果圖、正交表等。第六步,編制測試用例是通過對判定表、因果圖、正交表等分析,按照用例模板要求進行用例的編制,形成測試用例。第七步,形成測試用例追溯表是將航電系統(tǒng)、分系統(tǒng)、試驗條目、多級功能、原子功能、測試場景、測試用例編號、測試用例、試驗故障編號和試驗故障等多個對象記錄、組織管理的過程。
1.1? 分解試驗需求
分解試驗需求是將航電系統(tǒng)所有功能分解到原子功能的過程。
航電系統(tǒng)包括飛行管理分系統(tǒng)、顯示控制分系統(tǒng)等,航電系統(tǒng)的試驗輸入包括航電系統(tǒng)試驗任務書和飛行員操作手冊,每個分系統(tǒng)的試驗輸入包括詳細設計方案和接口控制文件。試驗任務書中給出各分系統(tǒng)的試驗條目。
以航電系統(tǒng)中飛行管理分系統(tǒng)為例,任務書中飛行管理分系統(tǒng)的試驗條目分為導航參數(shù)獲取、飛行計劃管理等功能,詳細設計文件會對飛行管理分系統(tǒng)進行詳細說明,飛行員操作手冊中會給出所有飛行管理分系統(tǒng)的畫面,以飛行管理分系統(tǒng)中的飛行計劃管理功能為例,分為當前飛行計劃頁,當前飛行計劃航段頁等,其中當前飛行計劃頁又包含設置飛行計劃名稱、設置起飛機場等功能。
以設置當前飛行計劃頁功能為例,系統(tǒng)名稱、分系統(tǒng)名稱、任務書中試驗條目、多級功能和原子功能的追溯表見表1。
該過程中的輸入為任務書、詳細設計文件和飛行員操作手冊。使用工具為思維導圖,原則就是按照一定規(guī)則分解到功能的最小單位,規(guī)則可分為飛行員使用場景、使用順序、飛行操作程序中的界面元素等。這一階段的輸出為任務書中試驗條目到原子功能的思維導圖以及系統(tǒng)名稱、分系統(tǒng)名稱、任務書中試驗條目、多級功能和原子功能的追溯表。
在分解試驗需求的過程中,可檢查詳細設計文件和飛行員操作手冊中不一致或者遺漏的地方,提前識別設計文件中存在的問題。
1.2? 結(jié)構(gòu)化原子功能
以航電系統(tǒng)的飛行管理分系統(tǒng)的設置起飛機場原子功能為例進行說明。圖1為詳細設計中該功能的時序圖。
將詳細設計文件中針對原子功能的描述或者時序圖,結(jié)合接口控制文件轉(zhuǎn)換為流程圖,如圖2所示,同時對流程圖中的各節(jié)點按照開始或者結(jié)束節(jié)點、輸入節(jié)點、判斷節(jié)點、輸出節(jié)點和處理節(jié)點。分別標注。①和? 為開始或者結(jié)束節(jié)點,②為輸入節(jié)點,⑤、⑧和? 為輸出節(jié)點,③、⑥和⑨為判斷節(jié)點,其余為處理節(jié)點。
該過程的輸入為詳細設計文件和接口控制文件。使用的工具為Visio,原則是流程圖或者狀態(tài)遷移圖[2]要覆蓋到功能描述或者時序圖的全部流程,圖中的判斷節(jié)點要考慮到接口控制文件中的取值。使用的工程方法是流程圖法、狀態(tài)遷移圖法等。這一階段的輸出為流程圖或者狀態(tài)遷移圖。
在結(jié)構(gòu)化原子功能的過程中,可檢查詳細設計文件和接口控制文件中不一致或者遺漏的地方,提前識別設計文件中存在的問題。
1.3? 梳理測試場景
將流程圖中的路徑進行遍歷分析,形成原子功能的測試場景,見表2。
該過程的輸入為流程圖或者狀態(tài)遷移圖,使用的工具為思維導圖,原則是路徑全覆蓋,如果有環(huán),環(huán)至少覆蓋一次。這一階段的輸出為原子功能與測試場景追溯表。
1.4? 梳理檢查點
通過對流程圖的處理節(jié)點和輸出節(jié)點進行分析,結(jié)合詳細設計文件和飛行員操作手冊,按照檢查顯示畫面、檢查消息流、檢查告警聲音等分類梳理出檢查點,詳見表3。
該過程的輸入是流程圖或者狀態(tài)遷移圖、詳細設計文件和飛行員操作手冊,原則是覆蓋到流程圖或者狀態(tài)遷移圖的處理節(jié)點和輸出節(jié)點。這一階段的輸出為該原子功能的全部檢查點。
1.5? 設計測試用例
通過對流程圖中的判斷節(jié)點分析,結(jié)合接口控制文件,梳理出判斷節(jié)點的所有取值,詳見表4,形成判定表,詳見表5。
原始判定表中的條件遍歷所有判斷節(jié)點的取值,動作為1.4章節(jié)梳理的檢查點。通過簡化、合并相似規(guī)則,得到如表6所示的判定表。
由于判斷條件中有先后次序關(guān)系,需要驗證功能中實現(xiàn)的先后次序是否正常,因此,3和4合并時,輸入的XXX與當前信息是否一致的取值為否;5,6,7,8合并時,將輸入的XXX在數(shù)據(jù)庫中是否存在取值設置為否,輸入的XXX與當前信息是否一致設置為否,檢查條件判斷的優(yōu)先級是否正確,形成如表7所示的判定表。
設計測試用例的過程需結(jié)合實際的功能選擇相應的工程設計方法進行分析[3],針對輸入條件也就是判斷節(jié)點有因果關(guān)系時,優(yōu)先選擇因果關(guān)系圖法;輸入條件無因果關(guān)系且條件也不多,優(yōu)先選擇判定表法,能夠?qū)碗s的問題按照各種可能的情況全部列舉出來;輸入條件無因果關(guān)系且條件較多時,優(yōu)先選用正交法,該方法可用最小的測試用例覆蓋多個變量取值的組合。同時,在進行判斷條件分析時,還會結(jié)合邊界值法和有效等價類劃分法。
該過程的輸入為流程圖或者狀態(tài)遷移圖,原則是覆蓋全部測試場景、覆蓋判斷節(jié)點的全部取值,使用的工程方法包括但不限于邊界值劃分法、等價類劃分法、判定表法、因果圖法、正交設計法。這一階段的輸出為判定表、因果圖、正交表等。
1.6? 編制測試用例
通過對表7分析,按照用例模板要求進行用例的編制,形成測試用例。
編制測試用例過程的輸入為判定表、因果圖、正交表等,以及飛行員操作手冊、詳細設計方案、接口控制文件,原則是判定表中的所有測試用例為最終測試用例,這一階段的輸出為測試用例。
1.7? 形成測試用例追溯表
形成測試用例追溯表的過程是將航電系統(tǒng)、分系統(tǒng)、試驗條目、多級功能、原子功能、測試場景、測試用例編號、測試用例、試驗故障編號和試驗故障等多個對象記錄、組織管理的過程。針對試驗過程中的問題,若未在追溯表中找到對應的用例,應及時補充測試用例進行完善。
2? 結(jié)論
該試驗流程設計方法,將測試設計過程顯性化,測試用例與任務書、詳細設計的追溯關(guān)系清晰,保證需求在試驗過程中不被遺漏,提升了試驗大綱編制和試驗的質(zhì)量;該方法輸入明確、流程清晰、測試用例設計過程易上手,降低了試驗過程對個人經(jīng)驗的依賴和學習成本,提升了工作效率;同時可將設計的問題暴露在試驗前,減少后期故障修復成本[4]。
參考文獻:
[1] 魏博.航電系統(tǒng)需求分析方法[J].工業(yè)設計,2015(17):126-127.
[2] 路鑫.基于UML模型的軟件測試設計策略研究[D].北京:北京郵電大學,2014.
[3] 趙根朝.基于測試流程的軟件測試設計[J].計算機與網(wǎng)絡,2010(14):45-48.
[4] 楊凱,閆雪奎,鄧素英,等.民用航空機載軟件需求分析和測試設計方法[J].測控技術(shù),2019,38(增刊):533-535.