[發(fā)明專利]一種基于廣度優(yōu)先搜索的測試用例生成方法及裝置有效
| 申請?zhí)枺?/td> | 202011255307.8 | 申請日: | 2020-11-11 |
| 公開(公告)號: | CN112416761B | 公開(公告)日: | 2023-07-07 |
| 發(fā)明(設計)人: | 王婷婷;張國宇;彭鳴;毛偉;高程;劉蕓;侯磊;孫躍聰 | 申請(專利權)人: | 北京京航計算通訊研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/901 |
| 代理公司: | 北京天達知識產(chǎn)權代理事務所有限公司 11386 | 代理人: | 李明里 |
| 地址: | 100074 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 廣度 優(yōu)先 搜索 測試 生成 方法 裝置 | ||
本發(fā)明涉及一種基于廣度優(yōu)先搜索的測試用例生成方法及裝置,包括:建立對節(jié)點入度和出度進行加權的有向樹形結(jié)構(gòu);對所述有向樹形結(jié)構(gòu)逐層進行正向搜索和逆向搜索,獲得并記錄系統(tǒng)的所有測試用例;每層的正向搜索沿父節(jié)點向子節(jié)點的方向搜索,對搜索到測試用例的父節(jié)點出度和子節(jié)點入度均減1;正向搜索之后,若該層中還存在入度不為0的子節(jié)點,則進行逆向搜索;從子節(jié)點向父節(jié)點方向搜索,對搜索到測試用例的父節(jié)點出度和子節(jié)點入度均減1,直至所有子節(jié)點的入度均為0,停止該層的逆向搜索;通過逐層的正向搜索和逆向搜索,直至所有節(jié)點的入度和出度均為0,得到所有的測試用例。本發(fā)明避免測試用例的遺漏,提高對系統(tǒng)測試的充分性。
技術領域
本發(fā)明涉及軟件測試領域技術領域,尤其是一種基于廣度優(yōu)先搜索的測試用例生成方法及裝置。
背景技術
軟件測試是用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案,測試并不僅僅是為了找出錯誤,通過分析錯誤產(chǎn)生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進。
目前的專業(yè)軟件系統(tǒng)大部分功能的實現(xiàn)是通過復雜的人機交互完成的,因而測試用例的生成也就成為軟件測試的關鍵任務和難點,而且測試用例生成方法也常常只考慮軟件的界面信息,而忽略了軟件的具體需求和邏輯實現(xiàn)流程。據(jù)統(tǒng)計設計測試用例的花費占到所有軟件測試開銷的40%左右,長期以來,大部分測試用例的生成仍通過手工完成,對參與測試的人員經(jīng)驗和專業(yè)水平都有著較高的要求。因此,實際情況中的測試用例生成帶有很高的盲目性和隨意性,導致生成的測試用例不能很好地覆蓋需求結(jié)果,測試用例不僅數(shù)量多,而且測試效果不佳,測試成本偏高。
發(fā)明內(nèi)容
鑒于上述的分析,本發(fā)明旨在公開了一種基于廣度優(yōu)先搜索的測試用例生成方法及裝置,解決測試用例生成效率和準確性低問題,實現(xiàn)降低測試成本,完全覆蓋測試需求。
本發(fā)明公開了一種基于廣度優(yōu)先搜索的測試用例生成方法,包括:
按照系統(tǒng)業(yè)務數(shù)據(jù)流的層級關系,建立對節(jié)點入度和出度進行加權的有向樹形結(jié)構(gòu);
對所述有向樹形結(jié)構(gòu)逐層進行正向搜索和逆向搜索,獲得并記錄系統(tǒng)的所有測試用例;其中,
每層的正向搜索,沿父節(jié)點向子節(jié)點的方向,搜索父節(jié)點到子節(jié)點的分支,記錄下測試用例,將其對應的父節(jié)點出度減1,子節(jié)點入度減1;每個子節(jié)點只訪問一次,直至訪問到該層所有的子節(jié)點后停止正向搜索;
正向搜索之后,若該層中還存在入度不為0的子節(jié)點,則進行逆向搜索;從子節(jié)點向父節(jié)點方向,遍歷入度不為0子節(jié)點到與之連接的出度不為0父節(jié)點之間的分支,記錄下測試用例,將其對應的父節(jié)點出度減1,子節(jié)點入度減1,直至所有子節(jié)點的入度均為0,停止該層的逆向搜索;
通過逐層的正向搜索和逆向搜索,直至所有節(jié)點的入度和出度均為0,得到所有的測試用例。
進一步地,所述有向樹形結(jié)構(gòu)的建立過程包括以下步驟:
步驟S301、獲取系統(tǒng)的業(yè)務流;
步驟S302、根據(jù)業(yè)務流以及約束條件得到業(yè)務控制流;
步驟S303、根據(jù)業(yè)務控制流結(jié)合業(yè)務數(shù)據(jù)的流向以及轉(zhuǎn)變得到業(yè)務數(shù)據(jù)流;
步驟S304、根據(jù)業(yè)務數(shù)據(jù)流建立所述有向樹形結(jié)構(gòu)。
進一步地,所述根據(jù)業(yè)務數(shù)據(jù)流建立有向樹形結(jié)構(gòu),包括:
1)根據(jù)業(yè)務數(shù)據(jù)流節(jié)點個數(shù),以及節(jié)點輸入輸出的有效數(shù)據(jù)和無效數(shù)據(jù),確定節(jié)點不同流向的分支;
2)按照節(jié)點分支結(jié)構(gòu),以直接輸入輸出連接的兩個節(jié)點作為上下層,確定所有節(jié)點的層次關系;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京航計算通訊研究所,未經(jīng)北京京航計算通訊研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011255307.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 單視場深度估算方法及系統(tǒng)
- 一種VPMN網(wǎng)的潛在成員挖掘方法
- 演唱歌曲熟識廣度檢測方法和裝置
- 渦輪發(fā)動機部件和用于組裝及檢修渦輪發(fā)動機部件的方法
- 采用變量增益算法與廣度層內(nèi)增益算法的保險數(shù)據(jù)決策樹構(gòu)建方法
- 一種基于網(wǎng)絡節(jié)點廣度與深度捕捉的社交網(wǎng)絡用戶群組分類方法
- 用于提供自然語言查詢的反饋的系統(tǒng)和方法
- 一種基于廣度優(yōu)先搜索的二值圖標記方法
- 融媒體傳播效果評估方法、存儲介質(zhì)和電子設備
- 結(jié)合廣度和密集卷積神經(jīng)網(wǎng)絡的圖像識別方法、系統(tǒng)、設備及介質(zhì)





