【正文】
選擇 /生成測(cè)試用例,這些生成的測(cè)試用例接著對(duì) AUT 執(zhí)行,執(zhí)行的結(jié)果如果是 Z,即是否有故障檢測(cè),然后重新編碼。 我們首先研究什么樣的價(jià)值可以設(shè)置參數(shù) λ,選擇一組 λ 的值然后確定,對(duì)于 λ的每一個(gè)值,n 測(cè)試套件的價(jià)值產(chǎn)生 TP( λ)的分布。 (三)、 基于 PR的測(cè)試資料模型 可達(dá)性事件( PR)的比例是在 0 和 1 之間的值,是具有一定 PR值的測(cè)試比其他測(cè)試更深入,文章闡述 β 分布作為一個(gè) GUI 測(cè)試 PR的側(cè)面,密度分布函數(shù): 其中 α,β是積極的分布參數(shù),試驗(yàn)剖面模型如下: 其中△是一個(gè)小的時(shí)間間隔,其價(jià)值取決于 PR的準(zhǔn)確度,需要我們?cè)贉y(cè)試。在 GUI 測(cè)試中,具有一定長(zhǎng)度的測(cè)試情況下可能會(huì)有較高的缺陷檢測(cè)能力,這些測(cè)試用例應(yīng)該測(cè)試更深入或長(zhǎng)或短的測(cè)試用例。然而,如何將輸入域劃分成等價(jià)類(lèi)是不關(guān)心的。讓 D( ei,ej)表示兩個(gè)事件 ei 和 ej 之間的最短路徑的長(zhǎng)度,鑒于測(cè)試案例 t=〈 S0, e1。長(zhǎng)度 L 已顯示著影響測(cè)試的故障檢測(cè)【 11】【 12】中,例如,一個(gè) GUI 測(cè)試案例的長(zhǎng)度 L 是 S0 的 e1。在本文中,我們只研究 AUT 的特別代碼實(shí)現(xiàn)功能,處理器在預(yù)編譯的基礎(chǔ)庫(kù)中的處理程序書(shū)不關(guān)心的。結(jié)論和今后的工作在第五節(jié)給出。也就是說(shuō),許多特性可從 GUI 測(cè)試用例中獲得,例如它的長(zhǎng)度、事件處理程序的要求,某種事件的比例等等。在此基礎(chǔ)上,一個(gè)基于這種關(guān)系的控制計(jì)劃也被提議,這個(gè)計(jì)劃也許可以有效地提高 GUI 測(cè)試的效率。在本篇論文中,我們研究建模試驗(yàn)剖面在 GUI 中的測(cè)試。 一個(gè)測(cè)試剖面是用來(lái)定量的描述一個(gè)應(yīng)用軟件將如何被測(cè)試的,它用來(lái)描述輸入測(cè)試的行為。在本文中,我們提出了一個(gè)關(guān)于在研究測(cè)試剖面和故障檢測(cè)中的方法論仿照基于 GUI 測(cè)試輸入不同的特點(diǎn)。在文獻(xiàn)【 9】中定義到,我們描述了一個(gè) GUI 狀態(tài)作為一套完整的 GUI 對(duì)象和一組這些對(duì)象的特性。e2… en 級(jí),通常, S0可以是任何國(guó)家的 GUI 對(duì)象就 e1 是啟用并可見(jiàn)的。他們擴(kuò)大在測(cè)試中的一組可用事件,他們是很重要的 GUI 結(jié)構(gòu)的遍歷。 一個(gè) AUT 的 GUI 是由一系列窗口組成,對(duì)于每個(gè)窗口 W, N(W)研究將在 W 窗口中運(yùn)行的次數(shù)。當(dāng)沒(méi)有先驗(yàn)知識(shí)的測(cè)試套件,提供一個(gè)統(tǒng)一的試驗(yàn)剖面模型可能是一個(gè)不錯(cuò)的選擇,但是,如果測(cè)試套件的某些子集是在測(cè)試中更重要的,(例如,在該子集的測(cè)試用例具有較高的缺陷檢測(cè)能力),非均勻的試驗(yàn)剖面模型是比統(tǒng)一的更好一些。 當(dāng)我們沒(méi)有事先了解有關(guān)測(cè)試套件時(shí),均勻分布的 L 也可以用來(lái)模擬測(cè)試配置: TP(λ) = {(L=k, 1/M), k=1,2,… M } , (2) 其中( k1) !是 k1 的因素, M 是一個(gè)測(cè)試案例預(yù)先定義的最大長(zhǎng)度。 (一)、 研究試驗(yàn)資料和故障檢測(cè)之間的關(guān)系 假設(shè)試驗(yàn)剖面( TP) ,其中 S是一套試驗(yàn)剖面的模型,具體來(lái)說(shuō),如果模型( 1),( 3),( 6)被使用,則 S={λ } ;如果模型( 5)被使用,則 S={α , β };如果模型( 2),( 3),( 7)被使用,則 S=Φ ;如果使用模型( 8)則 S={N1, N2, ? MR}。 一個(gè) GUI 應(yīng)用程序可能包含著許多 缺點(diǎn),通常情況下,將會(huì)用一個(gè)大的測(cè)試套件來(lái)測(cè)試它,讓我們學(xué)習(xí)一下的情形,開(kāi)始時(shí),測(cè)試人員對(duì)測(cè)試套件和測(cè)試的應(yīng)用程序知道的很少,所以他們可能會(huì)隨機(jī)執(zhí)行測(cè)試用例,經(jīng)過(guò)一些測(cè)試執(zhí)行的程序,測(cè)試人員可以了解有關(guān)測(cè)試套件的東西,例如具有一定特色的測(cè)試用例可以頻繁使用,以提高缺陷監(jiān)測(cè)。 參數(shù) a1,a2,… .需要從歷史數(shù)據(jù)中了解得到,繼在文獻(xiàn)【 4】中提到的方式,歷史數(shù)據(jù)包括測(cè)試,被用來(lái)產(chǎn)生 /選擇測(cè)試的配置文件,在歷史測(cè)試的情況下,以及每個(gè)測(cè)試執(zhí)行后的執(zhí)行結(jié)果,當(dāng)歷史數(shù)據(jù)更新時(shí)就代表一個(gè)新的測(cè)試用例已被處決,隨之參數(shù) a1,a2, … 也將被更新?!?。 a1,a2,… ). This means the controller tries to detect more faults with a given number of test cases. The parameters a1, a2, … need to be learned from history data, following the way proposed in [4]. The history data include the test profiles that were used to generate/select test cases in history, as well as the execution results after each test execution. When a new test case has been executed, the history data are updated. The parameters a1, a2, … are also updated. This procedure is similar with the feedback control procedure in control engineering. Feedback is used to adjust the parameters of the controller in the process of testing. Such a structure can tolerate certain errors in the building of f. V. CONCLUSION AND FUTURE WORK In this paper, we proposed several test profile models for GUI testing based on the characteristics of GUI test cases. Then a methodology of studying the relationship between the test profiles and the fault detection were presented. A control scheme that can improve the fault detection ability of GUI testing based on the relationship was also proposed. In future, large amount of experiments should be done to study how these different test profile models affect the fault detection in GUI testing. The proposed control scheme should be validated by case studies on different kinds of GUI applications. 。e2。 四、結(jié)論與將來(lái)的工作 在本篇論文中,我們提出了幾個(gè)基于 GUI 測(cè)試案例特點(diǎn)的測(cè)試剖面模型,然后提出了一個(gè)研究試驗(yàn)剖面和故障檢測(cè)之間的方法,一個(gè)可以提高 GUI 測(cè)試的故障檢測(cè)能力也被提出。在以上的軟件測(cè)試過(guò)程中,可以把以前的測(cè)試執(zhí)行所學(xué)的東西用于優(yōu)化測(cè)試剖面,可以自動(dòng)完成這個(gè)進(jìn)程嗎?在測(cè)試配置和故障檢測(cè)自己間的關(guān)系的基礎(chǔ)上,我們建議用自動(dòng)化 GUI 測(cè)試計(jì)劃,如圖 5 所示 ,可能是能夠檢測(cè)更多的故障檢測(cè)。其他的模型也可以應(yīng)用這個(gè) 程序。 圖 1是一個(gè)作為試驗(yàn)剖面長(zhǎng)度 L的泊松分布 圖 2是一個(gè)作為試驗(yàn)剖面長(zhǎng)度 L的均勻分布 圖 3是一個(gè)不同的參數(shù)作為試驗(yàn)剖面圖的 CE1/CE2 的分布 (二) 、 基于 NH的測(cè) 試資料模型 NH(事件處理程序調(diào)用的時(shí)間)也是一個(gè)整型值,類(lèi)似的基于 L 的試驗(yàn)剖面模型, NH的泊松分布和均勻分布,也可以用作試驗(yàn)剖面模型: TP(λ) = {( NH=k,λ k1eλ /(k1)!,k=1,2,... } , (3) 或者 TP={( NH=k, 1/M), k=1,2,… M}, (4) 其中 M 是預(yù)先定義的最大長(zhǎng)度的測(cè)試用例。 (一) 、 測(cè)試資料模型基于 L L(測(cè)試用 例的長(zhǎng)度)是一個(gè)整型值的 GUI 測(cè)試,從理論上講, L 可以使任何正整數(shù),然而在實(shí)踐中,每一個(gè)測(cè)試用例的長(zhǎng)度在一定的范圍內(nèi)變化。 三、 GUI 測(cè)試仿形 有許多形式可以模擬試驗(yàn)剖面(或業(yè)務(wù)概況),文獻(xiàn)【 3】中,介紹了幾個(gè)軟件操作剖面模型上的輸入域的等價(jià)類(lèi)劃分,這些模型也可以用于 GUI 測(cè)試剖面模型。需要注意的是當(dāng)兩個(gè)事件被不同 EFGs 加載時(shí),它們之間的最短路徑是一個(gè)全球性的瑞士 EFG 這是所有的 EFG 和 AUT 的 IT 組合。 表 1 GUI測(cè)試案例的特點(diǎn) 測(cè)試案例的 長(zhǎng)度(記為 L)是在測(cè)試案例中事件序列的長(zhǎng)度,這是一個(gè) GUI 測(cè)試案例的“粒度”屬性(由測(cè)試用例的輸入量,指到【 11】)。注意,許多事件處理程序在某些預(yù)編譯的基礎(chǔ)庫(kù)中實(shí) 現(xiàn)(例如, MFC 的 Visual C++了, Java 開(kāi)發(fā)工具包, VCL C++建設(shè)者)。 本文的其余部分安排如下:第二節(jié)介紹了 GUI 測(cè)試用例的特點(diǎn),第三節(jié)提出了 GUI 測(cè)試配置文件的幾種模式,試驗(yàn)剖面和故障檢測(cè)之間的關(guān)系在第四節(jié)研究。很多豐富的信息是包含在事件序列中 的。然后我們提出了一個(gè)關(guān)于研究在測(cè)試剖面和故障檢測(cè)中的方法論來(lái)進(jìn)行圖形用戶(hù)界面測(cè)試。幾種型號(hào)的 GUI 測(cè)試型材相繼被提出。在 GUI 測(cè)試中,測(cè)試輸入,或測(cè)試用例,一個(gè) GUI 應(yīng)用程序一般的被定義為事件序列【 2】【 7】【 8】。進(jìn)一步說(shuō),我們提出了一種能夠提高故障檢測(cè)能力的測(cè)試 控制方案,基于知識(shí)的故障檢測(cè)在測(cè)試中如何影響故障檢測(cè)。 在本篇論文中,我們?yōu)樗械拇a塊定義了一個(gè)可以執(zhí)行相應(yīng)的輸入事件的應(yīng)用程序,通常情況下,一個(gè)處理程序,包括響應(yīng)函數(shù)和功能 /程序調(diào)用的響應(yīng)函數(shù)。 (二) 、 GUI 測(cè)試案例的特點(diǎn) 一個(gè) GUI 測(cè)試用例包含了一個(gè)事件序列,通過(guò)分析這個(gè)事件序列,我們會(huì)得到很多測(cè)試用例的特性,表 1 顯示了其中的一些特性。 一個(gè) GUI 測(cè)試案例的兩個(gè)事件之間的最短路徑的最大長(zhǎng)度是指基于對(duì)兩個(gè)事件之間的事件流圖( EFGs)和集成樹(shù)( IT),【 10】的最短路徑長(zhǎng)度的 AUT(指【 10】瑞士 EFG 和 IT 的定義)。 許多其他的特性也可以從 GUI 測(cè)試案例中得到,例如,一個(gè)測(cè)試用例所涵蓋的測(cè)試數(shù)量,主窗口上執(zhí)行一個(gè)事件所占的部分等,在本文中,我 們只研究表 1 中的特點(diǎn)示范。因此,在本節(jié)中,我們除了統(tǒng)一的測(cè)試剖面模型,也提出一些非統(tǒng)一的 GUI 測(cè)試剖面模型。 這種模式意味著,如果 K﹤ M 時(shí),使用測(cè)試的情況下,其長(zhǎng)度等于 K 為 1/M 時(shí),沒(méi)有測(cè)試案例的時(shí)間比 M將被用來(lái)測(cè)試,如圖 2所示,這種模式?jīng)]有參數(shù)。 圖 4 顯示了實(shí)驗(yàn)研究 GUI 測(cè)試的概況和在 GUI測(cè)試的故障檢測(cè)程序之間的關(guān)系,我們顯示了一個(gè)使用單一的參數(shù) λ 來(lái)測(cè)試波形的程序,就像模型( 1),( 3),( 6)。通過(guò)這些知識(shí),他們可以改變測(cè)試執(zhí)行的策略以提高測(cè)試的效率。 這個(gè)過(guò)程是類(lèi)似的反饋控制程序與控制工程,反饋將被用來(lái)在測(cè)試過(guò)程中調(diào)整控制器的參數(shù),這樣的結(jié)構(gòu)可以容忍在 F 中出 現(xiàn)的某些錯(cuò)誤。 en?, A GUI test case can be defined in many forms, such as a Dmax ??max {d (ei , e j )} . 1?i? j?n piece of test script [5][6], an event [2], or an event sequence [2][7] [8]. In this paper, we follow the definition in [8] that a GUI test case is a “l(fā)egal event sequence” with the state in which the event sequence is executed. That is, a GUI test case can be denoted as ?S0, e1