本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種用戶界面的測(cè)試方法及服務(wù)器。
背景技術(shù):
目前,用戶界面開發(fā)人員針對(duì)用戶界面(User Interface,UI)的自動(dòng)化測(cè)試通常是預(yù)先編寫測(cè)試腳本并通過(guò)控件識(shí)別進(jìn)行測(cè)試信息采集和分析的,對(duì)測(cè)試腳本的編程人員的經(jīng)驗(yàn)和專業(yè)技能要求較高,編程效率低下且容易出錯(cuò),另外,用戶界面的版本迭代通常較快,導(dǎo)致測(cè)試腳本的維護(hù)代價(jià)高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種用戶界面的測(cè)試方法及服務(wù)器,旨在提高用戶界面的測(cè)試腳本的生成效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種用戶界面的測(cè)試方法,所述方法包括以下步驟:
測(cè)試服務(wù)器接收預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息為該用戶終端在響應(yīng)用戶針對(duì)該用戶終端上顯示的用戶界面的操作行為時(shí),偵測(cè)并記錄的該操作行為的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息、操作類型信息;
對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,以解析出各個(gè)預(yù)設(shè)類型日志信息所包含的操作控件信息和操作類型信息;
對(duì)解析出的操作控件信息和/或操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類,以確定出各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件對(duì)應(yīng)的操作類型;
根據(jù)預(yù)先確定的待測(cè)試控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行測(cè)試。
優(yōu)選地,所述預(yù)先確定的歸類規(guī)則包括:
對(duì)解析出的操作控件信息對(duì)應(yīng)的操作類型信息進(jìn)行歸類,以將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,并將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類;
將每一屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將每一屬性類下的所有操作類型作為該屬性類對(duì)應(yīng)的待測(cè)試控件的對(duì)應(yīng)操作類型。
優(yōu)選地,所述預(yù)先確定的歸類規(guī)則包括:
分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,則將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。
優(yōu)選地,該方法還包括:
根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件;
將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件;
生成提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查。
優(yōu)選地,所述操作控件信息包括操作的控件名稱,所述操作類型信息包括點(diǎn)擊操作、滑動(dòng)操作、滾動(dòng)操作和/或拖動(dòng)操作。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種用戶界面的測(cè)試服務(wù)器,所述測(cè)試服務(wù)器包括:
接收模塊,用于接收預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息為該用戶終端在響應(yīng)用戶針對(duì)該用戶終端上顯示的用戶界面的操作行為時(shí),偵測(cè)并記錄的該操作行為的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息、操作類型信息;
解析模塊,用于對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,以解析出各個(gè)預(yù)設(shè)類型日志信息所包含的操作控件信息和操作類型信息;
歸類模塊,用于對(duì)解析出的操作控件信息和/或操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類,以確定出各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件對(duì)應(yīng)的操作類型;
生成模塊,用于根據(jù)預(yù)先確定的待測(cè)試控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行測(cè)試。
優(yōu)選地,所述預(yù)先確定的歸類規(guī)則包括:
對(duì)解析出的操作控件信息對(duì)應(yīng)的操作類型信息進(jìn)行歸類,以將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,并將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類;
將每一屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將每一屬性類下的所有操作類型作為該屬性類對(duì)應(yīng)的待測(cè)試控件的對(duì)應(yīng)操作類型。
優(yōu)選地,所述預(yù)先確定的歸類規(guī)則包括:
分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,則將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。
優(yōu)選地,所述測(cè)試服務(wù)器還包括:
確定模塊,用于根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件;
比對(duì)模塊,用于將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件;
提醒模塊,用于生成提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查。
優(yōu)選地,所述操作控件信息包括操作的控件名稱,所述操作類型信息包括點(diǎn)擊操作、滑動(dòng)操作、滾動(dòng)操作和/或拖動(dòng)操作。
本發(fā)明提出的用戶界面的測(cè)試方法及服務(wù)器,通過(guò)測(cè)試服務(wù)器對(duì)預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息進(jìn)行解析,得到各個(gè)預(yù)設(shè)類型日志信息對(duì)應(yīng)的操作控件信息和操作類型信息;并確定出各個(gè)待測(cè)試控件及對(duì)應(yīng)的操作類型;根據(jù)預(yù)先確定的控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本來(lái)進(jìn)行用戶界面測(cè)試。由于是根據(jù)針對(duì)用戶在用戶界面上的操作行為所生成的日志信息進(jìn)行解析,并根據(jù)用戶的操作行為對(duì)應(yīng)的操作控件信息和操作類型信息獲取到各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,能自動(dòng)根據(jù)獲取的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,而無(wú)需開發(fā)人員人工編寫測(cè)試腳本,效率較高且不易出錯(cuò),而且,在后續(xù)用戶界面的版本迭代時(shí),只需重新獲取迭代后的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼即可自動(dòng)生成測(cè)試腳本,維護(hù)成本較低。
附圖說(shuō)明
圖1為本發(fā)明用戶界面的測(cè)試方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明用戶界面的測(cè)試方法第二實(shí)施例的流程示意圖;
圖3為本發(fā)明用戶界面的測(cè)試服務(wù)器第一實(shí)施例的功能模塊示意圖;
圖4為本發(fā)明用戶界面的測(cè)試服務(wù)器第二實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種用戶界面的測(cè)試方法。
參照?qǐng)D1,圖1為本發(fā)明用戶界面的測(cè)試方法第一實(shí)施例的流程示意圖。
在第一實(shí)施例中,該用戶界面的測(cè)試方法包括:
步驟S10,測(cè)試服務(wù)器接收預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息為該用戶終端在響應(yīng)用戶針對(duì)該用戶終端上顯示的用戶界面的操作行為時(shí),偵測(cè)并記錄的該操作行為的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息、操作類型信息;
本實(shí)施例中,在預(yù)先確定的需要進(jìn)行測(cè)試的用戶界面所在的用戶終端上,由該用戶終端實(shí)時(shí)或定時(shí)監(jiān)測(cè)每一次用戶針對(duì)該用戶界面的操作行為,若監(jiān)測(cè)到用戶針對(duì)該用戶界面的一個(gè)操作行為被響應(yīng),則該用戶終端偵測(cè)并記錄該操作行為所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息(例如操作的控件名稱、標(biāo)識(shí)等)以及操作類型信息,該操作類型信息包括但不限于點(diǎn)擊操作、滑動(dòng)操作、滾動(dòng)操作、拖動(dòng)操作、按壓操作等。
在一種實(shí)施方式中,該用戶終端可在監(jiān)測(cè)到用戶針對(duì)該用戶界面的操作行為時(shí),調(diào)取系統(tǒng)日志信息,并從系統(tǒng)日志信息中提取出該操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。在另一種實(shí)施方式中,該用戶終端上預(yù)先配置有日志信息采集模塊,通過(guò)該日志信息采集模塊實(shí)時(shí)或定時(shí)地偵測(cè)并記錄每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。
測(cè)試服務(wù)器接收預(yù)設(shè)時(shí)間內(nèi)(例如,最近30天內(nèi))該用戶終端發(fā)送來(lái)的預(yù)設(shè)類型日志信息,以獲知每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。
步驟S20,對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,以解析出各個(gè)預(yù)設(shè)類型日志信息所包含的操作控件信息和操作類型信息;
步驟S30,對(duì)解析出的操作控件信息和/或操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類,以確定出各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件對(duì)應(yīng)的操作類型;
所述測(cè)試服務(wù)器對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,解析出各個(gè)預(yù)設(shè)類型日志信息中記錄的操作控件信息和操作類型信息。對(duì)預(yù)設(shè)時(shí)間內(nèi)每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息進(jìn)行歸類,如可按各個(gè)操作控件信息將操作控件相同或相近似的歸為同一類,還可按操作類型信息將操作類型相同或相近似的歸為同一類,還可按預(yù)先確定的同一測(cè)試代碼與多種操作控件信息或操作類型信息的對(duì)應(yīng)關(guān)系,將與同一測(cè)試代碼對(duì)應(yīng)的多種操作控件信息或操作類型信息的操作控件歸為同一類,等等。將歸類后同一類的操作控件作為一個(gè)待測(cè)試控件,確定接收的預(yù)設(shè)類型日志信息中的各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件所對(duì)應(yīng)的操作類型。
步驟S40,根據(jù)預(yù)先確定的待測(cè)試控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行測(cè)試。
確定出接收的預(yù)設(shè)類型日志信息中的各個(gè)待測(cè)試控件及其對(duì)應(yīng)的操作類型之后,可根據(jù)預(yù)先確定的不同控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼。由于同一控件及其對(duì)應(yīng)的操作類型所對(duì)應(yīng)的測(cè)試代碼是固定不變的,因此,可預(yù)先確定不同控件、操作類型和測(cè)試代碼之間的映射關(guān)系,在確定出待測(cè)試控件及其對(duì)應(yīng)的操作類型之后,即可根據(jù)預(yù)先確定的映射關(guān)系,得出待測(cè)試控件及其對(duì)應(yīng)的操作類型所對(duì)應(yīng)的模塊化的測(cè)試代碼。依次確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼之后,即可對(duì)各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼進(jìn)行拼接、組合等簡(jiǎn)單的操作以生成最終的測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行各種操作類型的測(cè)試。
本實(shí)施例通過(guò)測(cè)試服務(wù)器對(duì)預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息進(jìn)行解析,得到各個(gè)預(yù)設(shè)類型日志信息對(duì)應(yīng)的操作控件信息和操作類型信息;并確定出各個(gè)待測(cè)試控件及對(duì)應(yīng)的操作類型;根據(jù)預(yù)先確定的控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本來(lái)進(jìn)行用戶界面測(cè)試。由于是根據(jù)針對(duì)用戶在用戶界面上的操作行為所生成的日志信息進(jìn)行解析,并根據(jù)用戶的操作行為對(duì)應(yīng)的操作控件信息和操作類型信息獲取到各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,能自動(dòng)根據(jù)獲取的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,而無(wú)需開發(fā)人員人工編寫測(cè)試腳本,效率較高且不易出錯(cuò),而且,在后續(xù)用戶界面的版本迭代時(shí),只需重新獲取迭代后的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼即可自動(dòng)生成測(cè)試腳本,維護(hù)成本較低。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)先確定的歸類規(guī)則包括:
對(duì)解析出的操作控件信息對(duì)應(yīng)的操作類型信息進(jìn)行歸類,以將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,并將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類;
將每一屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將每一屬性類下的所有操作類型作為該屬性類對(duì)應(yīng)的待測(cè)試控件的對(duì)應(yīng)操作類型。
本實(shí)施例中在對(duì)解析出的操作控件信息和操作類型信息進(jìn)行歸類時(shí),以操作控件信息為準(zhǔn)進(jìn)行歸類,如當(dāng)該操作控件信息為操作的控件名稱時(shí),可將相同控件名稱及其對(duì)應(yīng)的操作類型信息歸為同一屬性類,將不同控件名稱及其對(duì)應(yīng)的操作類型信息歸為不同屬性類。將同一控件名稱對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將同一控件名稱下的所有操作類型作為該待測(cè)試控件的對(duì)應(yīng)操作類型。由于同一控件名稱對(duì)應(yīng)的操作控件所對(duì)應(yīng)的測(cè)試代碼均相同或相似,因此,將相同控件名稱及其對(duì)應(yīng)的操作類型信息歸為同一屬性類,能將對(duì)應(yīng)的測(cè)試代碼相同或相似的操作控件歸為一類,使得后續(xù)在根據(jù)預(yù)先確定的控件、操作類型和測(cè)試代碼的映射關(guān)系確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼時(shí),只需根據(jù)同一類操作控件的不同操作類型找到各個(gè)操作類型對(duì)應(yīng)的測(cè)試代碼,而不用對(duì)每一個(gè)相同或不同操作控件信息的操作控件均進(jìn)行查找,簡(jiǎn)化了查找過(guò)程,確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼的效率更高。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)先確定的歸類規(guī)則還包括:
分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,則將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。
本實(shí)施例中,在將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類之后,還對(duì)每一屬性類對(duì)應(yīng)的操作控件進(jìn)行篩選,如可分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,才將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。這樣,用戶可根據(jù)實(shí)際應(yīng)用中的測(cè)試需要來(lái)設(shè)定一待測(cè)試控件列表,如可根據(jù)每次測(cè)試的著重點(diǎn)不同,可增加或刪除待測(cè)試控件列表中的待測(cè)試控件名單,即可控制后續(xù)確定的測(cè)試代碼所對(duì)應(yīng)的待測(cè)試控件為該次測(cè)試所需的待測(cè)試控件,實(shí)現(xiàn)測(cè)試代碼的自定義獲取,能更加靈活的生成所需的測(cè)試腳本,實(shí)用性更高。
如圖2所示,本發(fā)明第二實(shí)施例提出一種用戶界面的測(cè)試方法,在上述實(shí)施例的基礎(chǔ)上,在上述步驟S30之后還包括:
步驟S50,根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件;
步驟S60,將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件;
步驟S70,生成提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查。
本實(shí)施例中,在對(duì)解析出的操作控件信息和操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類并確定出各個(gè)待測(cè)試控件之后,進(jìn)一步地,還根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件,并將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件。由于各個(gè)待測(cè)試控件是基于用戶針對(duì)該用戶界面的操作行為所確定出的,而用戶針對(duì)該用戶界面的操作行為有可能沒有涉及到該用戶界面上的所有控件。因此,要對(duì)該用戶界面進(jìn)行全面測(cè)試,則將確定出的各個(gè)待測(cè)試控件與該用戶界面對(duì)應(yīng)的所有配置控件進(jìn)行比對(duì),篩選出所有配置控件中不是待測(cè)試控件的配置控件,篩選出的配置控件即為用戶針對(duì)該用戶界面的操作行為所沒有涉及到的該用戶界面上的控件。則生成提醒信息如向預(yù)先確定的終端發(fā)送提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查,以為有必要進(jìn)行測(cè)試的配置控件添加測(cè)試代碼,并將添加的測(cè)試代碼與各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼一起組合形成最終完整的測(cè)試腳本,以更加全面的對(duì)用戶界面進(jìn)行測(cè)試。
本發(fā)明進(jìn)一步提供一種用戶界面的測(cè)試服務(wù)器。
參照?qǐng)D3,圖3為本發(fā)明用戶界面的測(cè)試服務(wù)器第一實(shí)施例的功能模塊示意圖。
在第一實(shí)施例中,該用戶界面的測(cè)試服務(wù)器包括:
接收模塊01,用于接收預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息為該用戶終端在響應(yīng)用戶針對(duì)該用戶終端上顯示的用戶界面的操作行為時(shí),偵測(cè)并記錄的該操作行為的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息、操作類型信息;
本實(shí)施例中,在預(yù)先確定的需要進(jìn)行測(cè)試的用戶界面所在的用戶終端上,由該用戶終端實(shí)時(shí)或定時(shí)監(jiān)測(cè)每一次用戶針對(duì)該用戶界面的操作行為,若監(jiān)測(cè)到用戶針對(duì)該用戶界面的一個(gè)操作行為被響應(yīng),則該用戶終端偵測(cè)并記錄該操作行為所對(duì)應(yīng)的預(yù)設(shè)類型日志信息,所述預(yù)設(shè)類型日志信息包括操作控件信息(例如操作的控件名稱、標(biāo)識(shí)等)以及操作類型信息,該操作類型信息包括但不限于點(diǎn)擊操作、滑動(dòng)操作、滾動(dòng)操作、拖動(dòng)操作、按壓操作等。
在一種實(shí)施方式中,該用戶終端可在監(jiān)測(cè)到用戶針對(duì)該用戶界面的操作行為時(shí),調(diào)取系統(tǒng)日志信息,并從系統(tǒng)日志信息中提取出該操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。在另一種實(shí)施方式中,該用戶終端上預(yù)先配置有日志信息采集模塊,通過(guò)該日志信息采集模塊實(shí)時(shí)或定時(shí)地偵測(cè)并記錄每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。
測(cè)試服務(wù)器接收預(yù)設(shè)時(shí)間內(nèi)(例如,最近30天內(nèi))該用戶終端發(fā)送來(lái)的預(yù)設(shè)類型日志信息,以獲知每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息。
解析模塊02,用于對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,以解析出各個(gè)預(yù)設(shè)類型日志信息所包含的操作控件信息和操作類型信息;
歸類模塊03,用于對(duì)解析出的操作控件信息和/或操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類,以確定出各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件對(duì)應(yīng)的操作類型;
所述測(cè)試服務(wù)器對(duì)接收的預(yù)設(shè)類型日志信息進(jìn)行解析,解析出各個(gè)預(yù)設(shè)類型日志信息中記錄的操作控件信息和操作類型信息。對(duì)預(yù)設(shè)時(shí)間內(nèi)每一次用戶針對(duì)該用戶界面的操作行為所對(duì)應(yīng)的操作控件信息以及操作類型信息進(jìn)行歸類,如可按各個(gè)操作控件信息將操作控件相同或相近似的歸為同一類,還可按操作類型信息將操作類型相同或相近似的歸為同一類,還可按預(yù)先確定的同一測(cè)試代碼與多種操作控件信息或操作類型信息的對(duì)應(yīng)關(guān)系,將與同一測(cè)試代碼對(duì)應(yīng)的多種操作控件信息或操作類型信息的操作控件歸為同一類,等等。將歸類后同一類的操作控件作為一個(gè)待測(cè)試控件,確定接收的預(yù)設(shè)類型日志信息中的各個(gè)待測(cè)試控件,以及各個(gè)待測(cè)試控件所對(duì)應(yīng)的操作類型。
生成模塊04,用于根據(jù)預(yù)先確定的待測(cè)試控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行測(cè)試。
確定出接收的預(yù)設(shè)類型日志信息中的各個(gè)待測(cè)試控件及其對(duì)應(yīng)的操作類型之后,可根據(jù)預(yù)先確定的不同控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼。由于同一控件及其對(duì)應(yīng)的操作類型所對(duì)應(yīng)的測(cè)試代碼是固定不變的,因此,可預(yù)先確定不同控件、操作類型和測(cè)試代碼之間的映射關(guān)系,在確定出待測(cè)試控件及其對(duì)應(yīng)的操作類型之后,即可根據(jù)預(yù)先確定的映射關(guān)系,得出待測(cè)試控件及其對(duì)應(yīng)的操作類型所對(duì)應(yīng)的模塊化的測(cè)試代碼。依次確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼之后,即可對(duì)各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼進(jìn)行拼接、組合等簡(jiǎn)單的操作以生成最終的測(cè)試腳本,以利用生成的測(cè)試腳本對(duì)該用戶終端上顯示的用戶界面進(jìn)行各種操作類型的測(cè)試。
本實(shí)施例通過(guò)測(cè)試服務(wù)器對(duì)預(yù)設(shè)時(shí)間內(nèi)用戶終端發(fā)送來(lái)的與該用戶終端上顯示的用戶界面所對(duì)應(yīng)的預(yù)設(shè)類型日志信息進(jìn)行解析,得到各個(gè)預(yù)設(shè)類型日志信息對(duì)應(yīng)的操作控件信息和操作類型信息;并確定出各個(gè)待測(cè)試控件及對(duì)應(yīng)的操作類型;根據(jù)預(yù)先確定的控件、操作類型和測(cè)試代碼的映射關(guān)系,確定出各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,并基于各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本來(lái)進(jìn)行用戶界面測(cè)試。由于是根據(jù)針對(duì)用戶在用戶界面上的操作行為所生成的日志信息進(jìn)行解析,并根據(jù)用戶的操作行為對(duì)應(yīng)的操作控件信息和操作類型信息獲取到各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼,能自動(dòng)根據(jù)獲取的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼生成測(cè)試腳本,而無(wú)需開發(fā)人員人工編寫測(cè)試腳本,效率較高且不易出錯(cuò),而且,在后續(xù)用戶界面的版本迭代時(shí),只需重新獲取迭代后的各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼即可自動(dòng)生成測(cè)試腳本,維護(hù)成本較低。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)先確定的歸類規(guī)則包括:
對(duì)解析出的操作控件信息對(duì)應(yīng)的操作類型信息進(jìn)行歸類,以將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,并將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類;
將每一屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將每一屬性類下的所有操作類型作為該屬性類對(duì)應(yīng)的待測(cè)試控件的對(duì)應(yīng)操作類型。
本實(shí)施例中在對(duì)解析出的操作控件信息和操作類型信息進(jìn)行歸類時(shí),以操作控件信息為準(zhǔn)進(jìn)行歸類,如當(dāng)該操作控件信息為操作的控件名稱時(shí),可將相同控件名稱及其對(duì)應(yīng)的操作類型信息歸為同一屬性類,將不同控件名稱及其對(duì)應(yīng)的操作類型信息歸為不同屬性類。將同一控件名稱對(duì)應(yīng)的操作控件作為待測(cè)試控件,并將同一控件名稱下的所有操作類型作為該待測(cè)試控件的對(duì)應(yīng)操作類型。由于同一控件名稱對(duì)應(yīng)的操作控件所對(duì)應(yīng)的測(cè)試代碼均相同或相似,因此,將相同控件名稱及其對(duì)應(yīng)的操作類型信息歸為同一屬性類,能將對(duì)應(yīng)的測(cè)試代碼相同或相似的操作控件歸為一類,使得后續(xù)在根據(jù)預(yù)先確定的控件、操作類型和測(cè)試代碼的映射關(guān)系確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼時(shí),只需根據(jù)同一類操作控件的不同操作類型找到各個(gè)操作類型對(duì)應(yīng)的測(cè)試代碼,而不用對(duì)每一個(gè)相同或不同操作控件信息的操作控件均進(jìn)行查找,簡(jiǎn)化了查找過(guò)程,確定各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼的效率更高。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)先確定的歸類規(guī)則還包括:
分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,則將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。
本實(shí)施例中,在將相同的操作控件信息對(duì)應(yīng)的操作類型信息歸為同一屬性類,將不同的操作控件信息對(duì)應(yīng)的操作類型信息歸為不同屬性類之后,還對(duì)每一屬性類對(duì)應(yīng)的操作控件進(jìn)行篩選,如可分析每一屬性類對(duì)應(yīng)的操作控件是否包含在預(yù)設(shè)的待測(cè)試控件列表中,若是,才將該屬性類對(duì)應(yīng)的操作控件作為待測(cè)試控件。這樣,用戶可根據(jù)實(shí)際應(yīng)用中的測(cè)試需要來(lái)設(shè)定一待測(cè)試控件列表,如可根據(jù)每次測(cè)試的著重點(diǎn)不同,可增加或刪除待測(cè)試控件列表中的待測(cè)試控件名單,即可控制后續(xù)確定的測(cè)試代碼所對(duì)應(yīng)的待測(cè)試控件為該次測(cè)試所需的待測(cè)試控件,實(shí)現(xiàn)測(cè)試代碼的自定義獲取,能更加靈活的生成所需的測(cè)試腳本,實(shí)用性更高。
如圖4所示,本發(fā)明第二實(shí)施例提出一種用戶界面的測(cè)試服務(wù)器,在上述實(shí)施例的基礎(chǔ)上,還包括:
確定模塊05,用于根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件;
比對(duì)模塊06,用于將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件;
提醒模塊07,用于生成提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查。
本實(shí)施例中,在對(duì)解析出的操作控件信息和操作類型信息按照預(yù)先確定的歸類規(guī)則進(jìn)行歸類并確定出各個(gè)待測(cè)試控件之后,進(jìn)一步地,還根據(jù)該用戶界面的配置文件,確定出該用戶界面對(duì)應(yīng)的所有配置控件,并將確定出的各個(gè)待測(cè)試控件與各個(gè)配置控件進(jìn)行比對(duì),以篩選出所有配置控件中不是待測(cè)試控件的配置控件。由于各個(gè)待測(cè)試控件是基于用戶針對(duì)該用戶界面的操作行為所確定出的,而用戶針對(duì)該用戶界面的操作行為有可能沒有涉及到該用戶界面上的所有控件。因此,要對(duì)該用戶界面進(jìn)行全面測(cè)試,則將確定出的各個(gè)待測(cè)試控件與該用戶界面對(duì)應(yīng)的所有配置控件進(jìn)行比對(duì),篩選出所有配置控件中不是待測(cè)試控件的配置控件,篩選出的配置控件即為用戶針對(duì)該用戶界面的操作行為所沒有涉及到的該用戶界面上的控件。則生成提醒信息如向預(yù)先確定的終端發(fā)送提醒信息,以提醒為篩選出的配置控件添加測(cè)試代碼,及/或,提醒針對(duì)篩選出的配置控件進(jìn)行必要性檢查,以為有必要進(jìn)行測(cè)試的配置控件添加測(cè)試代碼,并將添加的測(cè)試代碼與各個(gè)待測(cè)試控件對(duì)應(yīng)的測(cè)試代碼一起組合形成最終完整的測(cè)試腳本,以更加全面的對(duì)用戶界面進(jìn)行測(cè)試。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件來(lái)實(shí)現(xiàn),但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上參照附圖說(shuō)明了本發(fā)明的優(yōu)選實(shí)施例,并非因此局限本發(fā)明的權(quán)利范圍。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本領(lǐng)域技術(shù)人員不脫離本發(fā)明的范圍和實(shí)質(zhì),可以有多種變型方案實(shí)現(xiàn)本發(fā)明,比如作為一個(gè)實(shí)施例的特征可用于另一實(shí)施例而得到又一實(shí)施例。凡在運(yùn)用本發(fā)明的技術(shù)構(gòu)思之內(nèi)所作的任何修改、等同替換和改進(jìn),均應(yīng)在本發(fā)明的權(quán)利范圍之內(nèi)。