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

應用程序的測試方法及裝置與流程

文檔序號:12801965閱讀:248來源:國知局
應用程序的測試方法及裝置與流程

本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種應用程序的測試方法及裝置。



背景技術(shù):

傳統(tǒng)技術(shù)中,在對應用程序進行測試時(此處的應用程序可以包括多個頁面,因此對應用程序的測試即為對各個頁面的測試),通常不對當前頁面與當前頁面發(fā)生改變后的頁面或者跳轉(zhuǎn)后的頁面的相似度值進行計算,也即不關(guān)心頁面發(fā)生改變或者跳轉(zhuǎn)之后頁面的變化情況,而在頁面變化比較大時,有可能會出現(xiàn)頁面發(fā)生改變或者跳轉(zhuǎn)之后,無法返回至之前的頁面的情況,由此會導致無法對應用程序的所有頁面進行測試的問題,這影響了對應用程序測試的準確性。



技術(shù)實現(xiàn)要素:

本申請描述了一種應用程序的測試方法及裝置,可以提高對應用程序測試的準確性。

第一方面,提供了一種應用程序的測試方法,該方法包括:

從應用程序的至少一個頁面中選取第一頁面;

對所述第一頁面進行測試,其中,對所述第一頁面進行測試的步驟包括:

確定所述第一頁面相關(guān)聯(lián)的第一目標頁面;

計算所述第一頁面與所述第一目標頁面的相似度值;

根據(jù)所述相似度值,確定是否中斷對所述第一頁面進行測試的步驟;

若是,則中斷對所述第一頁面進行測試的步驟,并在對所述至少一個頁面中的其它頁面測試完成后,繼續(xù)對所述第一頁面進行測試;

根據(jù)對所述第一頁面進行測試的步驟,對所述其它頁面進行測試。

第二方面,提供了一種應用程序的測試裝置,該裝置包括:

選取單元,用于從應用程序的至少一個頁面中選取第一頁面;

測試單元,用于對所述選取單元選取的所述第一頁面進行測試,其中,所述測試單元包括:

確定單元,用于確定所述第一頁面相關(guān)聯(lián)的第一目標頁面;

計算單元,用于計算所述第一頁面與所述確定單元確定的所述第一目標頁面的相似度值;

所述確定單元,還用于根據(jù)所述計算單元計算的所述相似度值,確定是否中斷對所述第一頁面進行測試的步驟;

處理單元,用于中斷對所述第一頁面進行測試的步驟,并在對所述至少一個頁面中的其它頁面測試完成后,繼續(xù)對所述第一頁面進行測試;

所述測試單元,還用于根據(jù)對所述第一頁面進行測試的步驟,對所述其它頁面進行測試。

本申請?zhí)峁┑膽贸绦虻臏y試方法及裝置,在對應用程序的某個頁面進行測試時,首先獲取與該頁面相關(guān)聯(lián)的頁面,并計算該頁面與相關(guān)聯(lián)的頁面的相似度值。之后根據(jù)相似度值,來確定是否中斷對該頁面的測試,若是,則中斷對該頁面的測試,并在應用程序中的其它頁面測試完成之后,再繼續(xù)對該頁面進行測試,以此來達到對應用程序的所有頁面進行測試的目的,這提高了應用程序測試的準確性。

附圖說明

為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1為本申請一種實施例提供的應用程序的測試方法流程圖;

圖2為本申請另一種實施例提供的應用程序的測試方法流程圖;

圖3為本申請一種實施例提供的應用程序的測試裝置示意圖。

具體實施方式

下面結(jié)合附圖,對本發(fā)明的實施例進行描述。

本申請實施例提供的應用程序的測試方法及裝置適用于對包括多個頁面的應用程序進行測試的場景。上述頁面可以包括多個頁面元素,其中,每個頁面元素可以與頁面的文件對象模型(documentobjectmodel,dom)樹中的節(jié)點相對應。本申請中,可以將與dom樹中的葉子節(jié)點相對應的頁面元素稱為目標頁面元素,當頁面中有效的目標頁面元素被觸發(fā)時,可以使該頁面發(fā)生改變或者可以跳轉(zhuǎn)至其它頁面。需要說明的是,本申請中的目標頁面元素是指有效的頁面元素,其觸發(fā)方式可以包括:測試腳本觸發(fā),或者用戶點擊頁面中與目標頁面元素相對應的內(nèi)容觸發(fā),其中,頁面中與目標頁面元素相對應的內(nèi)容可以為圖片控件、音頻控件以及文本控件等,其可以采用可擴展標記語言(extensiblemarkuplanguage,xml)格式文檔表示。

圖1為本申請一種實施例提供的應用程序的測試方法流程圖。所述方法的執(zhí)行主體可以為具有處理能力的設備:服務器或者系統(tǒng)或者裝置,如測試腳本,如圖1所示,所述方法具體可以包括:

步驟110,從應用程序的至少一個頁面中選取第一頁面。

本申請的應用程序可以包括至少一個頁面,其中,第一頁面可以為至少一個頁面中的任一頁面,如,可以為首頁頁面,也可以為其它頁面。

步驟120,對第一頁面進行測試。

需要說明的是,本申請中,對應用程序進行測試,就是對應用程序的各個頁面一一進行測試。

其中,對第一頁面進行測試的步驟包括:

1201,確定第一頁面相關(guān)聯(lián)的第一目標頁面。

此處,第一目標頁面可以是指第一頁面發(fā)生改變后的頁面,也可以是指跳轉(zhuǎn)至的其它頁面。

可選地,在執(zhí)行步驟1201之前,本申請的實施例還可以包括如下步驟:

步驟a,獲取第一頁面對應的頁面元素集合。

在一個例子中,可以通過谷歌(google)公司的uiautomatorviewer工具來獲取頁面元素集合中的頁面元素。

其中,上述頁面元素集合中可以包括至少一個頁面元素,此處的頁面元素可以是指第一頁面對應的源代碼中由xml標簽標識的代碼,或者包含在兩個相對應的xml標簽中的代碼等。在一個例子中,xml標簽標識的代碼可以舉例為:<mergeaaaaaa>,此處的“merge”即為xml標簽;包含在兩個相對應的xml標簽中的代碼可以舉例為:

<mergeaaaaaa>

<bbbbbbbbbbb>

</merge>

上述“<merge>”和“</merge>”即為兩個相對應的xml標簽,而“<bbbbbbbbbbb>”即為包含在兩個相對應的xml標簽中的代碼。

當然,在實際應用中,頁面元素也可以不限于如上兩種形式,其還可以為其它的形式,只需其在第一頁面中對應的內(nèi)容為xml格式的文檔,如:圖片控件、音頻控件以及文本控件等即可,本申請對此不作限定。

步驟b,從頁面元素集合中選取至少一個目標頁面元素。

在一種實現(xiàn)方式中,可以結(jié)合第一頁面對應的dom樹來選取目標頁面元素,此處的dom樹由至少一個節(jié)點構(gòu)成,其中,節(jié)點的類型可以包括:根節(jié)點、分支節(jié)點以及葉子節(jié)點等。該dom樹的節(jié)點與頁面元素集合中的頁面元素一一對應,具體過程可以為:從dom樹的節(jié)點中選取至少一個葉子節(jié)點,將選取的至少一個葉子節(jié)點對應的頁面元素作為至少一個目標頁面元素。

在還執(zhí)行上述步驟a-步驟b的情況下,確定第一頁面相關(guān)聯(lián)的第一目標頁面的過程可以為:從至少一個目標頁面元素中選取第一目標頁面元素,將該第一目標頁面元素對應的頁面作為第一目標頁面。此處,第一目標頁面元素對應的頁面可以是指:在第一目標頁面元素被觸發(fā)時,第一頁面發(fā)生改變后的頁面或者跳轉(zhuǎn)至的其它頁面。在一個例子中,當用戶點擊第一頁面中與第一目標頁面元素相對應的內(nèi)容(如,上述圖片控件、音頻控件以及文本控件等)時,該第一目標頁面元素被觸發(fā),當然也可能是由測試腳本觸發(fā)。

當然,在實際應用中,在執(zhí)行步驟1201之前,還可以先判斷第一頁面是否已經(jīng)發(fā)生了跳轉(zhuǎn),若未發(fā)生跳轉(zhuǎn),則確定第一頁面相關(guān)聯(lián)的第一目標頁面;若已經(jīng)發(fā)生了跳轉(zhuǎn),則確定跳轉(zhuǎn)后的新的頁面,并根據(jù)對第一頁面進行測試的步驟,對新的頁面進行測試,在對新的頁面測試完成后,再確定第一頁面相關(guān)聯(lián)的第一目標頁面。

步驟1202,計算第一頁面與第一目標頁面的相似度值。

此處,可以是根據(jù)預設的算法,來計算第一頁面與第一目標頁面的相似度值。如,根據(jù)漢明距離算法等,來計算第一頁面與第一目標頁面的相似度值。其中,頁面之間相似度值的計算屬于傳統(tǒng)常規(guī)技術(shù),在此不復贅述。

步驟1203,根據(jù)相似度值,確定是否中斷對第一頁面進行測試的步驟。

具體地,可以判斷相似度值是否在預設的范圍內(nèi),若相似度值在預設的范圍內(nèi),則不中斷對第一頁面進行測試的步驟;若相似度值不在預設的范圍內(nèi),則中斷對第一頁面進行測試的步驟。

在一個例子中,預設的范圍可以設定為:[80%,100%],因為相似度值最大可以為100%,所以當相似度值不在預設的范圍內(nèi),則該相似度值<80%。而容易理解的是,兩個頁面的相似度值越大,則該兩個頁面越相似;而兩個頁面的相似度值越小,則兩個頁面差別越大。結(jié)合實際可知,若兩個頁面差別比較大時,也即頁面變化比較大時,有可能會出現(xiàn)頁面發(fā)生改變或者跳轉(zhuǎn)之后,無法返回至之前的頁面的情況,由此就有可能會導致無法對應用程序的所有頁面進行測試的問題,所以本申請對該種情況進行了識別。當然,在實際應用中,上述預設的范圍的下限值80%也可以設定為其它值,如,75%等,本申請對此不作限定。

本申請中,頁面變化可以是指頁面布局的變化,如,xml標簽的變化。

步驟1204,若否,則繼續(xù)對第一頁面進行測試的步驟。

此處,繼續(xù)對第一頁面進行測試的步驟是指繼續(xù)執(zhí)行上述步驟1201-步驟1203,也即重新確定與第一頁面相關(guān)聯(lián)的第二目標頁面,此處的第二目標頁面與上述第一目標頁面的定義相同,即為與頁面元素集合中的第二目標頁面元素相對應的頁面。并計算第一頁面與第二目標頁面的相似度值,之后根據(jù)相似度值來確定是否中斷對第一頁面進行測試的步驟;依次類推,直至中斷對第一頁面進行測試的步驟或者計算完成第一頁面與所有相關(guān)聯(lián)的目標頁面的相似度值(也即計算完成第一頁面與頁面元素集合中所有的目標頁面元素對應的頁面的相似度值)。

步驟1205,若是,則中斷對第一頁面進行測試的步驟,并在對至少一個頁面中的其它頁面測試完成后,繼續(xù)對第一頁面進行測試。

即當確定相似度值不在預設的范圍內(nèi),則中斷對第一頁面進行測試的步驟。

需要說明的是,在中斷對第一頁面進行測試之后,可以將第一目標頁面元素標記為有效元素,由此來縮減后續(xù)測試耗時。此外,還可以執(zhí)行壓棧的操作,以達到保留現(xiàn)場的作用。之后,在對至少一個頁面中的其它頁面測試完成之后,可以通過出棧操作,來恢復現(xiàn)場,從而可以繼續(xù)對第一頁面進行測試,由此來達到對應用程序的所有頁面進行測試的目的。

還需要說明的是,在恢復現(xiàn)場之后,繼續(xù)對第一頁面進行測試的過程可以為:確定第一頁面相關(guān)聯(lián)的其它目標頁面,此處的其它目標頁面與上述第一、二目標頁面的定義相同,即為與頁面元素集合中另外的目標頁面元素相對應的頁面。并計算第一頁面與其它目標頁面的相似度值,若相似度值在預設的范圍內(nèi),則繼續(xù)執(zhí)行上述步驟;而若相似度值不在預設的范圍內(nèi),則將目標頁面相對應的目標頁面元素記錄為有效元素;直至計算完成第一頁面與所有相關(guān)聯(lián)的目標頁面的相似度值。也即在恢復現(xiàn)場之后,不再中斷對第一頁面的測試過程,而只需記錄相應的有效元素即可。

步驟130,根據(jù)對第一頁面進行測試的步驟,對其它頁面進行測試。

可以理解的是,上述第一頁面為應用程序的任一頁面,其并沒有特殊性,因此,在對其它頁面進行測試的過程中,也可能會出現(xiàn)測試中斷的情況,當其它頁面的測試過程被中斷時,也會執(zhí)行壓棧的操作,之后再通過恢復現(xiàn)場,來繼續(xù)對其它頁面進行測試。此處,因為棧有后進先出的特點,因此,最先執(zhí)行的壓棧操作,往往最后被恢復。舉例來說,假設應用程序有5個頁面,分別為:頁面1、頁面2、頁面3、頁面4以及頁面5,且在對該5個頁面依次進行測試時,測試頁面1和頁面3的過程先后發(fā)生了中斷,則在之后恢復現(xiàn)場時,先恢復對頁面3的測試過程,之后再恢復對頁面1的測試過程。

綜上,本申請在對應用程序進行測試的過程中,會對頁面發(fā)生改變之后或者跳轉(zhuǎn)之后,頁面的變化情況進行識別,具體地,在對某個頁面測試的過程中,當識別到頁面發(fā)生改變之后或者跳轉(zhuǎn)之后,頁面變化比較大時,則中斷對該頁面的測試,而是執(zhí)行相應的壓棧操作。之后在對應用程序的其它頁面測試完成之后,通過出棧操作,來恢復現(xiàn)場的方式,來繼續(xù)對中斷的頁面進行測試,由此來達到對應用程序的所有頁面進行測試的目的,從而提高了應用程序測試的準確性。

為了更清楚的說明本申請的應用程序的測試方法,以下將通過圖2來進行進一步的說明。

圖2為本申請另一實施例提供的應用程序的測試方法,如圖2所示,所述方法具體可以包括如下步驟:

步驟210,從應用程序的至少一個頁面中選取第一頁面。

其中,第一頁面可以為至少一個頁面中的任一頁面,如,可以為首頁頁面,也可以為其它頁面。

步驟220,獲取第一頁面對應的頁面元素集合。

在一個例子中,可以通過谷歌(google)公司的uiautomatorviewer工具來獲取頁面元素集合中的頁面元素。

步驟230,從頁面元素集合中選取至少一個目標頁面元素。

在一種實現(xiàn)方式中,可以結(jié)合第一頁面對應的dom樹來選取目標頁面元素,此處的dom樹由至少一個節(jié)點構(gòu)成,其中,節(jié)點的類型可以包括:根節(jié)點、分支節(jié)點以及葉子節(jié)點等。該dom樹的節(jié)點與頁面元素集合中的頁面元素一一對應,具體過程可以為:從dom樹的節(jié)點中選取至少一個葉子節(jié)點,將選取的至少一個葉子節(jié)點對應的頁面元素作為至少一個目標頁面元素。

步驟240,判斷第一頁面是否已經(jīng)發(fā)生了跳轉(zhuǎn),若已經(jīng)發(fā)生了跳轉(zhuǎn),則跳轉(zhuǎn)到步驟220;若未發(fā)生跳轉(zhuǎn),則跳轉(zhuǎn)到步驟250。

上述判斷第一頁面是否已經(jīng)發(fā)生了跳轉(zhuǎn)的過程可以為:判斷是否進入新的activity。

可以理解的是,在跳轉(zhuǎn)到步驟220之前,可以先確定跳轉(zhuǎn)到的新的頁面。之后在執(zhí)行步驟220時,步驟220變更為:獲取新的頁面對應的頁面元素集合。

步驟250,從至少一個目標頁面元素中選取第一目標頁面元素。

步驟260,點擊該第一目標頁面元素。

此處,當點擊該第一目標頁面元素之后,就可以確定與該第一目標頁面元素對應的第一目標頁面。此處的第一目標頁面可以是指第一頁面發(fā)生改變后的頁面,也可以是指跳轉(zhuǎn)至的其它頁面。

步驟270,計算第一頁面與第一目標頁面的相似度值。

此處,可以是根據(jù)漢明距離算法等,來計算第一頁面與第一目標頁面的相似度值。

步驟280,判斷相似度值是否為100%,若是,則跳轉(zhuǎn)到步驟290,否則跳轉(zhuǎn)到步驟2110。

可以理解的是,當?shù)谝豁撁媾c第一目標頁面的相似度值為100%時,說明第一頁面基本上沒有發(fā)生改變,也即能返回至第一頁面,因此可以不中斷第一頁面的測試過程。

步驟290,判斷至少一個目標頁面元素是否全部點擊完成,若是,則跳轉(zhuǎn)到步驟2100;否則跳轉(zhuǎn)到步驟250。

此處,至少一個目標頁面元素全部點擊完成可以理解為第一頁面的測試過程結(jié)束。

步驟2100,判斷棧中是否還有迭代沒有完成,若是,則返回上一層迭代,并跳轉(zhuǎn)到步驟250;否則結(jié)束。

此處,棧中的迭代可以是在中斷對某個頁面的測試時壓入的,返回上一層迭代是為了繼續(xù)對中斷的頁面進行測試。

步驟2110,判斷相似度值是否小于80%,若是,則跳轉(zhuǎn)到步驟210;否則,跳轉(zhuǎn)到步驟290。

此處,在相似度值小于80%時,跳轉(zhuǎn)到步驟210,是因為如果第一頁面與第一目標頁面的相似度值小于80%,則說明第一頁面的頁面變化比較大,有可能會導致不能返回至第一頁面的情況,所以需要中斷對第一頁面的測試,而開始對應用程序的其它頁面進行測試。在對其它頁面測試完成后,在繼續(xù)對第一頁面進行測試。因此,在跳轉(zhuǎn)到步驟210之后,步驟210變更為:從應用程序的至少一個頁面中選取其它頁面。

可以理解的是,在跳轉(zhuǎn)至步驟210之前,可以先執(zhí)行壓棧的操作,以便于后續(xù)恢復現(xiàn)場。

與上述應用程序的測試方法對應地,本申請實施例還提供的一種應用程序的測試裝置,如圖3所示,該裝置包括:

選取單元301,用于從應用程序的至少一個頁面中選取第一頁面。

測試單元302,用于對選取單元301選取的第一頁面進行測試,其中,測試單元302包括:

確定單元3021,用于確定第一頁面相關(guān)聯(lián)的第一目標頁面。

計算單元3022,用于計算第一頁面與確定單元3021確定的第一目標頁面的相似度值。

確定單元3021,還用于根據(jù)計算單元3022計算的相似度值,確定是否中斷對第一頁面進行測試的步驟。

處理單元3023,用于中斷對第一頁面進行測試的步驟,并在對至少一個頁面中的其它頁面測試完成后,繼續(xù)對第一頁面進行測試。

測試單元302,還用于根據(jù)對第一頁面進行測試的步驟,對其它頁面進行測試。

可選地,該裝置還可以包括:

獲取單元303,用于獲取第一頁面對應的頁面元素集合。

選取單元301,還用于從獲取單元303獲取的頁面元素集合中選取至少一個目標頁面元素。

選取單元301具體可以用于:

獲取第一頁面對應的文件對象模型dom樹,其中,dom樹的節(jié)點與頁面元素集合中的頁面元素一一對應;

從dom樹的節(jié)點中選取至少一個葉子節(jié)點,將至少一個葉子節(jié)點對應的頁面元素作為至少一個目標頁面元素。

確定單元3021具體可以用于:

從至少一個目標頁面元素中選取第一目標頁面元素,將第一目標頁面元素對應的頁面作為第一目標頁面。

可選地,確定單元3021還可以具體用于:

判斷相似度值是否在預設的范圍內(nèi);

若相似度值不在預設的范圍內(nèi),則中斷對第一頁面進行測試的步驟;

若相似度值在預設的范圍內(nèi),則不中斷對第一頁面進行測試的步驟。

可選地,確定單元3021還可以具體用于:

判斷第一頁面是否已經(jīng)發(fā)生了跳轉(zhuǎn);

若未發(fā)生跳轉(zhuǎn),則確定第一頁面相關(guān)聯(lián)的第一目標頁面;

若已經(jīng)發(fā)生了跳轉(zhuǎn),則確定跳轉(zhuǎn)后的新的頁面;

根據(jù)對第一頁面進行測試的步驟,對新的頁面進行測試,在對新的頁面測試完成后,確定第一頁面相關(guān)聯(lián)的第一目標頁面。

本申請實施例裝置的各功能模塊的功能,可以通過上述方法實施例的各步驟來實現(xiàn),因此,本申請?zhí)峁┑难b置的具體工作過程,在此不復贅述。

本申請?zhí)峁┑膽贸绦虻臏y試裝置,選取單元301從應用程序的至少一個頁面中選取第一頁面。測試單元302對第一頁面進行測試:確定單元3021,確定第一頁面相關(guān)聯(lián)的第一目標頁面。計算單元3022計算第一頁面與第一目標頁面的相似度值。確定單元3021根據(jù)相似度值,確定是否中斷對第一頁面進行測試的步驟。處理單元3023中斷對第一頁面進行測試的步驟,并在對至少一個頁面中的其它頁面測試完成后,繼續(xù)對第一頁面進行測試。測試單元302根據(jù)對第一頁面進行測試的步驟,對其它頁面進行測試。由此,可以提高應用程序測試的準確性。

本領(lǐng)域技術(shù)人員應該可以意識到,在上述一個或多個示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來實現(xiàn)。當使用軟件實現(xiàn)時,可以將這些功能存儲在計算機可讀介質(zhì)中或者作為計算機可讀介質(zhì)上的一個或多個指令或代碼進行傳輸。

以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的技術(shù)方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1