本申請涉及遠(yuǎn)程真機(jī)測試技術(shù)領(lǐng)域,尤其涉及一種app故障確定方法及裝置。
背景技術(shù):
在遠(yuǎn)程真機(jī)測試系統(tǒng)中,用戶通過安裝在pc上的軟件遠(yuǎn)程連接到服務(wù)器,服務(wù)器連接了真實的遠(yuǎn)程終端(比如,手機(jī)等)。用戶可以通過服務(wù)器將待測試的app安裝在遠(yuǎn)程終端,從而在遠(yuǎn)程終端對該app進(jìn)行測試。
在實際測試過程中,通常會由于待測試的app自身的不穩(wěn)定或是與遠(yuǎn)程終端的不兼容等問題,出現(xiàn)一些測試故障,這些測試故障的信息被日志所記錄,從而能夠在后期通過對日志進(jìn)行分析,確定導(dǎo)致故障的具體原因。然而,測試過程中所記錄的日志通常數(shù)量較多,導(dǎo)致從其中確定出具體某一條或幾條日志的效率較低。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種app故障確定方法及裝置,能夠用于解決現(xiàn)有技術(shù)中的問題。
本申請實施例提供了一種app故障確定方法,該方法包括:
確定目標(biāo)截屏圖片,所述目標(biāo)截屏圖片反映app測試中的故障;
確定所述目標(biāo)截屏圖片的截屏?xí)r間;
根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,其中所述目標(biāo)日志生成時的時間戳與所述截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值;
將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障。
優(yōu)選地,確定目標(biāo)截屏圖片,具體包括:從截屏圖片庫中篩選出目標(biāo)截屏圖片,其中所述截屏圖片庫用于存儲app測試過程中的截屏圖片。
優(yōu)選地,確定所述目標(biāo)截屏圖片的截屏?xí)r間,具體包括:
根據(jù)所述目標(biāo)截屏圖片的屬性信息確定所述目標(biāo)截屏圖片的截屏?xí)r間,其中所述屬性信息中包括截取所述目標(biāo)截屏圖片時的時間。
優(yōu)選地,在確定目標(biāo)截屏圖片之前,所述方法還包括:
當(dāng)app測試過程中出現(xiàn)所述故障時,從測試終端的屏幕中截取所述目標(biāo)截屏圖片;
在所述預(yù)設(shè)時間閾值內(nèi)生成所述目標(biāo)日志,其中所述目標(biāo)日志中包括所述目標(biāo)日志生成時的時間戳。
優(yōu)選地,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,具體包括:
通過日志分析程序?qū)θ罩疚募念A(yù)處理確定至少一個待選日志,其中待選日志中記錄對應(yīng)的故障信息;
根據(jù)所述截屏?xí)r間與各待選日志中時間戳的時間差,確定時間差小于或等于預(yù)設(shè)時間閾值的所述目標(biāo)日志。
優(yōu)選地,將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障,具體包括:
將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于通過所述用戶端對所述目標(biāo)截屏圖片和所述目標(biāo)日志的分析,確定app測試中的故障。
本申請實施例還提供了一種app故障確定裝置,該裝置包括:目標(biāo)截屏圖片確定單元、截屏?xí)r間確定單元、目標(biāo)日志確定單元以及推送單元,其中:
目標(biāo)截屏圖片確定單元,確定目標(biāo)截屏圖片,所述目標(biāo)截屏圖片反映app測試中的故障;
截屏?xí)r間確定單元,確定所述目標(biāo)截屏圖片的截屏?xí)r間;
目標(biāo)日志確定單元,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,其中所述目標(biāo)日志生成時的時間戳與所述截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值;
推送單元,將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障。
優(yōu)選地,確定目標(biāo)截屏圖片,具體包括:從截屏圖片庫中篩選出目標(biāo)截屏圖片,其中所述截屏圖片庫用于存儲app測試過程中的截屏圖片。
優(yōu)選地,確定所述目標(biāo)截屏圖片的截屏?xí)r間,具體包括:
根據(jù)所述目標(biāo)截屏圖片的屬性信息確定所述目標(biāo)截屏圖片的截屏?xí)r間,其中所述屬性信息中包括截取所述目標(biāo)截屏圖片時的時間。
優(yōu)選地,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,具體包括:
通過日志分析程序?qū)θ罩疚募念A(yù)處理確定至少一個待選日志,其中待選日志中記錄對應(yīng)的故障信息;
根據(jù)所述截屏?xí)r間與各待選日志中時間戳的時間差,確定時間差小于或等于預(yù)設(shè)時間閾值的所述目標(biāo)日志。
本申請實施例采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:
采用本申請實施例所提供的app故障確定方法,在確定目標(biāo)截屏圖片之后,確定該目標(biāo)截屏圖片的截屏?xí)r間,然后根據(jù)該截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,最后將目標(biāo)截屏圖片和目標(biāo)日志推送至客戶端,用于確定app的故障,其中目標(biāo)截屏圖片反映app測試中的故障,并且目標(biāo)日志中的時間戳與截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值。由于先確定目標(biāo)截屏圖片,而圖片形式相對于日志的文字形式更加直觀,因此確定目標(biāo)截屏圖片相對于從眾多日志中直接確定目標(biāo)日志更加高效,并且在確定目標(biāo)截屏圖片之后,根據(jù)目標(biāo)截屏圖片的截屏?xí)r間能夠快速的確定目標(biāo)日志,從而解決了現(xiàn)有技術(shù)中的問題。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的遠(yuǎn)程真機(jī)測試系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請實施例提供的app故障確定方法的具體流程示意圖;
圖3為本申請實施例提供的app故障確定裝置的結(jié)構(gòu)示意圖;
圖4為本申請實施例提供的app故障確定系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請各實施例提供的技術(shù)方案。
如上所述,在通過遠(yuǎn)程真機(jī)測試系統(tǒng)測試app的過程中,通常會由于待測試的app自身的不穩(wěn)定或是與遠(yuǎn)程終端的不兼容等問題,導(dǎo)致測試時出現(xiàn)一些測試故障,比如,該app出現(xiàn)閃退或者某個功能按鈕不響應(yīng)等。app測試過程中測試故障的信息會被日志所記錄,從而在后期故障分析的過程中,能夠通過對日志進(jìn)行分析,確定導(dǎo)致故障的具體原因。但是,測試過程中所記錄的日志通常數(shù)量較多,導(dǎo)致從其中確定出具體某一條或幾條日志的效率較低。
比如,app測試過程中,當(dāng)測試某個功能按鈕時,出現(xiàn)該功能按鈕不響應(yīng)的問題,該故障的信息會被日志所記錄;在后期進(jìn)行故障分析時,由于所記錄的日志較多,從這些日志中確定出記錄功能按鈕不響應(yīng)信息的日志效率較低。
基于此,本申請實施例提供了一種app故障確定方法,能夠用于解決現(xiàn)有技術(shù)中的問題。為了便于理解本申請所提供的終端屏幕展示方法,可以先對遠(yuǎn)程真機(jī)測試系統(tǒng)進(jìn)行簡單介紹。如圖1所示為該系統(tǒng)10的結(jié)構(gòu)示意圖,該系統(tǒng)10由用戶端11和服務(wù)端12組成,其中服務(wù)端12中包括服務(wù)器121、控制器122以及與控制器122連接的多個終端(包括終端1、終端2至終端n)。
在該系統(tǒng)10中,用戶端10可以是用戶進(jìn)行測試時所使用的pc(personalcomputer,個人電腦)、手機(jī)、平板等,可以在用戶端10的軟件上對終端的屏幕進(jìn)行展示。
服務(wù)端12中包括的多個終端,這些終端可以分別是手機(jī)、電腦或平板等,并且這些終端中安裝有代理程序agent,能夠通過該代理程序agent從終端內(nèi)存中獲取屏幕的數(shù)據(jù),這些數(shù)據(jù)能夠指示終端屏幕各個像素所顯示的亮度和色彩,因此能夠反映終端屏幕當(dāng)前幀圖像的具體顯示內(nèi)容。
比如,終端1中安裝有代理程序agent,該代理程序agent能夠從終端1的內(nèi)存中獲取終端1屏幕的數(shù)據(jù),該數(shù)據(jù)反映了終端1屏幕的顯示。
服務(wù)端12中的控制器122,該控制器122一端連接服務(wù)器121,另一端連接多個終端,并且控制器122能夠用于接收各個終端通過代理程序agent生成并發(fā)送的圖片。在實際應(yīng)用中服務(wù)端12中可能會包括多個控制器122,這些控制器122各自連接服務(wù)器121以及多個終端。
服務(wù)器121與用戶端11以及控制器122相連,可以從控制器122中獲取圖片,并將所獲取的圖片發(fā)送至用戶端11。另外,服務(wù)器121還可以根據(jù)用戶的選擇,將待測試的app安裝到用戶所選擇的型號或類型的終端上,其中安裝了待測試app的終端為待展示終端;當(dāng)然,如果用戶并未選擇在某個終端上進(jìn)行測試,服務(wù)器121也可以隨機(jī)選擇在某個終端上安裝待測試的app,也可以根據(jù)預(yù)設(shè)的優(yōu)先級順序或者其它規(guī)則確定出某個終端,并在該終端上安裝待測試的app。
比如,終端1至終端n分別為不同型號的手機(jī),用戶需要將app在終端2上進(jìn)行測試;此時,用戶可以通過用戶端11將該app上傳至服務(wù)器121,并選擇終端2作為測試終端,服務(wù)器121接收該app后,根據(jù)用戶的選擇將該app安裝到終端2中,從而進(jìn)行測試。
上述是對系統(tǒng)10的簡單介紹,下面可以結(jié)合圖1和圖2對本申請實施例所提供的終端屏幕展示方法進(jìn)行具體說明。如圖2所示,該方法的具體步驟如下:
步驟s21:當(dāng)app測試過程中出現(xiàn)故障時,對測試終端進(jìn)行截屏。
實際應(yīng)用中,用戶可以通過用戶端的軟件遠(yuǎn)程連接到服務(wù)器,并選擇某一個遠(yuǎn)程終端作為測試終端,然后通過服務(wù)器將app安裝到該測試終端上進(jìn)行測試。其中,該用戶端的軟件通??梢允莣eb瀏覽器或者其他的應(yīng)用程序等。
app在測試終端中測試時,可以通過服務(wù)器對測試終端進(jìn)行監(jiān)控,當(dāng)出現(xiàn)app閃退、崩潰、功能按鈕無響應(yīng)等異?,F(xiàn)象時,說明app測試出現(xiàn)故障,此時服務(wù)器可以控制對測試終端進(jìn)行截屏,從而得到截屏圖片,該截屏圖片反映了app測試過程中的具體故障。
需要說明的是,在app測試過程中,為了便于用戶及時了解測試結(jié)果,服務(wù)器通常將測試終端的屏幕在用戶端的軟件上進(jìn)行實時展示。此時,用戶可以通過用戶端軟件上所展示的測試終端的屏幕,實時了解測試情況,當(dāng)app測試過程中出現(xiàn)故障,用戶可以通過客戶端軟件進(jìn)行操作,服務(wù)器可以響應(yīng)于用戶端的操作對測試終端進(jìn)行截屏。
通常,在截屏得到截屏圖片之后,可以將截屏?xí)r的時間(即截屏?xí)r間)添加到該截屏圖片的屬性信息中,該屬性信息可以是截屏圖片的文件名稱或其它的簽名信息等。比如,在截屏之后,可以將截屏?xí)r間添加到截屏圖片的文件名稱中(或作為截屏圖片的文件名稱)。
另外,在對測試終端進(jìn)行截屏,從而得到截屏圖片之后,可以將截屏圖片存儲在截屏圖片庫中,該截屏圖片庫用于存儲app測試過程中的截屏圖片。在后期確定app測試故障時,可以從截屏圖片庫中的各個截屏圖片中篩選出所需要的截屏圖片(該截屏圖片反映app測試中的故障),由于相對于日志中文字形式的記載,圖片形式更加直觀,因此從截屏圖片庫中篩選出反映app測試中的故障的截屏圖片效率更高。
步驟s22:在預(yù)設(shè)時間閾值內(nèi)生成與截屏圖片對應(yīng)的日志,其中所述日志中包括所述日志生成時的時間戳。
這里的預(yù)設(shè)時間閾值的大小可以根據(jù)實際需要進(jìn)行設(shè)定,比如,當(dāng)生成日志的時間間隔較短時,在一段時間內(nèi)所生成的日志數(shù)量較多,該預(yù)設(shè)閾值可以設(shè)置相對較小,此時,在對測試終端的屏幕進(jìn)行截屏之后,在相對較小的預(yù)設(shè)時間閾值內(nèi)生成對應(yīng)的日志;相反,當(dāng)生成日志的時間間隔較長時,由于生成日志的頻率較低,該預(yù)設(shè)閾值可以設(shè)置相對較大,從而在相對較大的預(yù)設(shè)時間閾值內(nèi)生成對應(yīng)的日志。
通常該預(yù)設(shè)時間閾值可以為1秒或者為0,也就是說,當(dāng)測試過程中出現(xiàn)測試故障時,對測試終端進(jìn)行截屏從而獲得截屏圖片,并在預(yù)設(shè)時間段內(nèi)生成與該截屏圖片對應(yīng)的日志。其中,該截屏圖片所反映的測試故障的故障信息,由所對應(yīng)的日志記錄。
在生成日志時,可以先記錄測試信息(在出現(xiàn)測試故障時,測試信息為該故障的故障信息),然后在所記錄的測試信息中添加時間戳,從而生成一條日志。比如,當(dāng)測試過程中出現(xiàn)故障時,所生成的日志記錄了該故障的故障信息,并添加了生成日志時的時間戳。
步驟s23:確定目標(biāo)截屏圖片,所述目標(biāo)截屏圖片反映app測試中的故障。
在app測試結(jié)束之后,可以通過截屏圖片庫中的截屏圖片,以及日志文件中記錄的各條日志,來確定app測試中的故障。其中,截屏圖片的屬性信息中包括截屏?xí)r間,每條日志中包括生成該日志時的時間戳,并且截屏圖片的截屏?xí)r間與對應(yīng)日志的時間戳之間的時間差小于預(yù)設(shè)閾值。
在確定app測試中的故障的過程中,可以先確定目標(biāo)截屏圖片,確定該目標(biāo)截屏圖片的具體方式可以是,從截屏圖片庫中篩選出該目標(biāo)截屏圖片,這里的目標(biāo)截屏圖片可以是截屏圖片庫中的一張或多張,反映了測試過程中測試故障的截屏圖片。
在實際應(yīng)用中,當(dāng)確定app測試中的故障時,可以將測試過程中出現(xiàn)的某一次測試故障(比如閃退),對應(yīng)的一張或幾張截屏圖片作為目標(biāo)截屏圖片,并從截屏圖片庫中獲取該一張或幾張截屏圖片。
步驟s24:確定目標(biāo)截屏圖片的截屏?xí)r間。
由于在截取目標(biāo)截屏圖片時,將截取該目標(biāo)截屏圖片時的時間添加到了該截屏圖片的屬性信息中,因此可以根據(jù)目標(biāo)截屏圖片的屬性信息確定目標(biāo)截屏圖片的截屏?xí)r間。
比如,在截取目標(biāo)截屏圖片時,將截屏?xí)r間添加到了目標(biāo)截屏圖片的文件名中,可以根據(jù)文件名確定目標(biāo)截屏圖片的截屏?xí)r間。
步驟s25:根據(jù)目標(biāo)截屏圖片的截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,其中目標(biāo)日志中的時間戳與該截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值。
在確定目標(biāo)截屏圖片的截屏?xí)r間之后,可以根據(jù)該截屏?xí)r間確定目標(biāo)日志,具體的方式可以是,根據(jù)該截屏?xí)r間和預(yù)設(shè)時間閾值計算一個時間段,然后獲取該時間段內(nèi)的日志,并從所獲取的日志中篩選出日標(biāo)日志,其中該時間段可以是截屏?xí)r間±預(yù)設(shè)時間閾值,這種確定目標(biāo)日志的方式,當(dāng)生成日志的時間間隔較長,該時間段內(nèi)的日志數(shù)量較少時較為適用。
當(dāng)然根據(jù)截屏?xí)r間確定目標(biāo)日志,也可以是其他的方式,通過先日志分析程序?qū)θ罩疚募M(jìn)行預(yù)處理,從中篩選出至少一個待選日志,該待選日志中記錄對應(yīng)的故障信息;然后根據(jù)所述截屏?xí)r間與各待選日志中時間戳的時間差,確定時間差小于或等于預(yù)設(shè)時間閾值的所述目標(biāo)日志。
由于所生成的日志記錄了測試信息,當(dāng)測試過程中出現(xiàn)故障時,所生成的日志記錄了對應(yīng)的故障信息,這種方式先通過日志分析程序篩選出記錄故障信息的各條待選日志,然后從這些待選日志中確定出目標(biāo)日志。該方式當(dāng)測試故障較少時,待選日志在所生成的全部日志中占比較小,先通過日志分析程序從全部日志中篩選出待選日志后,再從待選日志中確定出目標(biāo)日志,通常效率較高。
步驟s26:將目標(biāo)截屏圖片和目標(biāo)日志推送至用戶端,用于確定app測試中的故障。
在確定目標(biāo)截屏圖片以及對應(yīng)的目標(biāo)日志之后,可以將目標(biāo)截屏圖片和目標(biāo)日志推送至用戶端,從而在用戶端對目標(biāo)截屏圖片和目標(biāo)日志的分析,確定app測試中的故障。其中,將目標(biāo)截屏圖片和目標(biāo)日志推送至用戶端,可以是以固定頻率的方式將將目標(biāo)截屏圖片和目標(biāo)日志推送至用戶端。
在實際應(yīng)用中,用戶端在接收到目標(biāo)截屏圖片和目標(biāo)日志之后,還可以將目標(biāo)截屏圖片和目標(biāo)日志在web瀏覽器等軟件上進(jìn)行展示,從而使得用戶能夠在用戶端直觀的觀測目標(biāo)截屏圖片和日標(biāo)日志中的信息。用戶在用戶端對目標(biāo)截屏圖片和目標(biāo)日志的分析時,可以先在目標(biāo)截屏圖片中觀測所出現(xiàn)的故障的類型(比如崩潰、閃退等),然后通過目標(biāo)日志所記錄的故障信息進(jìn)行具體分析。
在實際的app測試過程中,用戶往往需要將待測試app在不同型號或類型的遠(yuǎn)程終端上分別進(jìn)行測試,而這些遠(yuǎn)程終端的屏幕大小和分辨率通常并不相同,從而導(dǎo)致截屏圖片的分辨率并不相同。此時,為了在web瀏覽器網(wǎng)頁中的固定位置以相同的比例展示截屏圖片,在將其發(fā)送至用戶端之前,可以先將截屏圖片進(jìn)行壓縮,并將壓縮后的截屏圖片發(fā)送至客戶端,其中,壓縮后的截屏圖片的水平分辨率小于等于水平閾值并且垂直分辨率小于等于垂直閾值。
用戶端在通過web瀏覽器對截屏圖片進(jìn)行展示時,可以將水平閾值作為水平分辨率,并且將垂直閾值作為垂直分辨率對壓縮后的截屏圖片進(jìn)行展示。當(dāng)然,將截屏圖片壓縮之后進(jìn)行發(fā)送,還可以進(jìn)一步減少對網(wǎng)絡(luò)傳輸資源的占用。
另外,這里的水平閾值和垂直閾值的大小,可以預(yù)先進(jìn)行設(shè)定和修改,在具體的設(shè)定和修改過程中,可以先檢測用戶的網(wǎng)絡(luò)傳輸速度,然后根據(jù)用戶的網(wǎng)絡(luò)傳輸速度來確定水平閾值和垂直閾值的大小,比如,當(dāng)網(wǎng)絡(luò)傳輸速度較快時,可以設(shè)置相對較大的水平閾值和垂直閾值,從而使壓縮后的截屏圖片相對較大,對展示效果較好,當(dāng)網(wǎng)絡(luò)傳輸速度較慢時,可以設(shè)置相對較小的水平閾值和垂直閾值,使得壓縮后的截屏圖片相對較小,更加易于傳輸。
根據(jù)需要也可以將水平閾值和垂直閾值均設(shè)定為固定值,比如,水平閾值設(shè)定為750,垂直閾值為1024(當(dāng)然,也可以為其它值)。通常將水平閾值和垂直閾值均設(shè)定為固定值的方式,更加便于在用戶端的固定區(qū)域進(jìn)行展示,比如用戶端可以通過web瀏覽器展示壓縮后的截屏圖片,通常在web瀏覽器的網(wǎng)也中分配固定區(qū)域展示該截屏圖片,將水平閾值和垂直閾值均設(shè)定為固定值更加便于劃分該固定區(qū)域,從而進(jìn)行截屏圖片的展示。當(dāng)然,水平閾值和垂直閾值均的固定值的大小,可以根據(jù)a/b測試等方式進(jìn)行確定。
另外,為了使得壓縮后的圖片的水平分辨率小于等于水平閾值,并且垂直分辨率小于等于垂直閾值,在壓縮過程中,可以保持縱橫比進(jìn)行壓縮,也可以不保持縱橫比進(jìn)行壓縮。
采用本申請實施例所提供的app故障確定方法,在確定目標(biāo)截屏圖片之后,確定該目標(biāo)截屏圖片的截屏?xí)r間,然后根據(jù)該截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,最后將目標(biāo)截屏圖片和目標(biāo)日志推送至客戶端,用于確定app的故障,其中目標(biāo)截屏圖片反映app測試中的故障,并且目標(biāo)日志中的時間戳與截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值。由于先確定目標(biāo)截屏圖片,而圖片形式相對于日志的文字形式更加直觀,因此確定目標(biāo)截屏圖片相對于從眾多日志中直接確定目標(biāo)日志更加高效,并且在確定目標(biāo)截屏圖片之后,根據(jù)目標(biāo)截屏圖片的截屏?xí)r間能夠快速的確定目標(biāo)日志,從而解決了現(xiàn)有技術(shù)中的問題。
這里可以將現(xiàn)有技術(shù)與本申請進(jìn)行對比,現(xiàn)有技術(shù)中當(dāng)測試過程中所記錄的日志通常數(shù)量較多時(比如10000條日志),從其中確定出具體某一條或幾條日志的效率較低。而本申請創(chuàng)造性的通過目標(biāo)截屏圖片的截屏?xí)r間,以及目標(biāo)日志中的時間戳,快速確定出目標(biāo)日志,并且確定目標(biāo)截屏圖片相對于直接確定文字形式的目標(biāo)日志更加直觀容易,因此相對于現(xiàn)有技術(shù)在確定app故障上更加高效。
需要說明的是,本申請實施例所提供的app故障確定方法的各步驟的執(zhí)行主體均可以是同一設(shè)備,或者,該方法的各步驟也可以由不同設(shè)備作為執(zhí)行主體。比如,步驟s21和步驟s22的執(zhí)行主體可以為設(shè)備1;又比如,步驟s21的執(zhí)行主體可以為設(shè)備1,步驟s22和的執(zhí)行主體可以為設(shè)備2;等等。
比如,步驟s21的執(zhí)行主體可以均為服務(wù)端12中的進(jìn)行測試的遠(yuǎn)程終端,步驟s22~步驟s26的執(zhí)行主體為服務(wù)端12中的服務(wù)器121;也可以是步驟s21~步驟s26的執(zhí)行主體均為服務(wù)器121等。
基于與本申請實施例所提供的app故障確定方法相同的發(fā)明構(gòu)思,本申請實施例還提供了一種app故障確定裝置,也可以用于解決現(xiàn)有技術(shù)中的問題,其中對于該裝置實施例,如有不清楚之處,可以參考相應(yīng)的方法實施例。如圖3所示,該裝置30包括:目標(biāo)截屏圖片確定單元301、截屏?xí)r間確定單元302、目標(biāo)日志確定單元303以及推送單元304,其中:
目標(biāo)截屏圖片確定單元301,確定目標(biāo)截屏圖片,所述目標(biāo)截屏圖片反映app測試中的故障;
截屏?xí)r間確定單元302,確定所述目標(biāo)截屏圖片的截屏?xí)r間;
目標(biāo)日志確定單元303,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,其中所述目標(biāo)日志生成時的時間戳與所述截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值;
推送單元304,將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障。
由于該裝置30采用與本申請所提供的app故障確定方法相同的發(fā)明構(gòu)思,因此也能夠解決現(xiàn)有技術(shù)中的問題,這里就不再一一贅述。另外,在實際應(yīng)用中該裝置30通過結(jié)合具體的硬件設(shè)備取得其它的實施效果,也在本申請的保護(hù)范圍之內(nèi)。
在實際應(yīng)用中,目標(biāo)截屏圖片確定單元301確定目標(biāo)截屏圖片,可以具體是,從截屏圖片庫中篩選出目標(biāo)截屏圖片,其中所述截屏圖片庫用于存儲app測試過程中的截屏圖片。
截屏?xí)r間確定單元302確定所述目標(biāo)截屏圖片的截屏?xí)r間,可以具體是,根據(jù)所述目標(biāo)截屏圖片的屬性信息確定所述目標(biāo)截屏圖片的截屏?xí)r間,其中所述屬性信息中包括截取所述目標(biāo)截屏圖片時的時間。
目標(biāo)日志確定單元303,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,可以具體是,先通過日志分析程序?qū)θ罩疚募念A(yù)處理確定至少一個待選日志,其中待選日志中記錄對應(yīng)的故障信息,然后根據(jù)所述截屏?xí)r間與各待選日志中時間戳的時間差,確定時間差小于或等于預(yù)設(shè)時間閾值的所述目標(biāo)日志。
推送單元304將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障,可以具體是,將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于通過所述用戶端對所述目標(biāo)截屏圖片和所述目標(biāo)日志的分析,確定app測試中的故障。
另外,在目標(biāo)截屏圖片確定單元301之前,該裝置30還可以包括截屏單元和生成單元,其中:
截屏單元,當(dāng)app測試過程中出現(xiàn)所述故障時,從測試終端的屏幕中截取所述目標(biāo)截屏圖片;
生成單元,在所述預(yù)設(shè)時間閾值內(nèi)生成所述目標(biāo)日志,其中所述目標(biāo)日志中包括所述目標(biāo)日志生成時的時間戳。
當(dāng)然,將目標(biāo)截屏圖片和目標(biāo)日志推送至用戶端的方式可以有多種,比如可以以固定幀率的方式進(jìn)行推送,也可以以視頻流的方式進(jìn)行推送,并且該目標(biāo)截屏圖片也可以先進(jìn)行壓縮,然后將壓縮后的截屏圖片和目標(biāo)日志推送至用戶端。這種壓縮后進(jìn)行推送的方式,由于所推送的文件大小減小,不僅可以減小對網(wǎng)絡(luò)傳輸資源的占用,而且壓縮后更加便于進(jìn)行展示。
基于本申請實施例所提供的app故障確定方法,以及本申請實施例所提供的app故障確定裝置,本申請實施例還可以提供一種app故障確定系統(tǒng),如圖4所示,該系統(tǒng)50包括服務(wù)端裝置51和用戶端裝置52,其中:
服務(wù)端裝置51可以是本申請實施例所提供的任意一個app故障確定裝置。比如,該服務(wù)端裝置51可以包括:目標(biāo)截屏圖片確定單元、截屏?xí)r間確定單元、目標(biāo)日志確定單元以及推送單元,其中:
目標(biāo)截屏圖片確定單元,確定目標(biāo)截屏圖片,所述目標(biāo)截屏圖片反映app測試中的故障;
截屏?xí)r間確定單元,確定所述目標(biāo)截屏圖片的截屏?xí)r間;
目標(biāo)日志確定單元,根據(jù)所述截屏?xí)r間確定用于記錄故障信息的目標(biāo)日志,其中所述目標(biāo)日志生成時的時間戳與所述截屏?xí)r間的時間差小于或等于預(yù)設(shè)時間閾值;
推送單元,將所述目標(biāo)截屏圖片和所述目標(biāo)日志推送至用戶端,用于確定app測試中的故障。
用戶端裝置51包括:接收單元和確定單元,其中:
所述接收單元,接收服務(wù)端推送的所述目標(biāo)截屏圖片和所述目標(biāo)日志。
所述確定單元,根據(jù)所述目標(biāo)截屏圖片和所述目標(biāo)日志確定app測試中的故障。
這里確定單元根據(jù)目標(biāo)截屏圖片和目標(biāo)日志,確定app測試中的故障的方式可以有多種,比如可以將目標(biāo)截屏圖片和目標(biāo)日志,通過將它們進(jìn)行展示后,用戶根據(jù)展示的內(nèi)容來確定app測試中的故障;當(dāng)然,確定單元也可以是對目標(biāo)截屏圖片和目標(biāo)日志進(jìn)行分析,提取目標(biāo)截屏圖片所反映的app測試中的故障類型,并結(jié)合目標(biāo)日志中所記錄的故障信息的,對這些故障信息進(jìn)行綜合分析,從而確定app測試中的故障。
毫無疑問,該系統(tǒng)50能夠解決現(xiàn)有技術(shù)中的問題,這里就不再進(jìn)行說明。
比如,目標(biāo)截屏圖片所反映的app測試中的故障為閃退,可以結(jié)合目標(biāo)日志中的故障信息,確定app測試中的故障。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。
計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
以上僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。