版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)外文資料翻譯</p><p> 第三次國(guó)際會(huì)議上的軟件測(cè)試,核查和驗(yàn)證研討會(huì)</p><p><b> 簡(jiǎn)介GUI測(cè)試建模</b></p><p><b> 趙雷和蔡開(kāi)元</b></p><p><b> 自動(dòng)控制系統(tǒng)部分</b>&
2、lt;/p><p><b> 北京航空航天大學(xué)</b></p><p> 中國(guó),北京100191</p><p> 郵箱:zhaolei@asee.buaa.edu.cn</p><p> 摘要—GUI(圖形用戶界面)測(cè)試用例包含的信息比非GUI測(cè)試用例豐富得多?;谶@些摘要信息,GUI測(cè)試資料可表現(xiàn)在更多的形式中。
3、在本篇論文中,我們研究建模試驗(yàn)剖面在GUI中的測(cè)試。幾種型號(hào)的GUI測(cè)試型材相繼被提出。然后我們提出了一個(gè)關(guān)于研究在測(cè)試剖面和故障檢測(cè)中的方法論來(lái)進(jìn)行圖形用戶界面測(cè)試。在此基礎(chǔ)上,一個(gè)基于這種關(guān)系的控制計(jì)劃也被提議,這個(gè)計(jì)劃也許可以有效地提高GUI測(cè)試的效率。</p><p> 關(guān)鍵詞—GUI測(cè)試,測(cè)試剖面模型,測(cè)試用例特點(diǎn)</p><p><b> 一、引言</b&g
4、t;</p><p> 由于圖形用戶界面在各種軟件應(yīng)用程序/系統(tǒng)中廣泛使用,GUI測(cè)試重視軟件的開(kāi)發(fā)。圖形用戶界面測(cè)試就是GUI應(yīng)用程序的測(cè)試,包括測(cè)試圖形用戶界面的功能和結(jié)構(gòu),以及在圖形用戶界面后面潛在的代碼部分。GUI應(yīng)用程序有許多不同于非GUI應(yīng)用程序的特點(diǎn):GUI應(yīng)用程序的輸入事件;執(zhí)行一個(gè)GUI應(yīng)用程序的結(jié)果不僅取決于當(dāng)前的用戶輸入,而且也取決于用戶操作的歷史;輸入域的一個(gè)非平凡的GUI應(yīng)用程序是非常
5、大的甚至是無(wú)窮的。這些特點(diǎn)使GUI測(cè)試不同于非GUI應(yīng)用程序測(cè)試。</p><p> 一個(gè)測(cè)試剖面是用來(lái)定量的描述一個(gè)應(yīng)用軟件將如何被測(cè)試的,它用來(lái)描述輸入測(cè)試的行為。在GUI測(cè)試中,測(cè)試輸入,或測(cè)試用例,一個(gè)GUI應(yīng)用程序一般的被定義為事件序列【2】【7】【8】。很多豐富的信息是包含在事件序列中的。也就是說(shuō),許多特性可從GUI測(cè)試用例中獲得,例如它的長(zhǎng)度、事件處理程序的要求,某種事件的比例等等。每個(gè)這些方面的
6、特性都代表了一種測(cè)試用例如何來(lái)測(cè)試應(yīng)用程序的測(cè)試(AUT)。在本文中,我們將模擬通過(guò)量化模型試驗(yàn)剖面圖形用戶界面的這些特點(diǎn)。</p><p> 在使用一個(gè)應(yīng)用軟件時(shí),應(yīng)用程序的可靠性取決于運(yùn)行剖面。同樣的,在一個(gè)軟件應(yīng)用程序的測(cè)試中,電路的故障檢測(cè)是受測(cè)試剖面的影響。在本文中,我們提出了一個(gè)關(guān)于在研究測(cè)試剖面和故障檢測(cè)中的方法論仿照基于GUI測(cè)試輸入不同的特點(diǎn)。進(jìn)一步說(shuō),我們提出了一種能夠提高故障檢測(cè)能力的測(cè)試
7、控制方案,基于知識(shí)的故障檢測(cè)在測(cè)試中如何影響故障檢測(cè)。</p><p> 本文的其余部分安排如下:第二節(jié)介紹了GUI測(cè)試用例的特點(diǎn),第三節(jié)提出了GUI測(cè)試配置文件的幾種模式,試驗(yàn)剖面和故障檢測(cè)之間的關(guān)系在第四節(jié)研究。結(jié)論和今后的工作在第五節(jié)給出。</p><p> 二、GUI測(cè)試用例的特點(diǎn)</p><p> 在這部分,首先我們將介紹GUI測(cè)試用例的定義,然后G
8、UI測(cè)試案件的特點(diǎn)也將會(huì)被討論。</p><p> (一)、GUI測(cè)試用例</p><p> 一個(gè)GUI應(yīng)用程序的基本輸入事件,用戶操作觸發(fā)事件和GUI應(yīng)用程序是對(duì)這些事件的反應(yīng)。一個(gè)時(shí)間包含以下信息:行動(dòng)類(lèi)型(例如,一個(gè)鼠標(biāo)點(diǎn)擊),對(duì)GUI對(duì)象執(zhí)行的操作(例如,一個(gè)按鈕),行動(dòng)的參數(shù)(如在點(diǎn)(10,16))。通常,一個(gè)事件只能在特定的國(guó)家接受GUI應(yīng)用程序進(jìn)而進(jìn)行檢測(cè),例如,相應(yīng)的G
9、UI對(duì)象是可見(jiàn)的和具有啟用的狀態(tài),GUI應(yīng)用程序的“狀態(tài)”是很重要的執(zhí)行事件。在文獻(xiàn)【9】中定義到,我們描述了一個(gè)GUI狀態(tài)作為一套完整的GUI對(duì)象和一組這些對(duì)象的特性。</p><p> 在本篇論文中,我們?yōu)樗械拇a塊定義了一個(gè)可以執(zhí)行相應(yīng)的輸入事件的應(yīng)用程序,通常情況下,一個(gè)處理程序,包括響應(yīng)函數(shù)和功能/程序調(diào)用的響應(yīng)函數(shù)。注意,許多事件處理程序在某些預(yù)編譯的基礎(chǔ)庫(kù)中實(shí)現(xiàn)(例如,MFC的Visual C+
10、+了,Java開(kāi)發(fā)工具包,VCL C++建設(shè)者)。在本文中,我們只研究AUT的特別代碼實(shí)現(xiàn)功能,處理器在預(yù)編譯的基礎(chǔ)庫(kù)中的處理程序書(shū)不關(guān)心的。總之,如果一個(gè)預(yù)編譯的代碼庫(kù)事件做出了回應(yīng)或者任何代碼都沒(méi)有被回應(yīng),我們就說(shuō)事件沒(méi)有調(diào)用任何處理器程序。</p><p> 定義一個(gè)GUI測(cè)試案例可以有多種形式,如測(cè)試腳本【5】【6】,事件【2】?;蛘咭粋€(gè)事件序列【2】【7】【8】,在本文中,我們按照文獻(xiàn)【8】中的定義,
11、一個(gè)GUI測(cè)試用例是一個(gè)“法律事件序列”,在國(guó)家事件序列中被執(zhí)行。也就是說(shuō),一個(gè)GUI測(cè)試案例可以表示為S0的e1;e2…en級(jí),通常,S0可以是任何國(guó)家的GUI對(duì)象就e1是啟用并可見(jiàn)的。</p><p> 、GUI測(cè)試案例的特點(diǎn)</p><p> 一個(gè)GUI測(cè)試用例包含了一個(gè)事件序列,通過(guò)分析這個(gè)事件序列,我們會(huì)得到很多測(cè)試用例的特性,表1顯示了其中的一些特性。</p>
12、<p> 表1 GUI測(cè)試案例的特點(diǎn)</p><p> 測(cè)試案例的長(zhǎng)度(記為L(zhǎng))是在測(cè)試案例中事件序列的長(zhǎng)度,這是一個(gè)GUI測(cè)試案例的“粒度”屬性(由測(cè)試用例的輸入量,指到【11】)。長(zhǎng)度L已顯示著影響測(cè)試的故障檢測(cè)【11】【12】中,例如,一個(gè)GUI測(cè)試案例的長(zhǎng)度L是S0的e1;e2…en是n。</p><p> 事件處理程序的調(diào)用次數(shù),記為處理一個(gè)GUI測(cè)試案例電話的
13、次數(shù),就是測(cè)試案例調(diào)用事件處理器處理程序的次數(shù)。這一特點(diǎn)忽略了不調(diào)用在源代碼中的任何事件處理程序的事件,顯然,處理一個(gè)GUI測(cè)試案例電話的次數(shù)≦GUI測(cè)試案例的長(zhǎng)度。</p><p> PR是一個(gè)測(cè)試案例中的所有事件的比例可達(dá)事件,可達(dá)性【12】的事件,在打開(kāi)菜單或窗口(模態(tài)窗口或無(wú)窗【10】)。他們擴(kuò)大在測(cè)試中的一組可用事件,他們是很重要的GUI結(jié)構(gòu)的遍歷。</p><p> 一個(gè)G
14、UI測(cè)試案例的兩個(gè)事件之間的最短路徑的最大長(zhǎng)度是指基于對(duì)兩個(gè)事件之間的事件流圖(EFGs)和集成樹(shù)(IT),【10】的最短路徑長(zhǎng)度的AUT(指【10】瑞士EFG和IT的定義)。需要注意的是當(dāng)兩個(gè)事件被不同EFGs加載時(shí),它們之間的最短路徑是一個(gè)全球性的瑞士EFG這是所有的EFG和AUT的IT組合。讓D(ei,ej)表示兩個(gè)事件ei和ej之間的最短路徑的長(zhǎng)度,鑒于測(cè)試案例t=〈S0,e1;e2;….;en〉。</p><
15、;p> Dmax= max{d(ei,ej)} (1≦i﹤j≦n)</p><p> 這一特點(diǎn),介紹了測(cè)試案例在AUT的GUI中可以達(dá)到的“深度”。</p><p> 一個(gè)AUT的GUI是由一系列窗口組成,對(duì)于每個(gè)窗口W,N(W)研究將在W窗口中運(yùn)行的次數(shù)。</p><p> 許多其他的特性也可以從GUI測(cè)試案例中得到,例如,一個(gè)測(cè)試用例所涵蓋的測(cè)試數(shù)
16、量,主窗口上執(zhí)行一個(gè)事件所占的部分等,在本文中,我們只研究表1中的特點(diǎn)示范。</p><p><b> 三、GUI測(cè)試仿形</b></p><p> 有許多形式可以模擬試驗(yàn)剖面(或業(yè)務(wù)概況),文獻(xiàn)【3】中,介紹了幾個(gè)軟件操作剖面模型上的輸入域的等價(jià)類(lèi)劃分,這些模型也可以用于GUI測(cè)試剖面模型。然而,如何將輸入域劃分成等價(jià)類(lèi)是不關(guān)心的。在GUI測(cè)試中,GUI測(cè)試情況
17、下提供豐富的信息特點(diǎn),比如說(shuō)一些特點(diǎn)將在第二節(jié)中介紹。該信息可以被用作輸入域劃分的等價(jià)關(guān)系,這些等價(jià)關(guān)系,在測(cè)試的過(guò)程中,我們可以調(diào)整GUI測(cè)試配置文件來(lái)實(shí)現(xiàn)某些目標(biāo),如檢測(cè)更多的故障,或覆蓋更多的代碼,實(shí)現(xiàn)這一目標(biāo)的第一步是模型試驗(yàn)剖面。在本節(jié)中,我們將在GUI測(cè)試的第二節(jié)介紹以案件的特點(diǎn)為基礎(chǔ)的GUI測(cè)試定義測(cè)試配置文件的幾種形式。</p><p> 一個(gè)測(cè)試配置的基本形式是統(tǒng)一的試驗(yàn)剖面模型,也就是說(shuō),不
18、同的測(cè)試案例都使用同樣的概率。當(dāng)沒(méi)有先驗(yàn)知識(shí)的測(cè)試套件,提供一個(gè)統(tǒng)一的試驗(yàn)剖面模型可能是一個(gè)不錯(cuò)的選擇,但是,如果測(cè)試套件的某些子集是在測(cè)試中更重要的,(例如,在該子集的測(cè)試用例具有較高的缺陷檢測(cè)能力),非均勻的試驗(yàn)剖面模型是比統(tǒng)一的更好一些。因此,在本節(jié)中,我們除了統(tǒng)一的測(cè)試剖面模型,也提出一些非統(tǒng)一的GUI測(cè)試剖面模型。</p><p> 、測(cè)試資料模型基于L</p><p> L
19、(測(cè)試用例的長(zhǎng)度)是一個(gè)整型值的GUI測(cè)試,從理論上講,L可以使任何正整數(shù),然而在實(shí)踐中,每一個(gè)測(cè)試用例的長(zhǎng)度在一定的范圍內(nèi)變化。在GUI測(cè)試中,具有一定長(zhǎng)度的測(cè)試情況下可能會(huì)有較高的缺陷檢測(cè)能力,這些測(cè)試用例應(yīng)該測(cè)試更深入或長(zhǎng)或短的測(cè)試用例。因此,測(cè)試配置文件可以看作泊松分布的L:</p><p> TP(λ) = {(L=k,λk-1e-λ/(k-1)!,k=1,2,….}, (1)</p>
20、;<p> 其中(k-1)!是(k-1)的因素 </p><p> 上述的試驗(yàn)剖面模型,測(cè)試k時(shí)的長(zhǎng)度的概率是λk-1e-λ/(k-1)!,如圖1所示,λ是試驗(yàn)剖面參數(shù),這是一個(gè)非均勻的試驗(yàn)剖面。通過(guò)調(diào)整價(jià)值λ,我們可以控制什么類(lèi)型的測(cè)試用例將更加密集使用。</p><p> 需要注意的是泊松分布在這個(gè)模型中使用的時(shí)候,由公式(1)得這樣的試驗(yàn)剖面,可以深入測(cè)試具有一定
21、長(zhǎng)度的測(cè)試案例,而(2)只有一個(gè)參數(shù),所以可以輕松的調(diào)整。類(lèi)似的概率分布(如二項(xiàng)分布),也可以用作試驗(yàn)剖面模型。</p><p> 當(dāng)我們沒(méi)有事先了解有關(guān)測(cè)試套件時(shí),均勻分布的L也可以用來(lái)模擬測(cè)試配置:</p><p> TP(λ) = {(L=k,1/M),k=1,2,…M }, (2)</p><p> 其中(k-1)!是k-1的因素,M是一
22、個(gè)測(cè)試案例預(yù)先定義的最大長(zhǎng)度。</p><p> 這種模式意味著,如果K﹤M時(shí),使用測(cè)試的情況下,其長(zhǎng)度等于K為1/M時(shí),沒(méi)有測(cè)試案例的時(shí)間比M將被用來(lái)測(cè)試,如圖2所示,這種模式?jīng)]有參數(shù)。</p><p> 圖1是一個(gè)作為試驗(yàn)剖面長(zhǎng)度L的泊松分布 </p><p> 圖2是一個(gè)作為試驗(yàn)剖面長(zhǎng)度L的均勻分布</p><p> 圖3是一個(gè)
23、不同的參數(shù)作為試驗(yàn)剖面圖的CE1/CE2的分布</p><p> 、基于NH的測(cè)試資料模型</p><p> NH(事件處理程序調(diào)用的時(shí)間)也是一個(gè)整型值,類(lèi)似的基于L的試驗(yàn)剖面模型,NH的泊松分布和均勻分布,也可以用作試驗(yàn)剖面模型:</p><p> TP(λ) = {(NH=k,λk-1e-λ/(k-1)!,k=1,2,... }, (3)<
24、/p><p><b> 或者</b></p><p> TP={(NH=k,1/M),k=1,2,…M}, (4)</p><p> 其中M是預(yù)先定義的最大長(zhǎng)度的測(cè)試用例。</p><p> ?。ㄈ⒒赑R的測(cè)試資料模型</p><p> 可達(dá)性事件(P
25、R)的比例是在0和1之間的值,是具有一定PR值的測(cè)試比其他測(cè)試更深入,文章闡述β分布作為一個(gè)GUI測(cè)試PR的側(cè)面,密度分布函數(shù):</p><p> 其中α,β是積極的分布參數(shù),試驗(yàn)剖面模型如下: </p><p> 其中△是一個(gè)小的時(shí)間間隔,其價(jià)值取決于PR的準(zhǔn)確度,需要我們?cè)贉y(cè)試。這種模式意味著可達(dá)性百分比概率P是事件∫△/2-△/2fα,β(p)d
26、p,通過(guò)調(diào)整α和β的值,我們可以改變測(cè)試配置文件的形式,如圖3所示。</p><p> ?。ㄋ模⒒贒max的測(cè)試剖面模型</p><p> Dmax是在0和Q之間的一個(gè)整數(shù)值,其中Q是之間最遠(yuǎn)的兩個(gè)事件在所有的EFGs和AUT(B節(jié))IT相結(jié)合的最短路徑的長(zhǎng)度,在多數(shù)情況下,Q是一個(gè)比Dmax較大的值,類(lèi)似的像模型(1)和(2),我們可以進(jìn)似地遵循Dmax最大的泊松分布來(lái)選擇測(cè)試用例
27、以下的試驗(yàn)剖面模型:</p><p> TP(λ)= {(Dmax=k, λk-1e-λ/(k-1)!),k=1,2,…,Q} (6)</p><p> 注意當(dāng)我們使用這個(gè)測(cè)試剖面模型時(shí),λ的值應(yīng)設(shè)置為比Q小得多,為了使Dmax﹥Q得可能性更小。Dmax的非均勻分布,也可以用作GUI測(cè)試的測(cè)試文件,如下面的模型:</p><p> TP = {(Dmax
28、=k,1/Q),k=1,2,….,Q} (7)</p><p> 、基于N(w)測(cè)試資料模型</p><p> N(w)在執(zhí)行測(cè)試用例時(shí),描述多少事件將被應(yīng)用于窗口W,我們根據(jù)這一特點(diǎn),定義下面的測(cè)試剖面模型:</p><p> TP = {(ni.wi),k=1,2,…,R} (8
29、)</p><p> 其中R是在AUT的GUI中的窗口數(shù)量,wi是第AUT的第i個(gè)窗口,通過(guò)把n1,n2,…,nr設(shè)置不同的值,我們可以調(diào)整每個(gè)窗口上的實(shí)驗(yàn)效果。</p><p> GUI測(cè)試配置文件和故障檢測(cè)</p><p> 在上一節(jié)我們已經(jīng)介紹了八款GUI測(cè)試型材,在本節(jié)中,我們首先介紹如何研究試驗(yàn)剖面和故障檢測(cè)之間的關(guān)系,然后,控制計(jì)劃提出了改進(jìn)GUI
30、測(cè)試的測(cè)試效率。</p><p> (一)、研究試驗(yàn)資料和故障檢測(cè)之間的關(guān)系</p><p> 假設(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}。</p><p>
31、 圖4顯示了實(shí)驗(yàn)研究GUI測(cè)試的概況和在GUI測(cè)試的故障檢測(cè)程序之間的關(guān)系,我們顯示了一個(gè)使用單一的參數(shù)λ來(lái)測(cè)試波形的程序,就像模型(1),(3),(6)。其他的模型也可以應(yīng)用這個(gè)程序。</p><p> 我們首先研究什么樣的價(jià)值可以設(shè)置參數(shù)λ,選擇一組λ的值然后確定,對(duì)于λ的每一個(gè)值,n測(cè)試套件的價(jià)值產(chǎn)生TP(λ)的分布。這些測(cè)試用例執(zhí)行錯(cuò)誤版本AUT上的GUI測(cè)試,故障尊重每個(gè)測(cè)試配置TP(λ)的平均數(shù)量
32、。</p><p> 今后應(yīng)進(jìn)行多次試驗(yàn),在此過(guò)程中,研究f的形式。</p><p> 圖4研究GUI測(cè)試中試驗(yàn)剖面和斷層之間的關(guān)系</p><p> 、通過(guò)在線調(diào)整測(cè)試來(lái)提高測(cè)試效率</p><p> 在我們以前的工作報(bào)告中,我們提出了一個(gè)GUI測(cè)試軟件控制論的思想動(dòng)態(tài)分布方法,網(wǎng)上的方法調(diào)整分區(qū)測(cè)試用例,測(cè)試用例更容易發(fā)現(xiàn)故障在分
33、區(qū)的優(yōu)先使用,這是一個(gè)網(wǎng)上的間接去調(diào)整的試驗(yàn)剖面,實(shí)驗(yàn)結(jié)果表明它是一個(gè)GUI測(cè)試效率提高的有效途徑。本文在試驗(yàn)剖面模型的基礎(chǔ)上,我們將提出一個(gè)網(wǎng)上直銷(xiāo)的方式,來(lái)調(diào)整測(cè)試配置文件。</p><p> 一個(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è)
34、試人員可以了解有關(guān)測(cè)試套件的東西,例如具有一定特色的測(cè)試用例可以頻繁使用,以提高缺陷監(jiān)測(cè)。通過(guò)這些知識(shí),他們可以改變測(cè)試執(zhí)行的策略以提高測(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è)。</p><p> 圖5是作為泊松分布L的試驗(yàn)剖面&l
35、t;/p><p> 在測(cè)試開(kāi)始時(shí),有沒(méi)有關(guān)于測(cè)試套件或測(cè)試應(yīng)用程序的先驗(yàn)知識(shí),初步測(cè)試個(gè)人資料(與初始參數(shù)的非均勻的試驗(yàn)剖面)用于選擇/生成測(cè)試用例,這些生成的測(cè)試用例接著對(duì)AUT執(zhí)行,執(zhí)行的結(jié)果如果是Z,即是否有故障檢測(cè),然后重新編碼。</p><p> 一定數(shù)量的測(cè)試在執(zhí)行案例后,可以從歷史數(shù)據(jù)中得到一些知識(shí),然后控制器在線調(diào)整測(cè)試配置,該控制器是基于測(cè)試剖面和故障檢測(cè)之間的關(guān)系,在圖
36、4中,即可獲得檢測(cè)的結(jié)果,她試圖以近似的測(cè)試配置文件,可以最大限度的提高F(λ;a1;a2;…)。這意味著控制器在嘗試更多的故障檢測(cè)與給定的測(cè)試用例數(shù)。</p><p> 參數(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,
37、…也將被更新。</p><p> 這個(gè)過(guò)程是類(lèi)似的反饋控制程序與控制工程,反饋將被用來(lái)在測(cè)試過(guò)程中調(diào)整控制器的參數(shù),這樣的結(jié)構(gòu)可以容忍在F中出現(xiàn)的某些錯(cuò)誤。</p><p> 四、結(jié)論與將來(lái)的工作</p><p> 在本篇論文中,我們提出了幾個(gè)基于GUI測(cè)試案例特點(diǎn)的測(cè)試剖面模型,然后提出了一個(gè)研究試驗(yàn)剖面和故障檢測(cè)之間的方法,一個(gè)可以提高GUI測(cè)試的故障檢測(cè)
38、能力也被提出。</p><p> 今后,應(yīng)做大量的試驗(yàn)在關(guān)于研究如何將不同的試驗(yàn)剖面模型影響的GUI測(cè)試中的故障檢測(cè),該驗(yàn)證所提出的故障方案案例研究的GUI應(yīng)用程序的不同類(lèi)型。</p><p> Third International Conference on Software Testing, Verification, and Validation Workshops</p
39、><p> On Modeling of GUI Test Profile</p><p> Lei Zhao and Kai-Yuan Cai$</p><p> Department of Automatic Control</p><p> Beijing University of Aeronautics and Astronau
40、tics Beijing, China 100191 zhaolei@asee.buaa.edu.cn</p><p> Abstract – GUI (Graphical User Interface) test cases contain much richer information than the test cases in non-GUI testing. Based on the
41、information, the GUI test profiles can be represented in more forms. In this paper, we study the modeling of the test profiles in GUI testing. Several models of GUI test profiles are proposed. Then we present a metho
42、dology of studying the relationship between the test profiles and the fault detection in GUI testing. A control scheme based o</p><p> Keywords – GUI testing, test profile modeling, test case charac
43、teristics</p><p> I.INTRODUCTION</p><p> Due to the widespread usage of Graphical User Interfaces (GUIs) in various software applications/systems, GUI testing has attached much importance to
44、software development. GUI testing means the testing of GUI applications, including the testing of GUIs’ function and structures, as well as the underlying code behind GUIs. GUI applications have many features different f
45、rom non-GUI applications: the inputs to a GUI application are events; the execution results of a GUI application depend on not onl</p><p> A test profile is a quantitative characterization of how a software
46、 application will be tested. It describes the behavior of test inputs. In GUI testing, the test inputs, or test cases1, of a GUI applications are commonly defined as event sequences [2][7][8]. Much richer information is
47、included in the event sequences. That is, many characteristics can be obtained from GUI test cases, such as its length, the number of event handlers called by it, the proportion of certain kind of events</p&
48、gt;<p> paper, we will model GUI test profiles by quantifying these characteristics.</p><p> In the use of a software application, the reliability of the application depends on the operational prof
49、ile. Similarly, in the testing of a software application, the fault detection is affected by the test profile. In this paper, we present a methodology of studying the relationship between the fault detection and the test
50、 profiles that are modeled based on different characteristics of GUI test inputs. Further, we propose a control scheme that can improve the fault detection ability of GU</p><p> The rest of this pape
51、r is organized as follows. Section II introduces the characteristics of GUI test cases. Section III proposes the several models of GUI test profiles. The relationship between test profiles and fault detection are studied
52、 in Section IV. Conclusions and future work are given in Section V.</p><p> II.GUI TEST CASE CHARACTERIZATION</p><p> In this section, first we will introduce the definition of GUI test case.
53、 Then the characteristics of GUI test cases will be discussed.</p><p> A. GUI Test Cases</p><p> The basic inputs to a GUI application are events. User operations trigger events and the GUI
54、application responses to these events. An event contains the following information: the type of action (e.g., a mouse click), the GUI object on which the action is performed (e.g., a button), and the parameters of the ac
55、tion (e.g., on the point of (10,16)). Usually, an event can only be accepted at certain states of the GUI application under test, for example, the states at which the corresponding GUI ob</p><p> In this pa
56、per, we define a handler as all the pieces of code that are possible to be executed when the corresponding event is input. Commonly, a handler includes a responding function</p><p> and the functions/proced
57、ures that are called by the responding function. Note that many event handlers are implemented in certain pre-compiled foundation libraries (e.g., the MFC of Microsoft Visual C++, JDK of Java, and the VCL of C++ Builder)
58、. In this paper, we only study the code specially implemented for the AUT. The handlers in pre-compiled foundation libraries are not concerned. In brief, if an event is responded by the code in pre-compiled libraries, or
59、 is not responded by any code at all</p><p> call any event handler.</p><p> Dmax are defined based on the length of the shortest path between two events on the event-flow graphs (EFGs) and t
60、he integration tree (IT) [10] of the AUT (referring to [10] for the definition of EFG and IT). Note that when two events are contained in different EFGs, the shortest path between them is the shortest path on a global EF
61、G which is the combination2 of all EFGs and the IT of the AUT. Let d(ei,ej) denote the length of the shortest path between two events ei and ej. Given a test case t </p><p> A GUI test case can be defined i
62、n many forms, such as a</p><p><b> Dmax ?</b></p><p> max {d (ei , e j )} .</p><p><b> 1?i? j?n</b></p><p> piece of test script [5][6], an
63、 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 cas
64、e can be denoted as ?S0, e1;e2;…;en?, where event e1 can be accepted by the application in S0, and event ei can be accepted right after event ei-1 is executed (for i = 2,3,…,n). Commonly, S0 can be any state in which the
65、 GUI object with respect to e</p><p> B. GUI Test Case Characteristics</p><p> A GUI test case contains an event sequence. By analyzing the event sequence, we can get many characteristics of
66、the test case. Table 1 shows some of them.</p><p> Table 1 GUI Test Case Characteristics</p><p> The length of a test case (denoted as L) is the length of the event sequence contained
67、 in the test case. It is the “granularity” property of a GUI test case (the amount of input given by the test case, referring to [11]). L has been shown significantly affecting the fault detection in testing
68、[11][12]. For example, the L of a GUI test case ?S0, e1;e2;…;en? is n.</p><p> The number of event handler calls, denoted as NH, is the times of the test case calling event handlers. This characteri
69、stic neglects the events that do not call any event handler in the source code. Obviously, NH ? L.</p><p> PR is the proportion of reachability events to all events in a</p><p> This character
70、istic describes how “deep” a test case can reach</p><p> in the GUIs of the AUT.</p><p> The GUIs of an AUT consist of a set of windows. For each window w, N(w) studies how many times a test c
71、ase will operate on the objects contained in w.</p><p> Many other characteristics can be obtained from GUI test cases, for example, the number of events covered by a test case, the proportion of events tha
72、t performs on the main window, etc. In this paper, we only study the characteristics in Table 1 for demonstration.</p><p> III. GUI TEST PROFILE MODELING</p><p> Test profile (or operational
73、profiles) can be modeled in many forms. In [3], several software operational profile models based on equivalence class division of the input domain are introduced. These models can also be used as GUI test
74、 profile models. However, how to divide the input domain into equivalence classes is not concerned. In GUI testing, the test cases provide rich information, such as the characteristics presented in Section II. The inform
75、ation can be used as equivalenc</p><p> A basic form of test profile is uniform test profile models. That is, different test cases are used following equally probability. When no prior knowledge of the test
76、 suite is provided, a uniform test profile model may be a good choice. However, if certain subset of the test suite is more important in testing, (for example, the test cases in the subset have higher defect de
77、tection ability,) a non-uniform test profile model is better than the uniform ones. So, In this </p><p> section, we</p><p> test case. Reachability events [12] are the events that ope
78、n </p><p> menus or windows (modal windows or modeless windows [10]). They expand the set of available events in testing. They are important in the traversal of the GUI structures.</p><p>
79、also propose some non-uniform GUI test profile models besides uniform test profile models.</p><p> A. Test Profile Model based on L</p><p> L (the length of a test case) is an integer
80、 value in GUI testing. In theory, L can be any positive integer. However, in practice, the length of each test case varies in a range. In GUI testing, the test cases with certain length may have higher defect detection a
81、bility. These test cases should be tested more intensively than shorter or longer test cases. So, test profiles can be modeled as a Poisson distribution of L:</p><p> TP(?) = { ?L=k, ?k?1e??/(k?1)!?, k = 1,
82、2,…},(1)</p><p> where (k?1)! is the factor of k?1.</p><p> The above test profile model means that the probability of the length of a test case being k is ?k?1e??/(k?1)!, as shown in Figure
83、 1. ? is the parameter of the test profile. This is a non-uniform test profile. By adjusting the value of ?, we can control what kinds of test cases will be more intensively used.</p><p> Note tha
84、t Poisson distribution is used in this model because 1) such a test profile can intensively test the test cases with certain length, and 2) it has only one parameter so that it can be adjusted easily. Similar prob
85、ability distributions (such as binomial distribution) can also be used as test profile models.</p><p> When we have no prior knowledge about the test suite, a uniform distribution of L can be used to model
86、the test profile:</p><p> TP = { ?L=k, 1/M?, k = 1,2,…,M},(2)</p><p> where (k?1)! is the factor of k?1, and M is a pre-defined maximum length of test cases.</p><p> This model
87、means that, if k < M, the probability of using a test case whose length equals k is 1/M, and no test cases longer than M will be used in the testing, as shown in Figure 2. This model has no parameter.</p>&
88、lt;p> Figure 2 A uniform distribution of L as a test profile</p><p> Figure 3 ? distributions of CE1/CE2 with different parameters as a test profile</p><p> B. Test Profile Model based
89、on NH</p><p> NH (the time of event handler calls) is also an integer value. Similar with the test profile models based on L, the Poisson distribution and the uniform distribution of NH can be used as test
90、profile models:</p><p> TP(?) = { ?NH=k, ?k?1e??/(k?1)!?, k = 1,2,…},(3)</p><p><b> or</b></p><p> TP = { ? NH=k, 1/M?, k = 1,2,…,M},(4)</p><p> where
91、 M is a pre-defined maximum length of test cases.</p><p> C. Test Profile Model based on PR</p><p> The proportion of reachability events (PR) is a value between 0 and 1. To make the test ca
92、ses with certain value of PR be more intensively tested than others, we introduce ? distribution of PR as a GUI test profile. The density function of a ? distribution is</p><p><b> ? 1 </b>&
93、lt;/p><p> ? ?1 ?</p><p><b> ? ?1</b></p><p> f? ,? ( x)</p><p><b> 1</b></p><p><b> ?0 x</b></p><p>
94、;<b> ? ?1</b></p><p><b> (1 ? x)</b></p><p><b> x</b></p><p><b> ? ?1 dx</b></p><p><b> (1 x),</b>&l
95、t;/p><p> Figure 1 A Poisson distribution of L as a test profile</p><p> where ?, ? are positive parameters of the distribution. The test profile model is as follows:</p><p><b>
96、; ? / 2</b></p><p> TP(?,?) = { ?p, ??? / 2 f? ,? ( p)dp ?, for p ? (0,1) }, (5)</p><p> where ? is a small interval whose value depends on the accuracy degree of PR we require
97、 in testing. This model means that the probability of the percentage of reachability</p><p><b> ? / 2</b></p><p> events being p is ??? / 2 f? ,? ( p)dp . By adjusting the value
98、s of</p><p> ? and ?, we can change the form of test profiles, as shown in</p><p><b> Figure 3.</b></p><p> D. Test Profile Model based onDmax</p><p> D
99、max is an integer value within 0 and Q, where Q is the</p><p> relationship between the GUI test profiles and the fault detection in GUI testing. We show the procedure using the test profile model with a s
100、ingle parameter ?, as model (1), (3) and (6). Other model can also be applied on this procedure.</p><p> We first study what values the parameter ? can set. A set of values of ? are then determined. For eac
101、h of the value of ?, n test suites are generated following the distribution of TP(?). These test cases are executed on the m faulty versions of the GUI AUT. The average number of defected faults with respect</p>&
102、lt;p> length of the shortest path between the farthest two events in</p><p> to each test profile TP(?) is collected (i.e.,</p><p> N F (? ) ). At last,</p><p> the combinati
103、on of all the EFGs and the IT of the AUT (refer</p><p> to Section II.B). At most time, Q is a much larger than the Dmax. Similar with model (1) and (2), we can approximately follow a Poisson distribution o
104、f Dmax to select test cases, as the following test profile model:</p><p> TP(?) = { ?Dmax=k, ?k?1e??/(k?1)!?, k = 1,2,…,Q}.(6) Note that when we use this test profile model, the value of ?</p><p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)站技術(shù)外文翻譯
- 網(wǎng)站建設(shè)技術(shù)外文翻譯
- 外文翻譯---網(wǎng)站建設(shè)技術(shù)
- 網(wǎng)站畢業(yè)設(shè)計(jì)外文翻譯
- 網(wǎng)站遠(yuǎn)程管理外文翻譯
- jsp技術(shù)網(wǎng)站設(shè)計(jì)外文翻譯
- 網(wǎng)站設(shè)計(jì)與架構(gòu)[外文翻譯]
- 整合創(chuàng)意網(wǎng)站設(shè)計(jì)[外文翻譯]
- 外文翻譯---論網(wǎng)站建設(shè)技術(shù)
- 論網(wǎng)站建設(shè)技術(shù)外文翻譯
- 個(gè)人博客網(wǎng)站設(shè)計(jì)外文翻譯
- [雙語(yǔ)翻譯]社交網(wǎng)站外文翻譯--web 2.0社交網(wǎng)站和facebook營(yíng)銷(xiāo)
- 外文翻譯---jsp動(dòng)態(tài)網(wǎng)站技術(shù)
- 網(wǎng)站的信息架構(gòu)理論【外文翻譯】
- 網(wǎng)站建設(shè)的相關(guān)外文翻譯
- 團(tuán)購(gòu)網(wǎng)站相關(guān)外文翻譯
- 網(wǎng)站外文翻譯--簡(jiǎn)介gui測(cè)試建模
- 論網(wǎng)站建設(shè)技術(shù)+外文翻譯.doc
- 門(mén)戶網(wǎng)站績(jī)效評(píng)估【外文翻譯】
- 網(wǎng)站外文翻譯--簡(jiǎn)介gui測(cè)試建模
評(píng)論
0/150
提交評(píng)論