[發明專利]一種基于模型的航天器系統自動化測試方法有效
| 申請號: | 201710138290.X | 申請日: | 2017-03-09 |
| 公開(公告)號: | CN107066382B | 公開(公告)日: | 2021-01-26 |
| 發明(設計)人: | 劉艷芳;劉一帆;呂江花;李乃海;烏尼日其其格;張海祥;馬世龍 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 趙文利 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 模型 航天器 系統 自動化 測試 方法 | ||
1.一種基于模型的航天器系統自動化測試方法,其特征在于,具體步驟如下:
步驟一、針對某個被測航天器,根據該被測航天器系統的總體設計方案,為每個業務分別構建一個窗口樹模型;
具體為:
首先,梳理分析被測航天器系統的業務流程,針對每一個業務,按照業務功能類別進行細粒度劃分,得到若干個組成部分,每一個組成部分又包括若干個操作,每一個操作稱為一個api,屬于同一個組成部分的若干個api劃分為一類,該類中的所有api作為窗口樹模型的一個窗口節點;
W是該被測航天器系統的每個業務包括的窗口節點集合,W={w0,w1,w2,....wj,...wn},n為整數;wj表示該被測航天器系統的第j個窗口節點,wj={apij1,apij2,...apijm},m≥1;w0∈W為被測航天器系統的啟動初始窗口;
然后,根據業務流程中被測航天器系統的動態行為,確定當前窗口節點以及從當前窗口節點流轉到另一個窗口節點的事件邊;
當從一個窗口節點流轉到另一個窗口節點時,會調用至少一個api,對api的調用被稱為事件;
被測航天器系統的所有窗口節點之間流轉的觸發事件的集合用EW表示;定義如下:EW=(EventName,API,Parameters);EventName表示某事件的名稱,唯一標識一個事件;API表示該事件觸發時的操作集合,可以為空;Parameters表示調用api時的輸入參數和輸出參數序列;
窗口節點間的流轉關系用表示;其中元素(wi,e,wj)∈RW,E表示窗口節點wi與窗口節點wj之間有父子關系,且wi為父節點,wj為子節點,e∈EW表示窗口父節點wi流轉到窗口子節點wj的觸發事件;
最后,窗口節點以及事件共同形成了窗口樹,定義如下:WT=(W,w0,EW,RW,E);
步驟二、根據該被測航天器系統的業務流程,劃分系統行為主體運行時的不同行為狀態,構建行為狀態轉移圖模型,形成該被測航天器系統預定的狀態轉移規則集;
行為主體是被測航天器系統運行過程中的所有計算、存儲和傳輸過程的承擔者;
行為狀態轉移圖定義如下:STG=(S,S0,ES,RS,E,F)
其中,S表示狀態轉移圖中全部狀態的有限集合,即被測航天器系統的系統級行為狀態的有限集合;S0表示初始狀態,S0∈S;ES是觸發狀態轉移的事件集合或者事件序列集合,為非空有限集合;RS,E是所有狀態轉移規則的集合:δ:S×Es→S;F是S的子集,表示終止狀態的集合;
每個狀態轉移規則包括前置狀態、后置狀態和觸發狀態轉移的事件,前置狀態在觸發狀態轉移的事件下轉移到后置狀態;
根據行為狀態轉移圖模型,得到各個狀態轉移規則,最終形成該被測航天系統的狀態轉移規則集作為設定目標;
步驟三、運用航天器測試用例自動生成方法遍歷被測航天器的窗口樹模型,生成測試用例集;
窗口樹模型中每一條路徑刻畫一類系統的運行過程,將每條路徑分別作為一個測試用例;
具體為:
步驟301、定義事件序列集合的初始值為空;定義當前遍歷路徑的輸出事件序列thisEventList的初始值為空;
步驟302、針對當前窗口節點w,定義該節點未處理出度變量degree的初始值為0,臨時輸出事件序列tempEventList的初始值為空,節點處理標志位的初始值為0;
當前窗口節點w初始值為窗口樹模型的根節點;
步驟303、讀取當前窗口節點w的出度賦給變量degree,并判斷變量degree是否為0,如果是,將序列thisEventList追加到事件序列集合,轉到步驟309;否則,執行步驟304;
當出度變量degree為0,說明當前窗口節點w是葉子節點,葉子節點的下面沒有子節點;
步驟304、順序讀取窗口節點之間的二元關系集CBiRs中未處理的二元關系,并將當前二元關系賦給臨時變量tempCBiRs;判斷臨時變量tempCBiRs是否存在,如果是,轉到步驟305;否則,已經讀取完,轉到步驟309;
二元關系集CBiRs是窗口樹模型中所有相鄰節點的二元關系的集合;
二元關系是由窗口樹模型中每一對相鄰窗口節點及邊組成,用元素fromWindow、edgeId和toWindow來表示;
臨時變量也是包括元素fromWindow、edgeId和toWindow的二元關系;
步驟305、判斷臨時變量tempCBiRs中的項fromWindow是否等于當前窗口節點w,如果是,轉到步驟306;否則,返回步驟304;
步驟306、獲取臨時變量tempCBiRs的edgeId項追加到事件序列thisEventList,并將當前二元關系標記為已處理完畢;
步驟307、當前窗口節點w的變量degree減1,并判斷變量degree是否等于0,如果是,將當前窗口節點w的處理標志位標記為已處理節點,設置當前窗口節點w的序列tempEventList等于上一個窗口節點的序列thisEventList;否則,設置當前窗口節點w的序列tempEventList等于上一個窗口節點的序列tempEventList以及上一個窗口節點的edgeId項;
當前節點為根節點時,臨時輸出事件序列tempEventList值為空;
步驟308、當前窗口節點w入堆棧,并讀取臨時變量tempCBiRs的項toWindow對應的窗口作為當前窗口節點w,返回步驟302;
步驟309、堆棧中的最上面節點出棧并作為當前窗口節點w,判斷當前窗口節點w是否存在,如果存在,轉到步驟310;否則,轉到步驟311;
步驟310、判斷當前窗口節點w的處理標志位標記是否標記為已處理節點,如果是,返回步驟309;否則,將當前窗口節點w的序列tempEventList賦值給新的路徑輸出事件序列thisEventList,返回步驟303;
步驟311、遍歷被測航天器系統窗口樹模型的其余根窗口節點序列,如果沒有遍歷完,轉到步驟302;否則,得到最終的事件序列集合;
步驟312:針對事件序列集合中的每一個事件,找到該事件對應的api序列,得到事件序列對應的測試用例,最終得到整個事件序列集合對應的測試用例集;
每個測試用例是該路徑上觸發兩個相鄰窗口之間流轉的事件對應的api序列的集合;
步驟四、將生成的測試用例集,逐條輸入到航天器數字化模型與驗證原型系統中,獲取被測航天器的系統級行為的狀態轉移序列;
首先,上傳被測航天器系統的測試用例集到航天器數字化模型與驗證原型系統上;
然后,針對當前測試用例,測試人員手動觸發一個動作指令,原型系統按照測試用例的行為軌跡模擬被測航天器系統執行任務的行為,在測試用例的每一類操作都設置一個跟蹤點,每執行測試用例中的一類操作就記錄一下被測航天器系統的行為狀態和觸發狀態轉移的事件;直到完成一個測試用例,記錄下該測試用例執行全過程中被測航天器系統的不同行為狀態和觸發狀態轉移的事件,形成執行該測試用例時被測航天器的系統級行為的狀態轉移序列;
然后,執行下一個測試用例,直至獲得覆蓋所有測試用例的被測航天器的系統級行為的狀態轉移序列;
步驟五、通過模型檢測算法判斷系統級行為的狀態轉移序列中的每一步狀態轉移是否遵循設定的狀態轉移規則集中的規則;如果是,則說明被測航天器系統通過測試用例集的測試;否則,在行為狀態轉移序列中至少存在一次狀態轉移沒有遵循狀態轉移規則,被測航天器系統未通過測試;
具體為:
步驟501、分別設置已處理隊列初始值為空,反例隊列初始值為空;
步驟502、順序讀取被測航天器系統級行為的狀態轉移序列,獲取當前狀態轉移序列的當前狀態currentSt和下一狀態nextSt;
當前狀態轉移序列初始值為第一個狀態轉移序列;
步驟503、順序讀取預定的狀態轉移規則集中的每一條狀態轉移規則;
步驟504、判斷當前狀態currentSt和下一狀態nextSt是否遵循預定的狀態轉移規則;如果遵循,則轉入步驟505;否則,跳轉到步驟507;
步驟505、將當前狀態轉移序列的當前狀態和下一狀態全部存入已處理隊列;
步驟506、判斷被測航天器系統級行為的狀態轉移序列是否全部遍歷完;如果是,進入步驟508;否則,轉到步驟502,將當前狀態轉移序列的下一狀態nextSt值作為下一個狀態轉移序列的當前狀態currentSt,同時讀取下一個狀態轉移序列新的下一狀態nextSt;
步驟507、判斷預定的狀態轉移規則是否全部讀出,如果全部讀出,將當前的狀態轉移序列的當前狀態和下一狀態存入反例隊列,返回步驟502;否則,返回步驟503;
步驟508、判斷反例隊列中是否為空,如果是,輸出被測航天器系統通過測試;否則,在行為狀態轉移序列中至少存在一次狀態轉移沒有遵循狀態轉移規則,輸出被測航天器系統未通過測試用例集的測試,并輸出反例隊列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710138290.X/1.html,轉載請聲明來源鉆瓜專利網。





