用戶界面測試的方法、用例管理平臺、操作終端及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用測試領(lǐng)域,尤其一種用戶界面測試的方法、用例管理平臺、操作終端及系統(tǒng)。
【背景技術(shù)】
[0002]用戶界面(User Interface,簡稱UI)測試一般包括布局測試、內(nèi)容測試(包括文字和圖片)、風格測試、控件測試等內(nèi)容。對于布局、內(nèi)容風格、字體等測試對象,通常采用靜態(tài)方式進行測試,例如使用點檢表結(jié)合人工觀察的方式獲得測試結(jié)果。而對于用戶界面中的控件來說,由于其具有人機交互的特性,能夠向用戶提供諸如界面跳轉(zhuǎn)、開關(guān)控制、文字輸入等交互性功能,因此現(xiàn)有技術(shù)中往往采用動態(tài)方式對UI進行測試。
[0003]現(xiàn)有針對UI的動態(tài)測試通常需要測試人員編寫測試用例,對被測試對象、測試方式、預(yù)期結(jié)果等內(nèi)容進行界定,然后由測試終端(例如手機)執(zhí)行該測試用例完成對Π測試。
[0004]在上述測試Π的過程中發(fā)明人發(fā)現(xiàn),通常應(yīng)用程序涉及的對象元素(如控件、view等)數(shù)量較多,一次測試可能會涵蓋成百上千的對象元素。因此編寫測試用例通常十分耗時,測試人員往往需要花費大量時間對測試用例進行編寫和修改,實際應(yīng)用中過于耗費人力成本。此外,現(xiàn)有的測試用例兼容性一般較差,即使對于一套測試方案,測試人員也需要針對不同操作系統(tǒng),甚至不同的測試機型編寫不同的測試用例,由此進一步提升了測試過程的人力成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種用戶界面測試的方法、用例管理平臺、操作終端及系統(tǒng),能夠解決編寫測試用例耗時較長的問題。
[0006]為解決上述問題,在第一方面中,本發(fā)明提供了一種用戶界面測試的方法,該方法包括:
[0007]顯示被測應(yīng)用的界面窗口,并接收針對界面窗口中窗口對象的點擊操作;
[0008]通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù);
[0009]查找對應(yīng)坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象;
[0010]根據(jù)對象參數(shù)生成測試用例。
[0011]在第二方面中,本發(fā)明還提供了一種用例管理平臺,該用例管理平臺包括:
[0012]顯示單元,用于顯示被測應(yīng)用的界面窗口 ;
[0013]接收單元,用于接收針對顯示單元顯示的界面窗口中窗口對象的點擊操作;
[0014]參數(shù)獲取單元,用于通過Hook機制對接收單元接收的點擊操作所對應(yīng)的點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù);
[0015]查找單元,用于查找對應(yīng)參數(shù)獲取單元獲取的坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象;
[0016]生成單元,用于根據(jù)查找單元查找到的對象參數(shù)生成測試用例。
[0017]在第三方面中,本發(fā)明還提供了一種用戶界面測試的系統(tǒng),該系統(tǒng)包括:用例管理平臺及測試終端;其中,
[0018]用例管理平臺,用于顯示被測應(yīng)用的界面窗口,并接收針對界面窗口中窗口對象的點擊操作,通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù),查找對應(yīng)坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象,根據(jù)對象參數(shù)生成測試用例,將測試用例下發(fā)給測試終端;
[0019]測試終端,用于接收用例管理平臺下發(fā)的測試用例,并執(zhí)行測試用例,對窗口對象進行點擊測試。
[0020]在第四方面中,本發(fā)明還提供了一種用戶界面測試的方法,該方法包括:
[0021]向用例管理平臺獲取Hook模塊,Hook模塊中包含有用于實現(xiàn)Hook機制的Hook函數(shù);
[0022]顯示被測應(yīng)用的界面窗口,并接收針對界面窗口中窗口對象的點擊操作;
[0023]通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù);
[0024]查找對應(yīng)坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象;
[0025]將窗口對象的對象參數(shù)發(fā)送給用例管理平臺,以使得用例管理平臺根據(jù)對象參數(shù)生成測試用例。
[0026]在第五方面中,本發(fā)明還提供了一種操作終端,該操作終端包括:
[0027]模塊獲取單元,用于向用例管理平臺獲取Hook模塊,Hook模塊中包含有用于實現(xiàn)Hook機制的Hook函數(shù);
[0028]顯示單元,用于顯示被測應(yīng)用的界面窗口 ;
[0029]接收單元,用于接收針對顯示單元顯示的界面窗口中窗口對象的點擊操作;
[0030]參數(shù)獲取單元,用于通過Hook機制對接收單元接收的點擊操作的點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù);
[0031]查找單元,用于查找對應(yīng)參數(shù)獲取單元獲取的坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象;
[0032]發(fā)送單元,用于將查找單元獲得的窗口對象的對象參數(shù)發(fā)送給用例管理平臺,以使得用例管理平臺根據(jù)對象參數(shù)生成測試用例。
[0033]在第六方面中,本發(fā)明還提供了一種用戶界面測試的系統(tǒng),該系統(tǒng)包括:操作終端及用例管理平臺;其中,
[0034]用例管理平臺,用于向操作終端發(fā)送Hook模塊,Hook模塊中包含有用于實現(xiàn)Hook機制的Hook函數(shù);
[0035]操作終端,用于向用例管理平臺獲取Hook模塊,顯示被測應(yīng)用的界面窗口,接收針對界面窗口中窗口對象的點擊操作,通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù),查找對應(yīng)坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),其中對象參數(shù)用于唯一標記窗口對象,將窗口對象的對象參數(shù)發(fā)送給用例管理平臺;
[0036]用例管理平臺,還用于根據(jù)對象參數(shù)生成測試用例。
[0037]借由上述技術(shù)方案,本發(fā)明提供的用戶界面測試的方法、用例管理平臺、操作終端及系統(tǒng),能夠接收測試人員在被測應(yīng)用的界面窗口中,對窗口對象觸發(fā)的點擊操作,并通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù)。然后查找對應(yīng)坐標參數(shù)的窗口對象,獲取窗口對象的對象參數(shù),并根據(jù)對象參數(shù)生成測試用例。最后將生成的測試用例下發(fā)給測試終端,以使得測試終端執(zhí)行該測試用例,對窗口對象進行點擊測試。針對Π界面類的測試而言,本發(fā)明能夠使測試人員在手機、電腦等設(shè)備上,僅通過手動點擊的方式就可以自動編輯出需要的測試用例,測試終端依據(jù)測試用例,完全按照測試人員的點擊路徑執(zhí)行測試過程。與現(xiàn)有技術(shù)相比,本發(fā)明完全無需測試人員對任何形式的測試用例進行編寫,能夠節(jié)省大量因編寫測試用例而耗費的時間,從而大大提高自動化測試的效率。
[0038]此外,由于無需編寫任何形式的測試用例,本發(fā)明還可以降低測試人員的入行門檻,即使完全不具備編程基礎(chǔ)的人員也可以快速高效的制定測試用例,因此本發(fā)明能夠提高自動化測試的易用性。
[0039]最后,本發(fā)明僅需要測試人員一次性制定測試方案,由此生成的測試用例可以下發(fā)給大量測試終端同時進行執(zhí)行。與現(xiàn)有技術(shù)中測試人員手動進行測試操作相比,本發(fā)明能夠?qū)崿F(xiàn)應(yīng)用程序的批量測試,進一步節(jié)省人力并提高測試效率。
[0040]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0041]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0042]圖1示出了本發(fā)明實施例提供的第一種用戶界面測試的方法流程圖;
[0043]圖2示出了本發(fā)明實施例提供的第二種用戶界面測試的方法流程圖;
[0044]圖3示出了本發(fā)明實施例提供的第一種用例管理平臺的結(jié)構(gòu)示意圖;
[0045]圖4示出了本發(fā)明實施例提供的第二種用例管理平臺的結(jié)構(gòu)示意圖;
[0046]圖5示出了本發(fā)明實施例提供的第一種用戶界面測試的系統(tǒng)示意圖;
[0047]圖6示出了本發(fā)明實施例提供的第二種用戶界面測試的系統(tǒng)示意圖;
[0048]圖7示出了本發(fā)明實施例提供的第三種用戶界面測試的方法流程圖;
[0049]圖8示出了本發(fā)明實施例提供的第四種用戶界面測試的方法流程圖;
[0050]圖9示出了本發(fā)明實施例提供的第一種操作終端的結(jié)構(gòu)示意圖;
[0051]圖10示出了本發(fā)明實施例提供的第二種操作終端的結(jié)構(gòu)示意圖;
[0052]圖11示出了本發(fā)明實施例提供的第三種用戶界面測試的系統(tǒng)示意圖;
[0053]圖12示出了本發(fā)明實施例提供的第四種用戶界面測試的系統(tǒng)示意圖;
[0054]圖13示出了本發(fā)明實施例提供的第五種用戶界面測試的系統(tǒng)示意圖。
【具體實施方式】
[0055]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0056]為節(jié)省測試人員手動編寫測試用例的耗時,本發(fā)明的一個實施例提供了一種用戶界面測試的方法。如圖1所示,該方法包括:
[0057]101、顯示被測應(yīng)用的界面窗口,并接收針對界面窗口中窗口對象的點擊操作。
[0058]本實施例以用例管理平臺作為實現(xiàn)圖1流程的執(zhí)行主體進行說明。實際應(yīng)用中,用例管理平臺用于接收、存儲、管理測試人員編寫的測試用例。而在本實施例中,用例管理平臺則用于通過客戶端頁面或Web頁面向測試人員提供制定測試方案的人機交互接口。測試人員可以將手機或電腦等操作終端連接到用例管理平臺上,在操作終端上運行被測應(yīng)用并執(zhí)行制定的點擊操作。
[0059]實際應(yīng)用中,測試人員可以在具備觸摸屏的操作終端上使用手指直接觸發(fā)點擊操作,也可以在非觸屏設(shè)備上通過鼠標點選觸發(fā)點擊操作,或者還可以通過鍵盤或遙控器上的方向鍵/導(dǎo)航鍵控制操作焦點(例如高亮的選擇框)的移動,并觸發(fā)點擊操作。測試人員觸發(fā)點擊操作的具體形式由操作終端所支持的操作類型決定,用例管理平臺僅以電信號的形式接收操作終端發(fā)送的點擊操作指令。
[0060]102、通過Hook機制對點擊事件的函數(shù)調(diào)用進行截獲,獲得點擊事件對應(yīng)的坐標參數(shù)。
[0061]測試人員在觸發(fā)點擊操作后,操作終端上產(chǎn)生點擊事件,并且該點擊事件會逐層傳遞到系統(tǒng)底層的窗口對象上。如果測試人員通過觸控屏觸發(fā)點擊事件,則產(chǎn)生touch事件;如果測試人員通過鼠標觸發(fā)點擊事件,則產(chǎn)生click事件。在系統(tǒng)底層,點擊事件會觸發(fā)相應(yīng)的函數(shù)調(diào)用,該函數(shù)中包含系統(tǒng)獲得的該點擊事件的相關(guān)參數(shù),包括點擊的坐標參數(shù)及事件類型(長按、短按、點擊操作、滑動操