国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于符號(hào)執(zhí)行的gui程序測(cè)試用例擴(kuò)增方法

      文檔序號(hào):8223403閱讀:442來(lái)源:國(guó)知局
      基于符號(hào)執(zhí)行的gui程序測(cè)試用例擴(kuò)增方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于軟件測(cè)試技術(shù)領(lǐng)域,尤其是軟件測(cè)試中測(cè)試用例擴(kuò)增領(lǐng)域,用于GUI 程序測(cè)試用例的擴(kuò)增。
      【背景技術(shù)】
      [0002] 軟件測(cè)試是一項(xiàng)旨在幫助軟件從業(yè)者評(píng)估被測(cè)軟件的質(zhì)量狀況的探宄性活動(dòng)。軟 件項(xiàng)目工作者通過(guò)軟件測(cè)試活動(dòng)對(duì)項(xiàng)目所開(kāi)發(fā)產(chǎn)品的質(zhì)量與可用性進(jìn)行評(píng)估,從而獲得具 有借鑒意義的評(píng)估結(jié)果。在完整的軟件開(kāi)發(fā)流程中,軟件測(cè)試活動(dòng)貫穿始終,占據(jù)了軟件開(kāi) 發(fā)項(xiàng)目的大部分時(shí)間,需要大量的人力物力資源投入。由此可見(jiàn),在軟件項(xiàng)目的開(kāi)發(fā)中,以 保障軟件產(chǎn)品的質(zhì)量為目的的軟件測(cè)試占據(jù)著極其重要的地位。優(yōu)秀、成功的軟件測(cè)試過(guò) 程能夠找出被測(cè)試軟件產(chǎn)品中存在的錯(cuò)誤、缺陷、失效和事故,從而幫助軟件產(chǎn)品開(kāi)發(fā)者對(duì) 軟件產(chǎn)品進(jìn)行合理有效的修復(fù)與改善,并提高軟件產(chǎn)品的質(zhì)量,縮短開(kāi)發(fā)出的軟件產(chǎn)品與 產(chǎn)品需求之間的差距,將開(kāi)發(fā)出的軟件產(chǎn)品的質(zhì)量與功能偏差控制在可接受范圍以內(nèi)。
      [0003] 測(cè)試用例是軟件測(cè)試的重要組成部分,從軟件測(cè)試活動(dòng)的本質(zhì)來(lái)說(shuō),軟件測(cè)試就 是針對(duì)待測(cè)軟件設(shè)計(jì)并開(kāi)發(fā)出多個(gè)測(cè)試用例。在世界各地的研宄學(xué)者對(duì)軟件測(cè)試技術(shù)進(jìn)行 深入研宄的同時(shí),各種通過(guò)改變測(cè)試用例來(lái)提高軟件測(cè)試效率的技術(shù)也相繼被提出,例如, 通過(guò)對(duì)測(cè)試用例進(jìn)行優(yōu)化選擇提高測(cè)試活動(dòng)效率、通過(guò)自動(dòng)化生成測(cè)試用例以減少測(cè)試活 動(dòng)中的資源耗費(fèi)等技術(shù)。
      [0004] 在軟件測(cè)試過(guò)程中,設(shè)計(jì)并開(kāi)發(fā)出高效的測(cè)試用例對(duì)于軟件測(cè)試人員來(lái)講,并不 是一項(xiàng)輕松的工作。在測(cè)試圖形用戶界面(GUI)軟件產(chǎn)品時(shí),軟件測(cè)試工作者不僅應(yīng)該熟 悉被測(cè)軟件的各種功能如何使用,還需要熟悉軟件產(chǎn)品的后臺(tái)實(shí)現(xiàn)邏輯,從而設(shè)計(jì)出高覆 蓋、高效率的測(cè)試用例。但是從工業(yè)界中軟件開(kāi)發(fā)活動(dòng)與測(cè)試活動(dòng)由不同人員組織進(jìn)行的 情況來(lái)看,測(cè)試人員難以充分了解軟件程序的后臺(tái)處理邏輯,導(dǎo)致測(cè)試活動(dòng)不充分。為了減 少人力與財(cái)物資源消耗,一些軟件開(kāi)發(fā)公司會(huì)招收經(jīng)驗(yàn)不足的軟件從業(yè)者進(jìn)行軟件測(cè)試活 動(dòng),這樣會(huì)增多開(kāi)發(fā)測(cè)試用例所耗費(fèi)的時(shí)間,降低生成的測(cè)試用例的測(cè)試效率。

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

      [0005] 本發(fā)明要解決的問(wèn)題是:在圖形用戶界面軟件測(cè)試中,針對(duì)后臺(tái)處理程序測(cè)試的 測(cè)試用例生成不僅需要耗費(fèi)大量資源,且生成的測(cè)試用例并不足以保證其分支覆蓋率和有 效性。
      [0006] 本發(fā)明的技術(shù)方案為:基于符號(hào)執(zhí)行的⑶I程序測(cè)試用例擴(kuò)增方法,對(duì)于一個(gè)⑶I 待測(cè)程序,使用工具Java Path Finder,簡(jiǎn)稱JPF,為待測(cè)程序源代碼創(chuàng)建jpf"文件,并 靜態(tài)分析待測(cè)程序代碼,獲取JPF符號(hào)執(zhí)行分析后產(chǎn)生的有效輸入值;確定已有測(cè)試用例 中需要修改的參數(shù),然后根據(jù)控件的名字屬性作為關(guān)鍵字搜索與定位到待測(cè)程序中所述需 要修改的參數(shù)對(duì)應(yīng)的位置,得到修改參數(shù)有效輸入值,再用所述修改參數(shù)有效輸入值替換 已有測(cè)試用例原腳本中對(duì)應(yīng)位置的輸入值,生成新的測(cè)試用例,所述新的測(cè)試用例用于擴(kuò) 增原測(cè)試用例集。
      [0007] 按照以下步驟生成jpf"文件并進(jìn)行符號(hào)執(zhí)行:
      [0008] 1)掃描待測(cè)程序中包含的待測(cè)類,并確定其中的程序方法及輸入?yún)?shù)的個(gè)數(shù);
      [0009] 2)對(duì)每個(gè)輸入?yún)?shù),隨機(jī)產(chǎn)生參數(shù)值;
      [0010] 3)對(duì)于每個(gè)待測(cè)類,自動(dòng)生成包含main()方法的java文件,即"? jpf"文件, main()方法中包含待測(cè)類中所有的方法;
      [0011] 4)根據(jù)新生成的java文件設(shè)定JPF執(zhí)行時(shí)的參數(shù),包括target、classpath、 symbolic, method、listener、search. multiple_errors 和 vm. storage, class 這 6 個(gè)執(zhí)行 參數(shù):
      [0012] target:指定新生成的包含待測(cè)類的java文件的名字;
      [0013] classpath:指定新生成的定包含待測(cè)類的java文件編譯后的bin文件所在目 錄;
      [0014] symbolic,method:指定待測(cè)類中的待測(cè)方法,如果待測(cè)類中的一個(gè)方法是被另一 個(gè)方法調(diào)用的,則只將進(jìn)行調(diào)用的方法作為待測(cè)方法的候選,忽略被調(diào)用的方法;
      [0015] listener:指定JPF中針對(duì)符號(hào)執(zhí)行的監(jiān)控器,設(shè)為.symbc.SymbolicListener;
      [0016] search. multiple_errors :包含 True 和 False 兩種值,True 指在符號(hào)執(zhí)行過(guò)程 中即使碰到錯(cuò)誤仍會(huì)繼續(xù)執(zhí)行,F(xiàn)alse指在符號(hào)執(zhí)行過(guò)程中碰到錯(cuò)誤時(shí)停止執(zhí)行,默認(rèn)值為 True;
      [0017] vm. storage, class:用于存儲(chǔ)狀態(tài)的類,設(shè)為nail,即空;
      [0018] 5)根據(jù)步驟4)設(shè)定的JPF的執(zhí)行參數(shù),用JPF執(zhí)行新生成的包含待測(cè)類的java 文件,獲得該類的符號(hào)執(zhí)行結(jié)果,得到有效輸入值。
      [0019] 對(duì)于一個(gè)GUI待測(cè)程序,將其前端的輸入域和后臺(tái)代碼的參數(shù)相對(duì)應(yīng),以便根據(jù) 名字屬性確定更新輸入值的位置。
      [0020] GUI程序的測(cè)試用例主要針對(duì)程序界面進(jìn)行測(cè)試。目前已有的基于符號(hào)執(zhí)行的測(cè) 試用例擴(kuò)增方法較少,且大部分方法針對(duì)命令行程序,并不能對(duì)GUI程序界面進(jìn)行測(cè)試用 例擴(kuò)增。主要原因是符號(hào)執(zhí)行針對(duì)的是后臺(tái)邏輯代碼,直接用符號(hào)執(zhí)行生成的測(cè)試用例并 不一定能夠滿足GUI程序的系統(tǒng)級(jí)需求或有效的查出GUI程序存在的問(wèn)題。假設(shè)運(yùn)用傳統(tǒng) 的符號(hào)執(zhí)行得到不同路徑上的兩個(gè)測(cè)試用例T和T',雖然T和T'的執(zhí)行路徑并不相同,但 這兩條路徑對(duì)應(yīng)的界面可能是一樣的。另外,對(duì)于某些CTI界面,并不能夠確定其對(duì)應(yīng) 程序路徑,傳統(tǒng)的符號(hào)執(zhí)行無(wú)法進(jìn)行。因此,單純的使用已有的基于符號(hào)執(zhí)行的測(cè)試用例擴(kuò) 增方法并不能滿足GUI軟件擴(kuò)增的測(cè)試需求。
      [0021] 本發(fā)明提出了一種改進(jìn)的基于符號(hào)執(zhí)行的測(cè)試用例擴(kuò)增方法,該方法在傳統(tǒng)符號(hào) 執(zhí)行的基礎(chǔ)上進(jìn)行改進(jìn),將GUI程序前臺(tái)界面與后臺(tái)邏輯代碼相對(duì)應(yīng),以待測(cè)程序中控件 的名字屬性作為關(guān)鍵字在待測(cè)程序的腳本中搜索與定位需要置入新輸入值的位置,再運(yùn)用 符號(hào)執(zhí)行來(lái)生成擴(kuò)增的測(cè)試用例集。
      [0022] 本發(fā)明作為一種界面測(cè)試技術(shù)引入了符號(hào)執(zhí)行技術(shù),通過(guò)人工或自動(dòng)手段, 將GUI程序前臺(tái)界面與后臺(tái)邏輯代碼相結(jié)合,得到一條可以執(zhí)行到待測(cè)界面的路徑,使得 能夠運(yùn)用符號(hào)執(zhí)行的方法完成對(duì)程序前臺(tái)界面測(cè)試用例的擴(kuò)增,讓CTI程序前臺(tái)界面 的測(cè)試更加充分,從而使得測(cè)試人員可以得到較充分的測(cè)試用例集,大大提高了 GUI程序 前臺(tái)界面的測(cè)試效率。
      【附圖說(shuō)明】
      [0023] 圖1為本發(fā)明實(shí)施例的主要流程圖。
      [0024] 圖2為本發(fā)明方法的流程圖。
      [0025] 圖3為符號(hào)執(zhí)行的示例代碼。
      [0026] 圖4為圖3示例代碼的控制流圖。
      [0027] 圖5為圖3示例代碼的符號(hào)
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1