[發(fā)明專利]交互式測試用例的自動生成方法有效
| 申請?zhí)枺?/td> | 202011392991.4 | 申請日: | 2020-12-02 |
| 公開(公告)號: | CN112506766B | 公開(公告)日: | 2023-06-20 |
| 發(fā)明(設(shè)計)人: | 黃翰;曹捷;葉壘;劉方青 | 申請(專利權(quán))人: | 華南理工大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/451 |
| 代理公司: | 廣州市華學(xué)知識產(chǎn)權(quán)代理有限公司 44245 | 代理人: | 詹麗紅 |
| 地址: | 510640 廣*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 交互式 測試 自動 生成 方法 | ||
本發(fā)明公開了一種交互式測試用例的自動生成方法,當(dāng)應(yīng)用程序的UI界面顯示后,通過遍歷應(yīng)用程序UI界面對應(yīng)的視圖樹中的所有視圖,并記錄下其中可點擊視圖在視圖樹中的路徑,獲得UI界面中所有可點擊視圖在視圖樹中的路徑信息的集合。對該集合中的每一路徑信息分別生成對應(yīng)的測試用例:在測試用例中,根據(jù)待測試視圖在視圖樹中的路徑信息,在應(yīng)用程序UI界面中查找到該視圖,并觸發(fā)其點擊事件,即完成對該視圖的點擊交互測試。本發(fā)明對應(yīng)用程序的類型及其運行環(huán)境沒有嚴(yán)格要求,只需要應(yīng)用程序的UI布局符合視圖樹的結(jié)構(gòu),且每個視圖有對應(yīng)的屬性可用于查詢其是否能響應(yīng)點擊事件,即可以通過本發(fā)明自動生成與用戶點擊事件相關(guān)的測試用例。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測試技術(shù)領(lǐng)域,具體涉及一種交互式測試用例的自動生成方法。
背景技術(shù)
生成測試用例是進(jìn)行軟件測試的基礎(chǔ)。測試用例編碼空間的多樣性、大規(guī)模和復(fù)雜性會造成測試用例生成需要高計算代價,影響測試效率。基于流形優(yōu)化軟件測試用例自動生成算法在求解ATCG-PC問題時,首先需要獲取測試用例的編碼空間M,然后通過流形優(yōu)化獲取滿足約束的測試用例。當(dāng)對現(xiàn)代應(yīng)用程序運用基于流形優(yōu)化軟件測試用例自動生成算法時,由于用戶交互方式的多樣性,以及用戶交互界面的復(fù)雜性,如何有效的獲得測試用例的編碼空間M是一個在工程上需要解決的問題。通過人工編碼測試用例的方式,不但需要增加人力投入,還有可能產(chǎn)生遺漏。
發(fā)明內(nèi)容
本發(fā)明針對在現(xiàn)代應(yīng)用程序上應(yīng)用基于流形優(yōu)化軟件測試用例自動生成算法的需求,提供一種交互式測試用例的自動生成方法,通過遍歷應(yīng)用程序UI界面中可點擊視圖自動生成與用戶點擊交互相關(guān)的測試用例。
本發(fā)明的目的可以通過采取如下技術(shù)方案達(dá)到:
一種交互式測試用例的自動生成方法,該方法通過遍歷應(yīng)用程序UI界面中的可點擊視圖,自動生成與用戶點擊交互相關(guān)的測試用例,包括以下步驟:
T1、遍歷應(yīng)用程序UI界面中的所有可點擊視圖,得到遍歷結(jié)果,過程如下:
當(dāng)應(yīng)用程序的UI界面顯示后,通過遍歷應(yīng)用程序UI界面對應(yīng)的視圖樹中的所有視圖,并記錄下其中可點擊視圖在視圖樹中的路徑,獲得UI界面中所有可點擊視圖在視圖樹中的路徑信息的集合;
T2、根據(jù)步驟T1得到的遍歷結(jié)果自動生成對應(yīng)點擊事件的測試用例,過程如下:
對該路徑信息的集合中的每一路徑信息分別生成對應(yīng)的測試用例,在測試用例中,根據(jù)待測試視圖在視圖樹中的路徑信息,在應(yīng)用程序UI界面中查找到該視圖,并觸發(fā)其點擊事件,即完成對該視圖的點擊交互測試,然后將操作對應(yīng)的代碼寫入測試用例文件,生成該視圖對應(yīng)的測試用例。
進(jìn)一步地,所述步驟T1過程如下:
T11、在測試程序中,顯示待測試應(yīng)用程序的UI界面。
T12、獲取UI界面視圖樹(view?tree)的根視圖(root?view)。
T13、從根視圖開始,對視圖樹中的所有視圖進(jìn)行遍歷。
T14、為了在遍歷過程中有效表示每個子視圖在視圖樹中的位置,使用棧(stack)作為記錄子視圖位置信息的數(shù)據(jù)結(jié)構(gòu)。首先,將根視圖的索引(index)定義為0,將同一個父視圖下的第一個子視圖的索引定義為0,第二個子視圖的索引定義為1,依此類推。每當(dāng)遍歷到樹形結(jié)構(gòu)中一個新的視圖時,如果它是同一父視圖下的所有子視圖中第一個視圖,則將其索引入棧,如果它是同一父視圖下的所有子視圖中除第一個視圖外的其余視圖,則先將棧頂出棧,再將新視圖的索引入棧;如果在遍歷過程中返回到視圖樹的上一級,則將棧頂出棧。因此,每一時刻,棧中從棧底到棧頂所保存的索引信息(s0,?s1,?s2,?…)就可用于表示從視圖樹的根視圖開始一直到當(dāng)前視圖的路徑信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華南理工大學(xué),未經(jīng)華南理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011392991.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





