[發(fā)明專利]一種基于廣度優(yōu)先搜索的測試用例生成方法及裝置有效
| 申請?zhí)枺?/td> | 202011255307.8 | 申請日: | 2020-11-11 |
| 公開(公告)號: | CN112416761B | 公開(公告)日: | 2023-07-07 |
| 發(fā)明(設(shè)計)人: | 王婷婷;張國宇;彭鳴;毛偉;高程;劉蕓;侯磊;孫躍聰 | 申請(專利權(quán))人: | 北京京航計算通訊研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/901 |
| 代理公司: | 北京天達(dá)知識產(chǎn)權(quán)代理事務(wù)所有限公司 11386 | 代理人: | 李明里 |
| 地址: | 100074 北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 廣度 優(yōu)先 搜索 測試 生成 方法 裝置 | ||
1.一種基于廣度優(yōu)先搜索的測試用例生成方法,其特征在于,包括:
按照系統(tǒng)業(yè)務(wù)數(shù)據(jù)流的層級關(guān)系,建立對節(jié)點(diǎn)入度和出度進(jìn)行加權(quán)的有向樹形結(jié)構(gòu);
對所述有向樹形結(jié)構(gòu)逐層進(jìn)行正向搜索和逆向搜索,獲得并記錄系統(tǒng)的所有測試用例;其中,
每層的正向搜索,沿父節(jié)點(diǎn)向子節(jié)點(diǎn)的方向,搜索父節(jié)點(diǎn)到子節(jié)點(diǎn)的分支,記錄下測試用例,將其對應(yīng)的父節(jié)點(diǎn)出度減1,子節(jié)點(diǎn)入度減1;每個子節(jié)點(diǎn)只訪問一次,直至訪問到該層所有的子節(jié)點(diǎn)后停止正向搜索;
正向搜索之后,若該層中還存在入度不為0的子節(jié)點(diǎn),則進(jìn)行逆向搜索;從子節(jié)點(diǎn)向父節(jié)點(diǎn)方向,遍歷入度不為0子節(jié)點(diǎn)到與之連接的出度不為0父節(jié)點(diǎn)之間的分支,記錄下測試用例,將其對應(yīng)的父節(jié)點(diǎn)出度減1,子節(jié)點(diǎn)入度減1,直至所有子節(jié)點(diǎn)的入度均為0,停止該層的逆向搜索;
通過逐層的正向搜索和逆向搜索,直至所有節(jié)點(diǎn)的入度和出度均為0,得到所有的測試用例;
所述有向樹形結(jié)構(gòu)的建立過程包括以下步驟:
步驟S301、獲取系統(tǒng)的業(yè)務(wù)流;
步驟S302、根據(jù)業(yè)務(wù)流以及約束條件得到業(yè)務(wù)控制流;
所述控制流構(gòu)造是數(shù)據(jù)流融入控制層之后形成的邏輯處理和程序跳轉(zhuǎn)的結(jié)果,其控制對象是數(shù)據(jù),數(shù)據(jù)在邏輯處理過程中的形式和狀態(tài)的變化,通過一個過程或程序的抽象表現(xiàn),呈現(xiàn)所遍歷到的路徑,用圖的形式表示一個過程內(nèi)所有基本塊執(zhí)行的可能流向,反映一個過程的實時執(zhí)行過程;所述約束條件為程序邏輯執(zhí)行的先后順序;
步驟S303、根據(jù)業(yè)務(wù)控制流結(jié)合業(yè)務(wù)數(shù)據(jù)的流向以及轉(zhuǎn)變得到業(yè)務(wù)數(shù)據(jù)流;
結(jié)合系統(tǒng)業(yè)務(wù)邏輯,由上到下,先分析頂層數(shù)據(jù)流圖,再將整體劃分為多個獨(dú)立且互通的模塊,再由系統(tǒng)控制流圖作為輔助,分別描述頂層互通模塊和各個子模塊相關(guān)數(shù)據(jù)流圖;
步驟S304、根據(jù)業(yè)務(wù)數(shù)據(jù)流建立所述有向樹形結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的測試用例生成方法,其特征在于,所述根據(jù)業(yè)務(wù)數(shù)據(jù)流建立有向樹形結(jié)構(gòu),包括:
1)根據(jù)業(yè)務(wù)數(shù)據(jù)流節(jié)點(diǎn)個數(shù),以及節(jié)點(diǎn)輸入輸出的有效數(shù)據(jù)和無效數(shù)據(jù),確定節(jié)點(diǎn)不同流向的分支;
2)按照節(jié)點(diǎn)分支結(jié)構(gòu),以直接輸入輸出連接的兩個節(jié)點(diǎn)作為上下層,確定所有節(jié)點(diǎn)的層次關(guān)系;
3)根據(jù)節(jié)點(diǎn)有效數(shù)據(jù)和無效數(shù)據(jù)的輸入輸出分支,得到節(jié)點(diǎn)作為接收者和發(fā)送者次數(shù),分別為該節(jié)點(diǎn)的入度和出度數(shù);
4)依據(jù)數(shù)據(jù)流向,使用有向線段將所有節(jié)點(diǎn)連接起來,構(gòu)成有向樹形結(jié)構(gòu)。
3.根據(jù)權(quán)利要求1所述的測試用例生成方法,其特征在于,所述根據(jù)業(yè)務(wù)控制流結(jié)合業(yè)務(wù)數(shù)據(jù)的流向以及轉(zhuǎn)變得到業(yè)務(wù)數(shù)據(jù)流,包括:
1)確定系統(tǒng)包含的應(yīng)用實體;
2)根據(jù)實體間業(yè)務(wù)交互數(shù)據(jù);解析實體輸入輸出,確定各個實體的出度和入度;
4)根據(jù)實體之間數(shù)據(jù)處理過程確定數(shù)據(jù)流向,每個處理至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流;
5)根據(jù)加工結(jié)果分析數(shù)據(jù)的有效性,確認(rèn)數(shù)據(jù)是否存儲,并依據(jù)控制流圖的業(yè)務(wù)邏輯,分析相關(guān)約束條件、有效數(shù)據(jù)和無效數(shù)據(jù),并確定業(yè)務(wù)執(zhí)行的先后順序,形成業(yè)務(wù)數(shù)據(jù)流。
4.根據(jù)權(quán)利要求1所述的測試用例生成方法,其特征在于,系統(tǒng)業(yè)務(wù)控制流生成步驟:
1)根據(jù)用戶提供的相關(guān)測試需求文檔,結(jié)合軟件源程序劃分事件處理流程;
2)定義事件處理節(jié)點(diǎn)對象;
3)組織事件處理節(jié)點(diǎn)對象的執(zhí)行次序。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京航計算通訊研究所,未經(jīng)北京京航計算通訊研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011255307.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 單視場深度估算方法及系統(tǒng)
- 一種VPMN網(wǎng)的潛在成員挖掘方法
- 演唱歌曲熟識廣度檢測方法和裝置
- 渦輪發(fā)動機(jī)部件和用于組裝及檢修渦輪發(fā)動機(jī)部件的方法
- 采用變量增益算法與廣度層內(nèi)增益算法的保險數(shù)據(jù)決策樹構(gòu)建方法
- 一種基于網(wǎng)絡(luò)節(jié)點(diǎn)廣度與深度捕捉的社交網(wǎng)絡(luò)用戶群組分類方法
- 用于提供自然語言查詢的反饋的系統(tǒng)和方法
- 一種基于廣度優(yōu)先搜索的二值圖標(biāo)記方法
- 融媒體傳播效果評估方法、存儲介質(zhì)和電子設(shè)備
- 結(jié)合廣度和密集卷積神經(jīng)網(wǎng)絡(luò)的圖像識別方法、系統(tǒng)、設(shè)備及介質(zhì)





