[發(fā)明專利]一種基于帶權(quán)重的事件處理函數(shù)模型生成GUI軟件測(cè)試用例的方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710856144.0 | 申請(qǐng)日: | 2017-09-15 |
| 公開(kāi)(公告)號(hào): | CN107608890A | 公開(kāi)(公告)日: | 2018-01-19 |
| 發(fā)明(設(shè)計(jì))人: | 毛宇光;向日鋒;李麗媛 | 申請(qǐng)(專利權(quán))人: | 南京航空航天大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 211100 江蘇省*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 權(quán)重 事件 處理 函數(shù) 模型 生成 gui 軟件 測(cè)試 方法 | ||
1技術(shù)領(lǐng)域
本發(fā)明涉及一種GUI軟件測(cè)試用例生成方法,特別是一種基于帶權(quán)重的事件處理函數(shù)模型生成GUI軟件測(cè)試用例的方法,該方法屬于軟件測(cè)試技術(shù)領(lǐng)域。
2背景技術(shù)
隨著信息技術(shù)的飛速發(fā)展,計(jì)算機(jī)軟件漸漸深入到社會(huì)中的各個(gè)領(lǐng)域。然而,在軟件的設(shè)計(jì)、開(kāi)發(fā)等階段都可能引入錯(cuò)誤從而導(dǎo)致軟件功能部分或者整體失效,甚至引發(fā)嚴(yán)重的生產(chǎn)安全問(wèn)題。這使得軟件質(zhì)量也不得不受到人們的關(guān)注。
圖形用戶界面(Graphical User Interface,GUI)作為下層應(yīng)用代碼的前端表示,對(duì)諸如點(diǎn)擊鼠標(biāo)、選擇菜單等用戶事件做出相應(yīng)的響應(yīng)。因?yàn)槠湎鄬?duì)于早期計(jì)算機(jī)中的命令行界面更直觀且易于操作等特點(diǎn),使其漸漸成為當(dāng)今軟件系統(tǒng)中人機(jī)交互過(guò)程不可或缺的方式。出于易用性的考慮,現(xiàn)今軟件開(kāi)發(fā)人員通常采用更多的代碼來(lái)實(shí)現(xiàn)應(yīng)用軟件的GUI,幾乎能占到整個(gè)應(yīng)用軟件程序代碼量的60%,甚至在一些需要嚴(yán)格安全性要求的軟件中也逐漸在采用作為人機(jī)交互界面。所以,GUI功能的正確性和魯棒性也成為保證整個(gè)軟件可用性和安全性等的重要部分,對(duì)GUI的測(cè)試也應(yīng)該成為整個(gè)軟件測(cè)試流程中不可或缺的部分。
GUI相對(duì)于傳統(tǒng)軟件存在諸多特點(diǎn),使得傳統(tǒng)的測(cè)試方法無(wú)法有效地運(yùn)用到GUI測(cè)試上。首先,傳統(tǒng)測(cè)試方法涉及到的軟件都是基于過(guò)程模式,程序設(shè)計(jì)者和測(cè)試人員都能清楚地知道整個(gè)程序流程,從而設(shè)計(jì)相應(yīng)的測(cè)試用例。然而GUI最大一個(gè)特點(diǎn)就是其是基于事件驅(qū)動(dòng)模式,即GUI是依靠用戶輸入事件觸發(fā)相應(yīng)的事件處理程序,因?yàn)橛脩糨斎氲碾S機(jī)性,使得整個(gè)程序執(zhí)行也有相當(dāng)大的隨機(jī)性,對(duì)下一步的執(zhí)行事件與程序流程基本上都是不可預(yù)知的。其次,因?yàn)镚UI是以事件作為輸入單位,并且事件之間相對(duì)比較獨(dú)立,事件之間完整的排列組合使得GUI的輸入空間極其巨大,使用傳統(tǒng)的測(cè)試方法所生成的測(cè)試用例很難達(dá)到測(cè)試覆蓋的要求。同時(shí),即使是對(duì)于相同的輸入事件集合,如果事件輸入順序不同,其GUI內(nèi)部狀態(tài)都可能不同,所以巨大的輸入空間也導(dǎo)致了GUI內(nèi)部巨大的狀態(tài)空間,直接影響到其后的測(cè)試評(píng)判生成的難度,使得傳統(tǒng)的測(cè)試方法難以適應(yīng)。最后,因?yàn)镚UI是以事件作為輸入,且事件之間存在大量的交互關(guān)系,使得傳統(tǒng)測(cè)試中的諸如分支覆蓋、語(yǔ)句覆蓋等經(jīng)典的覆蓋準(zhǔn)則很難適用于GUI測(cè)試中,無(wú)法有效地指導(dǎo)測(cè)試進(jìn)程。
GUI測(cè)試是一個(gè)新的測(cè)試研究領(lǐng)域,隨著GUI應(yīng)用的快速發(fā)展,GUI測(cè)試的研究卻相對(duì)滯后,這對(duì)整個(gè)軟件開(kāi)發(fā)和測(cè)試過(guò)程都有著不可估量的影響。測(cè)試用例生成問(wèn)題是軟件測(cè)試的核心所在,同時(shí),因?yàn)镚UI的圖形界面特點(diǎn)和巨大的狀態(tài)空間,使得測(cè)試評(píng)判的生成也存在諸多難點(diǎn),所以研究針對(duì)GUI而特有的測(cè)試用例生成和測(cè)試評(píng)判生成方法有極其重要的意義。
3發(fā)明內(nèi)容
3.1發(fā)明目的
為了解決大量的測(cè)試用例無(wú)法盡快找到軟件缺陷的問(wèn)題,本發(fā)明提出一種基于帶權(quán)重的事件處理函數(shù)模型生成GUI軟件測(cè)試用例的方法對(duì)GUI軟件建模。這一模型生成具有優(yōu)先級(jí)的測(cè)試用例,一方面能盡快找到軟件缺陷,另一方面為大型項(xiàng)目的測(cè)試用例精簡(jiǎn)提供了幫助,提高了軟件測(cè)試的效率。
3.2技術(shù)方案
本發(fā)明為解決其技術(shù)問(wèn)題采用如下技術(shù)方案,具體包含以下幾個(gè)步驟:
步驟一:利用Windows操作系統(tǒng)提供的微軟UIA(User Interface Automation,用戶界面自動(dòng)化)框架識(shí)別AUT(Application Under Test,待測(cè)軟件)中的所有控件以及控件的屬性,并通過(guò)UIA提供的接口驅(qū)動(dòng)AUT執(zhí)行,并生成該AUT的EFG模型;
步驟二:利用Roslyn工具對(duì)SUT源代碼靜態(tài)分析,獲得所有事件處理函數(shù)之間的定義-引用對(duì),根據(jù)定義-引用對(duì)給所有控件設(shè)置權(quán)重,在控件之間設(shè)置依賴度大小值,生成WEHG模型;
步驟三:利用WEHG(Event-Hander Graph based on Weight,帶權(quán)重的事件處理函數(shù)模型)模型生成抽象的測(cè)試用例集;
步驟四:將抽象的測(cè)試用例集每一個(gè)測(cè)試用例結(jié)合EFG模型生成完整的測(cè)試用例。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京航空航天大學(xué),未經(jīng)南京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710856144.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 權(quán)重調(diào)整模塊與權(quán)重調(diào)整方法
- 網(wǎng)頁(yè)主題的分類方法及裝置
- 接收裝置
- 基于權(quán)重濾波的視頻去噪裝置及方法
- 權(quán)重?cái)?shù)據(jù)存儲(chǔ)方法和基于該方法的神經(jīng)網(wǎng)絡(luò)處理器
- 危害因素的權(quán)重因子的確定方法、裝置及存儲(chǔ)介質(zhì)
- 用于優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法
- 處理器
- 用于對(duì)深度神經(jīng)網(wǎng)絡(luò)的權(quán)重進(jìn)行轉(zhuǎn)換的方法和系統(tǒng)
- 神經(jīng)網(wǎng)絡(luò)的量化方法、裝置、服務(wù)器和存儲(chǔ)介質(zhì)
- 一種事件通訊裝置及方法
- 動(dòng)態(tài)權(quán)重事件處理系統(tǒng)和方法
- 攻擊檢測(cè)裝置和攻擊檢測(cè)方法
- 基于Unity的事件管理方法及系統(tǒng)
- 事件解析裝置、事件解析系統(tǒng)、事件解析方法及事件解析程序
- 事件解析裝置、事件解析系統(tǒng)、事件解析方法及事件解析程序
- 事件解析裝置、事件解析系統(tǒng)、事件解析方法及事件解析程序
- 熱點(diǎn)事件確定方法及裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種樹(shù)狀模型中節(jié)點(diǎn)的連接方法及其模型、計(jì)算機(jī)裝置和可讀存儲(chǔ)介質(zhì)
- 一種事件處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





