亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件圖形用戶人機(jī)接口測試用例的自動生成方法

文檔序號:9787318閱讀:671來源:國知局
軟件圖形用戶人機(jī)接口測試用例的自動生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件圖形用戶人機(jī)接口測試用例的自動生成方法,屬于軟件的檢驗檢 測技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 軟件測試是軟件開發(fā)必不可少的環(huán)節(jié),而軟件測試過程的主要技術(shù)內(nèi)容就是書寫 軟件測試用例,然后按照測試用例來操作被測程序,評估軟件質(zhì)量并發(fā)現(xiàn)軟件缺陷。
[0003] 目前的軟件測試工業(yè)領(lǐng)域的創(chuàng)新多集中在軟件測試用例的自動化方法,既把測試 用例轉(zhuǎn)化成程序,然后讓軟件代替人工來執(zhí)行測試用例。而測試用例本身,尤其是圖形用戶 接口(GUI)的測試用例準(zhǔn)備還是人工書寫。比如:某用戶登錄測試用例:第一步:啟動程序, 程序用戶登錄對話框出現(xiàn);第二步:在用戶名編輯框內(nèi)輸入有效用戶名;第三步:在密碼框 內(nèi)輸入此用戶名的正確密碼;第四步:點擊登錄按鈕;第五步:查看預(yù)期結(jié)果。用戶應(yīng)當(dāng)順利 登陸網(wǎng)站。很多人幾個月的努力來準(zhǔn)備這些用例在現(xiàn)在軟件領(lǐng)域是很正常的。可以想象,準(zhǔn) 備成百上千這樣的測試用例會多么費時費力費錢。
[0004] 另外在學(xué)術(shù)領(lǐng)域,有很多研究集中在軟件測試用例方面,但他們的研究都使用數(shù) 理邏輯和數(shù)學(xué)來書寫軟件規(guī)格規(guī)定,然后由此通過邏輯來論證程序。這根本上就是用一種 計算機(jī)語言寫軟件規(guī)格規(guī)定,然后用它來論證用JAVA、C書寫的程序的正確性。由于規(guī)格規(guī) 定語言本身和程序語言本身一樣復(fù)雜,甚至更復(fù)雜難懂,現(xiàn)實中,這些研究成果很難被應(yīng)用 到實際軟件開發(fā)中。軟件統(tǒng)一建模語言(UML),算是最實用的軟件抽象模型語言,在描述軟 件行為中被廣泛應(yīng)用。但UML是針對軟件開發(fā)設(shè)計的,它對軟件測試用例幫助不大。這就是 為什么UML在測試領(lǐng)域中,尤其是人機(jī)接口(GUI)測試很少被用到。這些都導(dǎo)致了現(xiàn)在書寫 軟件測試用例的方法落后。
[0005] 從測試角度看軟件開發(fā),有兩個問題:第一,因為時間和任務(wù)的擠壓,軟件需求以 及設(shè)計文檔很難及時更新,沒有足夠的動力和資源,測試人員和開發(fā)人員,尤其是人員流動 大時,會造成知識流失,應(yīng)對此問題的培訓(xùn)費用就會增加。第二,測試用例,尤其是在數(shù)量達(dá) 到成百上千以后,當(dāng)待測軟件設(shè)計改變時,很難維護(hù)。而且由于沒有結(jié)構(gòu),測試用例質(zhì)量很 難把握。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明的目的在于克服現(xiàn)有書寫軟件測試用例的方法存在的上述缺陷,提出了一 種軟件圖形用戶人機(jī)接口測試用例的自動生成方法,通過軟件測試用例的自動化生成,可 以提高生產(chǎn)力、加速軟件開發(fā)速度并降低軟件測試成本。
[0007] 本發(fā)明是采用以下的技術(shù)方案實現(xiàn)的:一種軟件圖形用戶人機(jī)接口測試用例的自 動生成方法,包括如下步驟:
[0008] 第一步:規(guī)定計算的路徑起點為系統(tǒng)啟動;
[0009] 第二步:終點為系統(tǒng)退出;
[0010] 第三步:收集待測軟件行為規(guī)格規(guī)定所有"條件-行動-預(yù)期結(jié)果"形成集合;
[0011] 第四步:選擇集合中一個"條件-行動-預(yù)期結(jié)果";
[0012] 第五步:找出從起點到此"條件-行動-預(yù)期結(jié)果"的路徑;
[0013] 第六步:找出從此"條件-行動-預(yù)期結(jié)果"到終點的路徑;
[0014] 第七步:把第四步和第五步的運算結(jié)果連接起來,就得到一個覆蓋此"條件_行動_ 預(yù)期結(jié)果"的測試用例;
[0015] 第八步:在集合里,剔除已產(chǎn)生的測試用例和已經(jīng)用過的"條件-行動-預(yù)期結(jié)果";
[0016] 第九步:在縮小的集合里,選擇一個"條件-行動-預(yù)期結(jié)果",重復(fù)第五步和第六 步,直到得出一個最小的并且準(zhǔn)確覆蓋所有"條件-行動-預(yù)期結(jié)果"的測試用例集合。
[0017] 進(jìn)一步地,第三步中,待測軟件行為規(guī)格規(guī)定的步驟包括條件、行動和預(yù)期結(jié)果。
[0018] 進(jìn)一步地,第三步中,"條件-行動-預(yù)期結(jié)果"實際是軟件測試用例步驟構(gòu)成基本 元素。
[0019] 進(jìn)一步地,實際測試用例的每一步驟都是待測軟件行為規(guī)格規(guī)定中"條件-行動-預(yù)期結(jié)果"的一個選擇排序。
[0020] 進(jìn)一步地,第五步和第六步中的路徑采用單源路徑算法。
[0021] 進(jìn)一步地,第五步和第六步中的路徑中的每一條路徑就是一個在輸入值等價類基 礎(chǔ)上建立的測試用例。
[0022]本發(fā)明的有益效果是:
[0023] (1)本發(fā)明只要維護(hù)一份軟件行為規(guī)格規(guī)定文檔,便于及時維護(hù)和更新軟件;
[0024] (2)本發(fā)明軟件行為規(guī)格規(guī)定的書寫維護(hù)需要的時間和人力遠(yuǎn)小于大量測試人員 書寫維護(hù)測試用例的需要的時間人力,為企業(yè)降低人員成本;
[0025] (3)本發(fā)明使軟件行為規(guī)格規(guī)定的產(chǎn)生容易,在早期設(shè)計時找出缺陷并將其解決, 規(guī)避風(fēng)險能力強(qiáng);
[0026] (4)本發(fā)明產(chǎn)生的測試用例質(zhì)量高,省去了因待測軟件設(shè)計改變而帶來的測試用 例維護(hù)成本。
【附圖說明】
[0027]圖1是本發(fā)明的原理框圖。
[0028] 圖2是本發(fā)明的"條件-行動-預(yù)期結(jié)果"狀態(tài)變化圖。
【具體實施方式】
[0029] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
[0030] 實施例一:
[0031] 如圖1所示,本發(fā)明所述的軟件圖形用戶人機(jī)接口測試用例的自動生成方法,包括 如下步驟:
[0032] 第一步:規(guī)定計算的路徑起點為系統(tǒng)啟動;
[0033]第二步:終點為系統(tǒng)退出;
[0034]第三步:收集待測軟件行為規(guī)格規(guī)定所有"條件-行動-預(yù)期結(jié)果"形成集合;
[0035]第四步:選擇集合中一個"條件-行動-預(yù)期結(jié)果";
[0036] 第五步:找出從起點到此"條件-行動-預(yù)期結(jié)果"的路徑;
[0037] 第六步:找出從此"條件-行動-預(yù)期結(jié)果"到終點的路徑;
[0038] 第七步:把第四步和第五步的運算結(jié)果連接起來,就得到一個覆蓋此"條件_行動_ 預(yù)期結(jié)果"的測試用例;
[0039]第八步:在集合里,剔除已產(chǎn)生的測試用例和已經(jīng)用過的"條件-行動-預(yù)期結(jié)果"; [0040]第九步:在縮小的集合里,選擇一個"條件-行動-預(yù)期結(jié)果",重復(fù)第五步和第六 步,直到得出一個最小的并且準(zhǔn)確覆蓋所有"條件-行動-預(yù)期結(jié)果"的測試用例集合。
[0041] 本發(fā)明的原理在于軟件行為規(guī)格和測試用例二合一。
[0042] 實施例二:
[0043] 下面以圖形用戶接口(GUI)測試用例的自動生成為例對本發(fā)明的原理進(jìn)行解釋。
[0044] 現(xiàn)有技術(shù)人員困擾的問題的實質(zhì)是:要么集中在純理論探討,復(fù)雜無比;要么就在 微軟Word或類似工具里一條條地書寫測試用例步驟,而忘記了考察兩者的中間地帶。
[0045] 其實可以在應(yīng)用日常語言描述測試步驟的同時,在軟件行為規(guī)格規(guī)定中加入面向 對象式結(jié)構(gòu)。這結(jié)構(gòu)具有普適性,而可以利用這個結(jié)構(gòu),借助軟件的運算能力,實現(xiàn)測試用 例的自動生成。
[0046] 用戶圖形人機(jī)接口(GUI)都是由一系列控件組成,包括編輯框、視窗、按鈕等等。在 編程中,需要按照面向?qū)ο罄煤芏喔拍?對象、類、封裝、繼承、多態(tài)等等,而且要用語言寫 出,并能讓能執(zhí)行,所以,復(fù)雜程度高。
[0047] 但讓測試人員執(zhí)行的測試用例不同,它們只要描述清步驟,讓測試員看懂就行。所 以大大簡化,主要只用三個概念:
[0048] 對象一用來代表待測軟件,圖形人機(jī)接口控件,包括系統(tǒng)內(nèi)部模塊、環(huán)境等等。
[0049] 行動一用來描述圖形人機(jī)接口引起軟件變化的鼠標(biāo)點擊、鍵盤輸入、事件,以及在 日常語言層面的行動描述,如登錄、文件存儲等等。
[0050] 變量--用來描述控件屬性,如編輯框數(shù)據(jù)內(nèi)容形式,視窗是否打開等等。在編程 中,變量可以是一個整數(shù),一個對象,各種數(shù)據(jù)類型,很復(fù)雜。但在描述待測軟件行為,產(chǎn)生 測試用例中,只用字符串,就像寫文章,讓字符串的語義來代表變量內(nèi)容。
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1