Android應(yīng)用GUI并行測(cè)試技術(shù)研究
發(fā)布時(shí)間:2021-09-30 23:33
目前Android商業(yè)應(yīng)用變得越來(lái)越龐大,通常具有上百個(gè)Activity,并且其GUI也變得愈加復(fù)雜,這給測(cè)試這類應(yīng)用帶來(lái)挑戰(zhàn),F(xiàn)有的自動(dòng)化測(cè)試技術(shù)主要關(guān)注于提高測(cè)試的覆蓋率,它們會(huì)采用啟發(fā)式策略或者機(jī)器學(xué)習(xí)算法來(lái)指導(dǎo)測(cè)試,以達(dá)到提高測(cè)試覆蓋率的目的。然而面對(duì)商業(yè)應(yīng)用,這些測(cè)試工具往往需要耗費(fèi)大量時(shí)間才能完成對(duì)于應(yīng)用的測(cè)試,無(wú)法在短時(shí)間內(nèi)給出測(cè)試結(jié)果以應(yīng)對(duì)具有上線壓力的應(yīng)用。針對(duì)現(xiàn)有工具上述局限,我們受并行計(jì)算概念的啟發(fā),提出在多臺(tái)測(cè)試設(shè)備上采用并行測(cè)試的方法完成對(duì)一個(gè)應(yīng)用的測(cè)試,從而提升應(yīng)用測(cè)試的效率,縮短測(cè)試耗費(fèi)的時(shí)間。具體而言,本文工作主要包括:1.提出了以Activity為粒度的并行測(cè)試技術(shù)。該技術(shù)將應(yīng)用的每個(gè)Activity劃分為一個(gè)測(cè)試任務(wù),并行地在多臺(tái)設(shè)備上探索這些Activity,以達(dá)到并行測(cè)試的目的。所有任務(wù)通過(guò)一個(gè)優(yōu)先級(jí)隊(duì)列進(jìn)行調(diào)度,同時(shí),還采用了路徑簡(jiǎn)化和widget模糊匹配方法來(lái)提高重放的效率。2.鑒于以Activity為粒度的并行測(cè)試技術(shù)需要執(zhí)行大量的重放,影響測(cè)試效率,因此對(duì)其加以改進(jìn),提出了以GUI子樹為粒度的并行測(cè)試技術(shù)。GUI子樹中的每個(gè)節(jié)點(diǎn)是應(yīng)用的一...
【文章來(lái)源】:南京大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:90 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖3-2:?Activity隔離示意圖??
最終又回到了這個(gè)狀態(tài),那么這兩個(gè)相同狀態(tài)之間的動(dòng)作事件都是無(wú)用的??冗余的,可以將其去除而不影響重放事件序列到達(dá)目標(biāo)Activity。??如圖3-3所示,該應(yīng)用現(xiàn)在所處頁(yè)面包含三個(gè)Tab按鈕,初始時(shí)應(yīng)用處于??
widgetlD,那么這個(gè)widget就;所要找的?件丨I標(biāo)。然而,可能會(huì)出現(xiàn)應(yīng)川狀??態(tài)不一致的情況,這樣的不一致可能會(huì)導(dǎo)致組件在GU丨樹中信息的改變,尤其??是組件的index信息。如圖3-4,在重放時(shí),頁(yè)面沒(méi)有加載完成,出現(xiàn)了提示正??在加載的LoadingView,導(dǎo)致之后的所有組件的index都出現(xiàn)了偏移,這樣的??偏移會(huì)直接導(dǎo)致定位事件目標(biāo)失敗。為了提高事件目標(biāo)匹配的魯棒性,我們提??出widget模糊匹配的方法。??經(jīng)過(guò)我們的觀察,這種加載不完全或者頁(yè)面動(dòng)畫變動(dòng),往往導(dǎo)致組件??的index的偏移,最終導(dǎo)致事件目標(biāo)匹配的失敗。因此我們將index的匹配??從widgetlD中分離出來(lái),我們首先匹配classname以及resourceld,GU丨樹中??的組件想要?jiǎng)蚴录䥇螛?biāo)匹配,符先耑要W件丨丨標(biāo)拉打相同的classname和??resourceld,我們稱之為具有相同的結(jié)構(gòu),即從GU1樹的根節(jié)點(diǎn)開始到目標(biāo)組??件
本文編號(hào):3416839
【文章來(lái)源】:南京大學(xué)江蘇省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:90 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖3-2:?Activity隔離示意圖??
最終又回到了這個(gè)狀態(tài),那么這兩個(gè)相同狀態(tài)之間的動(dòng)作事件都是無(wú)用的??冗余的,可以將其去除而不影響重放事件序列到達(dá)目標(biāo)Activity。??如圖3-3所示,該應(yīng)用現(xiàn)在所處頁(yè)面包含三個(gè)Tab按鈕,初始時(shí)應(yīng)用處于??
widgetlD,那么這個(gè)widget就;所要找的?件丨I標(biāo)。然而,可能會(huì)出現(xiàn)應(yīng)川狀??態(tài)不一致的情況,這樣的不一致可能會(huì)導(dǎo)致組件在GU丨樹中信息的改變,尤其??是組件的index信息。如圖3-4,在重放時(shí),頁(yè)面沒(méi)有加載完成,出現(xiàn)了提示正??在加載的LoadingView,導(dǎo)致之后的所有組件的index都出現(xiàn)了偏移,這樣的??偏移會(huì)直接導(dǎo)致定位事件目標(biāo)失敗。為了提高事件目標(biāo)匹配的魯棒性,我們提??出widget模糊匹配的方法。??經(jīng)過(guò)我們的觀察,這種加載不完全或者頁(yè)面動(dòng)畫變動(dòng),往往導(dǎo)致組件??的index的偏移,最終導(dǎo)致事件目標(biāo)匹配的失敗。因此我們將index的匹配??從widgetlD中分離出來(lái),我們首先匹配classname以及resourceld,GU丨樹中??的組件想要?jiǎng)蚴录䥇螛?biāo)匹配,符先耑要W件丨丨標(biāo)拉打相同的classname和??resourceld,我們稱之為具有相同的結(jié)構(gòu),即從GU1樹的根節(jié)點(diǎn)開始到目標(biāo)組??件
本文編號(hào):3416839
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3416839.html
最近更新
教材專著