一種應用的評測方法、終端及服務器的制造方法
【專利摘要】本申請提供一種應用的評測方法、終端及服務器。該應用的評測方法包括:終端獲取指定應用的測試文件;所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據;所述終端向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。本申請實施例通過由終端和服務端形成的第三方評測系統對指定應用進行自動化測試執行及數據采集,實現了測試執行的統一調度、數據匯聚和評測分析。該方法采用第三方評測系統進行評測,相對于現有技術中完全基于應用自身記錄的日志的評測方法,具有獨立性和客觀性,其獲得的測試數據例如響應時間等也更加準確和全面,因此,基于該測試數據獲得的評測結果準確度較高。
【專利說明】一種應用的評測方法、終端及服務器
【技術領域】
[0001]本申請涉及應用測試【技術領域】,尤其涉及一種應用的評測方法、終端及服務器。
【背景技術】
[0002]隨著移動互聯網時代的到來,各種應用越來越廣泛的被用戶使用,逐漸成為人們日常生活的關鍵要素。如何站在真實用戶使用的角度去評測應用以確保其穩定性,顯得尤為重要。
[0003]目前對于很多應用的評測方法主要有兩種方式,分別為研發過程中的模擬評測和用戶使用過程中的評測。
[0004]其中,研發過程中的模擬評測是在應用的開發過程中,通過模擬應用的使用環境和場景來對應用進行評測,該方法無法準確推斷出應用在真實用戶使用過程中的狀態。在用戶使用過程中的評測方法是用戶在使用該應用時,應用自身記錄用戶操作日志,應用開發者通過應用回傳的用戶操作日志進行數據分析,完成對該應用的評測。
[0005]然而,該方法的評測結果雖然是基于真實用戶的使用過程產生的,但是,由于數據分析過程完全基于應用自身記錄的日志,缺少獨立性和客觀性,而且應用日志對應用使用過程中的響應和記錄也存在誤差,所以,該評測方法獲得的評測結果仍然準確度較低。
【發明內容】
[0006]為解決上述技術問題,本申請實施例提供一種應用的評測方法、終端及服務器,能夠提高評測結果的準確度。技術方案如下:
[0007]提供一種應用的評測方法,包括:
[0008]終端獲取指定應用的測試文件;
[0009]所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據;
[0010]所述終端向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
[0011]進一步,所述終端獲取指定應用的測試文件,包括:
[0012]所述終端向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;
[0013]所述終端接收所述服務端發送的所述指定應用的最新測試文件信息;
[0014]所述終端比較本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息是否一致;
[0015]若不一致,所述終端向所述服務端發送下載請求;
[0016]所述終端接收所述服務端發送的所述指定應用的最新測試文件。
[0017]進一步,所述終端獲取指定應用的測試文件,包括:
[0018]所述終端向所述服務端發送測試文件請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;[0019]在所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息不一致時,所述終端接收所述服務端發送的所述指定應用的最新測試文件。
[0020]進一步,所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據,包括:
[0021 ] 所述終端通過監控所述指定應用的運行捕獲所述指定應用的資源消耗數據。
[0022]進一步,所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據,包括:
[0023]所述終端分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間。
[0024]進一步,所述終端分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間,包括:
[0025]所述終端記錄所述指定應用在業務觸發時的第一基準時間戳;
[0026]所述終端比較從界面捕獲的顯示內容與預期內容是否一致;
[0027]若一致,所述終端記錄所述業務進行響應的第二基準時間戳;
[0028]所述終端將所述第二基準時間戳與所述第一基準時間戳的時間差作為所述業務的響應時間。
[0029]還提供一種應用的評測方法,包括:
[0030]服務端向終端發送指定應用的測試文件;
[0031]所述服務端接收所述終端上報的測試數據,所述測試數據由所述終端執行所述測試文件對所述指定應用進行測試后獲得;
[0032]所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
[0033]進一步,在所述服務端向終端發送指定應用的測試文件之前,還包括:
[0034]所述服務端接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;
[0035]所述服務端向所述終端發送所述指定應用的最新測試文件信息;
[0036]在所述終端本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息不一致時,所述服務端接收所述終端發送的下載請求;
[0037]所述服務端向終端發送指定應用的測試文件,包括:
[0038]所述服務端向所述終端發送所述指定應用的最新測試文件。
[0039]進一步,在所述服務端向終端發送指定應用的測試文件之前,還包括:
[0040]所述服務端接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;
[0041]所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息是否一致;
[0042]所述服務端向終端發送指定應用的測試文件,包括:
[0043]當所述最新測試文件信息與所述當前測試文件信息不一致時,所述服務端向終端發送指定應用的最新測試文件。
[0044]還提供一種終端,包括:[0045]文件獲取單元,用于獲取指定應用的測試文件;
[0046]測試單元,用于執行所述測試文件對所述指定應用進行測試,獲得測試數據;
[0047]數據上報單元,用于向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
[0048]進一步,所述文件獲取單元包括:
[0049]第一更新請求單元,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;
[0050]信息接收單元,用于接收所述服務端發送的所述指定應用的最新測試文件信息;
[0051]信息比較單元,用于比較本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息是否一致;
[0052]下載請求單元,用于當信息比較單元獲得的比較結果為不一致時,向所述服務端發送下載請求;
[0053]第一文件接收單元,用于接收所述服務端發送的所述指定應用的最新測試文件。
[0054]進一步,所述文件獲取單元包括:
[0055]第二更新請求單元,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;
[0056]第二文件接收單元,用于在所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息不一致時,接收所述服務端發送的所述指定應用的最新測試文件。
[0057]進一步,所述測試單元,具體用于通過監控所述指定應用的運行捕獲所述指定應用的資源消耗數據。
[0058]進一步,所述測試單元,具體用于分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間。
[0059]進一步,所述測試單元包括:
[0060]第一記錄單元,用于記錄所述指定應用在業務觸發時第一基準時間戳;
[0061]內容比較單元,用于比較從界面捕獲的顯示內容與預期內容是否一致;
[0062]第二記錄單元,用于當所述內容比較單元的比較結果為一致時,記錄所述業務進行響應的第二基準時間戳;
[0063]時間計算單元,用于將所述第二基準時間戳與所述第一基準時間戳的時間差作為所述業務的響應時間。
[0064]還提供一種服務器,包括:
[0065]文件發送單元,用于向終端發送指定應用的測試文件;
[0066]數據接收單元,用于接收所述終端上報的測試數據,所述測試數據由所述終端執行所述測試文件對所述指定應用進行測試后獲得;
[0067]評測單元,用于根據所述測試數據獲得對所述指定應用的評測結果。
[0068]進一步,還包括:
[0069]第一請求接收單元,用于在所述文件發送單元向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;[0070]信息發送單元,用于向所述終端發送所述指定應用的最新測試文件信息;
[0071]第二請求接收單元,用于在所述終端本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息不一致時,接收所述終端發送的下載請求;
[0072]所述文件發送單元,具體用于向所述終端發送所述指定應用的最新測試文件。
[0073]進一步,還包括:
[0074]第三請求接收單元,用于在所述文件發送單元向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;
[0075]信息比較單元,用于比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息是否一致;
[0076]所述文件發送單元,具體用于當所述最新測試文件信息與所述當前測試文件信息不一致時,向終端發送指定應用的最新測試文件。
[0077]本發明實施例至少具有以下有益效果:
[0078]本申請實施例通過由終端和服務端形成的第三方評測系統對指定應用進行自動化測試執行及數據采集,實現了測試執行的統一調度、數據匯聚和評測分析。該方法采用第三方評測系統進行評測,相對于現有技術中完全基于應用自身記錄的日志的評測方法,具有獨立性和客觀性,其獲得的測試數據例如響應時間等也更加準確和全面,因此,基于該測試數據獲得的評測結果準確度較高。
【專利附圖】
【附圖說明】
[0079]為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0080]圖1為本發明實施例中一種應用的評測方法流程圖;
[0081]圖2為本發明實施例中獲得業務響應時間的方法流程圖;
[0082]圖3為本發明實施例中另一種應用的評測方法流程圖;
[0083]圖4為本發明實施例中服務端的架構示意圖;
[0084]圖5為本發明實施例中服務端與各終端之間的交互示意圖;
[0085]圖6為本發明實施例中一種終端從服務端獲取指定應用的測試文件的方法流程圖;
[0086]圖7為本發明實施例中另一種終端從服務端獲取指定應用的測試文件的方法流程圖;
[0087]圖8為本發明實施例中一種終端的結構示意圖;
[0088]圖9為本發明實施例中一種文件獲取單元的結構示意圖;
[0089]圖10為本發明實施例中另一種文件獲取單元的結構示意圖;
[0090]圖11為本發明實施例中一種測試單元的結構示意圖;
[0091]圖12為本發明實施例中一種服務器的結構示意圖;
[0092]圖13為本發明實施例中另一種服務器的結構示意圖;[0093]圖14為本發明實施例中另一種服務器的結構示意圖;
[0094]圖15為本發明實施例中一種第三方評測系統的結構示意圖。
【具體實施方式】
[0095]為了使本【技術領域】的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
[0096]為使本申請的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。
[0097]參見圖1,為本發明實施例一種應用的評測方法流程圖。
[0098]本實施例以終端為執行主體進行說明,該評測方法可以包括:
[0099]步驟101,終端獲取指定應用的測試文件。
[0100]該終端,如手機,可以安裝手機測試工具與服務端進行交互來確定指定應用的測試文件,該測試文件可以是在終端與服務端交互后預置在該終端中的,也可以是橫縱段在執行測試之前,首先從服務端獲取到的,具體如后續實施例的描述。
[0101]其中,指定應用的測試文件可以包括對指定應用需要測試的數據,測試腳本,以及服務端按不同網絡、地域、機型、用戶類型、頂EI號等生成的終端測試工具的配置文件等。配置文件為XML格式,通過配置文件可以控制終端的界面呈現和操作權限。
[0102]該終端可以通過執行對指定應用的測試文件來執行下一步驟,實現測試配置、測試執行、性能監控、數據上傳的功能。
[0103]步驟102,終端執行測試文件對指定應用進行測試,獲得測試數據。
[0104]終端在獲得指定應用的測試文件后可以首先進行測試配置,該測試配置可以包括配置文件的讀取、資源加載和腳本解析。配置文件中有被測應用(也即指定應用)及測試腳本版本號、測試內容等信息,通過終端讀取下發的配置文件,達到對可測性及測試內容的靈活控制;資源文件可以包括指定應用的包名、測試需要的音頻等,通過加載資源,以保證自動化測試流程的實現;終端對服務端設置好的測試腳本內容進行解析,以保證自動化測試的正常執行。
[0105]配置完成后,終端開始執行測試文件進行測試,獲得測試數據。在一具體實例中,該測試過程可以包括以下內容:
[0106]首先,測試啟動,即啟動嵌入測試進程的指定應用,為后期的自動化測試提供保證。本步驟通過startlnstrumentat1n方法實現測試啟動,具體實現代碼如下:
[0107]ComponentName cn = new ComponentName (yourPackageName,
[0108]"android, test.1nstrumentat1nTestRunner");
[0109]Bundle bundle = new Bundle ();
[0110]bundle.putString("class", yourTestClassName#testMethod);
[0111]context.startlnstrumentat1n(cn, null, bundle);
[0112]其中,[0113]yourPackageName:指Apk應用的包名,是應用安裝到手機中的唯一標識;
[0114]yourTestClassName:用于指定使用測試腳本中的某個測試類;
[0115]testMethod:用于指定測試類中的某個方法。
[0116]對于Android(安卓)應用的測試,可以采用Android平臺提供的android, test框架,同時在該框架基礎上通過Instrumentat1n類模擬操作應用界面,實現對指定應用的UI界面操作,從而達到模擬真實用戶使用指定應用的效果。
[0117]但實際使用android, test實現自動化測試過程中可以發現,查找控件、操作控件及捕獲控件狀態很不方便,極大的影響了自動化測試開發效率。為提高腳本開發效率,基于android, test進行封裝,提供一套完整的自動化測試框架iflyUItest_framework。該框架通過面向對象的方式進行了改進,優化了捕獲控件、狀態斷言及結果紀錄的處理,并提供自動捕獲錯誤日志和截圖的功能,提高了測試腳本開發及測試結果分析的效率。
[0118]在該自動化測試框架iflyUItest_framework中,每個場景通過數據驅動的自動化測試方式,將具有相同操作步驟的場景抽象成相同的代碼邏輯來完成測試過程,這種方式保證了數據與業務邏輯相分離,可以讓測試數據的配置更加靈活。
[0119]通過上述過程,終端可以捕獲指定應用的多種測試數據,例如,CPU使用率,內存使用量,網絡通信流量,耗電量等資源消耗數據,終端設備環境數據,指定應用業務的響應時間,用戶獲取指定應用服務結果的成功次數及請求次數等。
[0120]在一實例中,終端可以通過監控指定應用的運行,獲得指定應用的CPU使用率,內存使用量,網絡通信流量,耗電量等資源消耗數據。
[0121]同時,終端設備環境數據可以作為對指定應用性能分析的重要補充部分,該數據由設備基礎信息和設備動態信息組成。設備基礎信息包括手機品牌和型號、CPU個數和頻率、內存容量、可用內存,設備動態信息包括網絡類型、IP地址、信號強度、地理位置等。
[0122]在另一實例中,終端可以通過捕獲指定應用的業務響應時間來分析業務場景的性能,通過場景業務執行的成功率來分析其穩定性,同時通過錯誤結果下的異常截圖和日志數據來分析具體的錯誤原因。具體的,終端可以分別記錄指定應用在業務的兩個關聯狀態下的基準時間戳,進而獲得業務的響應時間。
[0123]其中一種獲得業務響應時間的過程,如圖2所示,可以包括:
[0124]步驟201,終端記錄指定應用在業務觸發時的第一基準時間戳。
[0125]例如,如出發該業務的按鈕被點擊時記錄時間戳Tl作為第一基準時間戳。
[0126]步驟202,終端比較從界面捕獲的顯示內容與預期內容是否一致。
[0127]終端從界面捕獲顯示內容,然后比較捕獲的內容與預期內容是否一致,若一致,執行步驟203,若不一致,則記錄相關的日志,并捕獲該界面顯示的內容,形成截圖,然后通過二進制流方式統一傳輸到服務端進行分析。
[0128]步驟203,終端記錄業務進行響應的第二基準時間戳。
[0129]若上步驟中,比較結果一致,則記錄該界面出現預期的內容時的時間戳T2作為業務進行響應的第二基準時間戳。
[0130]步驟204,終端將第二基準時間戳與第一基準時間戳的時間差作為該業務的響應時間。
[0131]即響應時間T = T2-T1。[0132]該響應時間的計算方法相比較現有技術中應用自身通過日志記錄的響應時間準確,現有技術中應用只能記錄從接受用戶點擊到程序響應的時間,但是用戶真實感知的響應時間實際上是從點擊結束到界面呈現的時間,這其中缺少了程序的界面渲染時間。基于此,我們采取捕獲時業務狀態改變時產生的界面呈現變化來記錄響應基準時間戳的方式,確保計算的響應時間更符合用戶的真實感知。
[0133]終端在獲得上述一種或多種測試數據后,即可執行步驟103。
[0134]步驟103,終端向服務端上報指定應用的測試數據,以使服務端根據測試數據獲得對指定應用的評測結果。
[0135]終端測試完成后,整合各種數據,形成測試數據集,將數據集加密壓縮為數據流,向服務端件發起post請求。終端可以采用http協議向服務端傳輸json格式的測試日志,該測試日志中可以包含前述一種或多種的測試數據,例如終端設備環境數據、指定應用資源消耗數據及業務響應時間等業務正確性數據。
[0136]服務端接收到指定應用的測試數據后,通過flume將數據匯聚存儲,即可根據測試數據對指定應用進行評測,生成評測結果。同時,服務端將是否接收到測試數據的結果返回給終端。終端上的測試客戶端在本地存儲上傳失敗的日志,在出現異常時,將數據保存至本地,供下次數據回傳時一并處理。
[0137]本申請實施例通過由終端和服務端形成的第三方評測系統對指定應用進行自動化測試執行及數據采集,實現了測試執行的統一調度、數據匯聚和評測分析。該方法采用第三方評測系統進行評測,相對于現有技術中完全基于應用自身記錄的日志的評測方法,具有獨立性和客觀性,其獲得的測試數據例如響應時間等也更加準確和全面,因此,基于該測試數據獲得的評測結果準確度較高。
[0138]而且,該評測過程在各種真實的用戶終端上模擬用戶操作應用,數據更加真實可靠,并且通過修改測試腳本,實現了對各種不同應用的業務模擬及評測;該方法可以客觀的記錄應用響應時間并捕獲功能異常,更全面記錄應用的資源消耗及所在設備的環境狀態。
[0139]參見圖3,為本發明實施例另一種應用的評測方法流程圖。
[0140]本實施例以服務端為執行主體進行說明,該評測方法可以包括:
[0141]步驟301,服務端向終端發送指定應用的測試文件。
[0142]本實施例中,服務端架構的設計可以滿足數據收集的高可靠、大存儲、強容錯、易擴展的要求,以及滿足對終端執行測試過程的靈活操控、對評測結果的直觀展示的要求。為滿足要求服務端可以采用開源的Hadoop平臺和LAMP(Linux+Apache+MySQL+PHP)服務器組合的架構,如圖4所示,服務端采用圖1中匯聚層的遠程Flume數據匯集組件來匯聚終端側產生的測試和監控數據,然后將規范的Json格式的數據存儲在Hadoop分布式文件系統(HDFS)中,通過在Hadoop上周期性的運行MapReduce程序,對數據進行預處理后存入MySQL數據庫,分析和管理網絡(WEB)服務器通過讀取數據庫中的數據來對測試結果進行評測分析。另外,工具管理員通過頁面登錄成功后,可以查看分析評測的結果,也可以很方便的對終端側進行管理。
[0143]服務端向終端發送指定應用的測試文件之前,首先,服務端對終端側的指定應用進行測試配置。服務端可以按不同網絡、地域、機型、用戶類型、頂EI號生成配置文件。配置文件為XML格式,通過配置文件可以控制終端的界面和操作權限。管理員可上傳包含指定應用的測試數據和測試腳本的測試資源文件到服務端。
[0144]如圖5所示,服務端在根據配置文件以及測試數據,測試腳本等形成測試文件后,可以定時將測試文件下發至終端,也可以是由終端間隔到服務端查詢有無新的測試文件,如果有就發送下載請求,由服務端將最新的測試文件下發至終端,從而可以對客戶端工具進行靈活配置。
[0145]步驟302,服務端接收終端上報的測試數據,該測試數據由終端執行測試文件對指定應用進行測試后獲得。
[0146]終端在獲得對指定應用的測試文件后按照前述步驟102~103所述的方法步驟執行測試,獲得測試數據,并上傳至服務端。
[0147]如圖5所示,服務端除了對不同終端側進行測試文件的下發,還可以還可以對各終端側指定應用的測試進行運行調度。服務端通過兩種方式來影響測試的運行,一是通過測試執行的配置文件來進行執行調度,二是通過消息推送的方式來進行執行調度。管理員可在服務端針對網絡、地域和機型的不同向測試用戶下發、推送不同內容的配置文件和消息,從而實現靈活測試、按需測試。服務端還可以對終端側執行監控。服務端還通過統計、分析收集到的測試數據集來監控終端側的測試執行情況。
[0148]步驟303,服務端根據測試數據獲得對指定應用的評測結果。
[0149]服務端在獲得測試數據后即可根據該測試數據對指定應用進行評測。該根據測試數據獲得評測結果的過程可以采用現有評測指標及評測方法,也可以自行定義評測指標。
[0150]評測結果可以 包括:
[0151](I)成功率:指用戶獲取應用服務結果的成功次數與用戶發起操作請求總數的比率。
[0152]
η 二被測業務數η 二被測業務數
成功率=(獲取結果的成功次數)/ Σ (發起操作請求次數)
n=ln=L
[0153]成功率的意義在于度量用戶成功使用應用某一業務功能的機率,能反映出應用產品提供服務的準確性和可靠性。
[0154](2)響應時間:指某個指定應用的業務(即被測業務)從用戶成功發出指令后,到業務結果正確呈現出來的時間間隔。
[0155]業務響應時間的意義在于度量用戶使用某個業務時的等待時間,能反映出應用產品提供服務的快慢情況。
[0156](3)資源消耗。主要包括CPU使用率,內存使用量,網絡通信流量,耗電量等。資源消耗的意義在于度量APP在使用期間的硬件資源消耗,用于和同類產品進行對比,能反映在完成功能的情況下對終端硬件配置的要求。
[0157]為對應用做出客觀的評測,需對收集到的測試數據進行統計分析。統計分析類型主要包括對測試執行的統計分析、對成功率的統計分析、對響應時間的統計分析、對資源消耗的統計分析、對異常數據的統計分析,同時還提供對數據的對比分析、相關分析、關鍵影響因素分析和回歸分析等。例如:
[0158](I)對測試執行的統計分析。服務端提供按地域、網絡、機型、用戶類型、時段統計測試執行情況;提供按IMEI號統計每天活躍用戶數、每天新增用戶數。[0159](2)對功能結果的評測分析。服務端提供整體成功率;提供按時間、地域、網絡、機型、指定軟件版本、測試工具版本、測試工具資源版本進行分組統計成功率;另外服務端還對單個測試場景按時間先后順序進行連續統計,即對應一個測試數據文件中的多個功能點的測試結果按時間軸進行統計。
[0160](3)對響應時間的評測分析。服務端提供對事務響應時間做出整體統計;提供按時間、地域、網絡、機型、指定軟件版本、測試工具版本、測試工具資源版本、事務名稱進行分組統計,統計量能靈活選擇最小值、最大值、中值、均值、上四分位、下四分位、百分位、方差。另外對于某手機單個測試場景的連續事務時間戳給出按時間軸的統計。
[0161](4)資源消耗的統計。服務端能夠統計指定應用的CPU使用率,內存使用量,網絡流量,耗電量等指標。
[0162](5)異常數據分析。針對成功率較低的業務,服務端能查看錯誤截圖,能按錯誤碼進行統計分析,分析導致成功率較低的關鍵影響因素。針對響應時間較長的業務,可以找出響應時間最慢的10%的數據分布,給出關聯分析報告。
[0163](6)其他分析需求包括對比分析、相關分析、關鍵影響因素分析、回歸分析。
[0164]對比分析是通過按不同角度對數據進行分組,通過比較響應時間的箱線圖和分布密度圖,來對比不同環境下業務的穩定性和可靠性。
[0165]相關分析提供了針對數值型數據來找出關聯關系的分析方法,服務端提供兩種算法來進行相關分析,一是可以通過計算協方差和相關系數來給出兩個屬性的相關性度量;另一種是基于數據網格的方法,計算兩個變量的最大信息系數MIC。如果變量對x,y存在函數關系,則當樣本數增加時,MIC必然趨向于I ;如果變量對x,y在統計意義下互相獨立,則當樣本數增加時,MIC趨于O。通過用網格判斷數據的是否有關聯關系,該方法具有一般性,即無論數據是怎樣分布的,不限于特定的關聯函數類型,此判斷方法都是有效。
[0166]關鍵影響因素分析針對非數值型數據采用數據挖掘中樸素貝葉斯算法進行分析,在對響應時間的關鍵影響因素分析時,先按響應時間的大小對響應時間進行分類,然后通過判斷哪些屬性對響應時間列的分類比較穩定,誤判率較小的屬性就是影響響應時間的關鍵影響因素。
[0167]回歸分析提供了針對數值型數據,使用各種函數進行擬合,來進行響應時間的預測,并給出置信度。
[0168]以上分析方法具體過程可以與現有技術類似,此處不再一一贅述。
[0169]本實施例中,由服務端下發測試文件,終端側執行測試、記錄并上傳相關測試數據,進而實現了服務端的統一分析。該方法按需實現了測試文件的統一下發和測試設備的統一調度,集中數據分析,查找數據間的相關關系和影響因素,使評測結果更加全面客觀。
[0170]在本發明的另一實施例中,終端從服務端獲取指定應用的測試文件的過程可以如圖6所示,包括:
[0171]步驟601,終端向服務端發送測試文件更新請求,該測試文件更新請求中至少包括終端的標識信息及指定應用的標識信息。
[0172]終端通過http協議向服務端發起post請求,該請求中至少包括終端的標識信息及指定應用的標識信息。
[0173]步驟602,服務端向終端發送最新測試文件信息。[0174]服務端接收到請求后,向該終端返回服務端中指定應用的最新測試文件信息,該最新測試文件信息具體可以是最新資源版本信息,可以包括各子資源的子版本號、資源說明、下載url、字段和資源集的總版本號等。
[0175]步驟603,終端比較本地的指定應用的當前測試文件信息與服務端發送的最新測試文件信息是否一致。
[0176]若一致,則終端直接執行后續測試步驟,若不一致,執行步驟604。
[0177]另外,終端可以批量針對對本地的多個應用發送更新請求,并在接收到服務端發送的各應用的最新測試文件信息后,篩選得到需要下載更新的資源列表,然后根據該列表統一執行下載步驟。
[0178]步驟604,終端向服務端發送下載請求。
[0179]步驟605,服務端向終端發送指定應用的最新測試文件。
[0180]服務端收到下載請求后,返回相應文件的字節流。終端將所有需更新的文件更新完成后,將新的資源版本號同步至本地。
[0181 ] 在本發明的另一實施例中,終端從服務端獲取指定應用的測試文件的過程還可以如圖7所示,包括:
[0182]步驟701,終端向服務端發送測試文件更新請求,測試文件更新請求中至少包括終端的標識信息及指定應用的當前測試文件信息。
[0183]該步驟與前述步驟601的區別在于,該測試文件更新請求中包含了指定應用的當前測試文件信息,例如,指定應用當前測試文件的版本號。
[0184]步驟702,服務端比較本地指定應用的最新測試文件信息與終端發送的指定應用的當前測試文件信息是否一致。
[0185]服務端比較本地的指定應用的最新測試文件信息與終端發送的指定應用的當前測試文件信息是否一致,若一致,則將比較結果返回給終端,終端直接執行測試。若不一致,則執行步驟703。
[0186]步驟703,服務端向終端發送指定應用的最新測試文件。
[0187]通過上述兩種方式終端均可以獲得服務端的指定應用的最新測試文件。
[0188]上述各實施例中,終端可以是手機等設備;指定應用可以是任一 Android (安卓)應用,也可以是其他應用;終端在執行上述動作時可以通過安裝在終端上的客戶端,如手機測試工具來執行。
[0189]以上是對本申請方法實施例的描述,下面對實現上述方法的裝置進行介紹。
[0190]參見圖8,為本申請實施例一種終端的結構示意圖。
[0191]該終端可以包括:
[0192]文件獲取單元801,用于獲取指定應用的測試文件;
[0193]測試單元802,用于執行所述測試文件對所述指定應用進行測試,獲得測試數據;
[0194]數據上報單元803,用于向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
[0195]本實施例中,終端通過上述單元和服務端形成的第三方評測系統對指定應用進行自動化測試執行及數據采集,實現了測試執行的統一調度、數據匯聚和評測分析。該終端采用第三方評測系統進行評測,相對于現有技術中完全基于應用自身記錄的日志的評測方法,具有獨立性和客觀性,其獲得的測試數據例如響應時間等也更加準確和全面,因此,基于該測試數據獲得的評測結果準確度較高。
[0196]在本發明的另一實施例中,如圖9所示,該文件獲取單元801可進一步包括:
[0197]第一更新請求單元901,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;
[0198]信息接收單元902,用于接收所述服務端發送的所述指定應用的最新測試文件信息;
[0199]信息比較單元903,用于比較本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息是否一致;
[0200]下載請求單元904,用于當信息比較單元獲得的比較結果為不一致時,向所述服務端發送下載請求;
[0201]第一文件接收單元905,用于接收所述服務端發送的所述指定應用的最新測試文件。
[0202]在另一實施例中,如圖10所示,文件獲取單元801可以包括:
[0203]第二更新請求單元1001,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;
[0204]第二文件接收單元1002,用于在所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息不一致時,接收所述服務端發送的所述指定應用的最新測試文件。
[0205]在另一實施例中,測試單元802,具體可以用于通過監控所述指定應用的運行捕獲所述指定應用的資源消耗數據。
[0206]在另一實施例中,測試單元802,具體還可以用于分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間。具體如圖11所示,該測試單元802具體可以包括:
[0207]第一記錄單元1101,用于記錄所述指定應用在業務觸發時第一基準時間戳;
[0208]內容比較單元1102,用于比較從界面捕獲的顯示內容與預期內容是否一致;
[0209]第二記錄單元1103,用于當所述內容比較單元的比較結果為一致時,記錄所述業務進行響應的第二基準時間戳;
[0210]時間計算單元1104,用于將所述第二基準時間戳與所述第一基準時間戳的時間差作為所述業務的響應時間。
[0211]參見圖12,為本發明實施例一種服務器的結構示意圖。
[0212]該服務器可以包括:
[0213]文件發送單元1201,用于向終端發送指定應用的測試文件;
[0214]數據接收單元1202,用于接收所述終端上報的測試數據,所述測試數據由所述終端執行所述測試文件對所述指定應用進行測試后獲得;
[0215]評測單元1203,用于根據所述測試數據獲得對所述指定應用的評測結果。
[0216]該服務器通過上述單元下發測試文件,終端側執行測試、記錄并上傳相關測試數據,進而實現了服務端的統一分析。該服務器按需實現了測試文件的統一下發和測試設備的統一調度,集中數據分析,查找數據間的相關關系和影響因素,使評測結果更加全面客觀。
[0217]在另一實施例中,如圖13所示,該服務器除了包括上述文件發送單元1201、數據接收單元1202、評測單元1203,還可以包括:
[0218]第一請求接收單元1301,用于在所述文件發送單元1201向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息;
[0219]信息發送單元1302,用于向所述終端發送所述指定應用的最新測試文件信息;
[0220]第二請求接收單元1303,用于在所述終端本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息不一致時,接收所述終端發送的下載請求;
[0221 ] 該實施例中,文件發送單元1201,具體用于向所述終端發送所述指定應用的最新測試文件。
[0222]在另一實施例中,如圖14所示,該服務器除了包括上述文件發送單元1201、數據接收單元1202、評測單元1203,還可以包括:
[0223]第三請求接收單元1401,用于在所述文件發送單元1201向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息;
[0224]信息比較單元1402,用于比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息是否一致;
[0225]其中,文件發送單元1201,具體用于當所述最新測試文件信息與所述當前測試文件信息不一致時,向終端發送指定應用的最新測試文件。
[0226]如圖15所示,本發明實施例還提供一種第三方評測系統,該系統可以包括終端1501和服務器1502,
[0227]其中,該終端1501,用于獲取指定應用的測試文件;執行所述測試文件對所述指定應用進行測試,獲得測試數據;向服務器1502上報所述指定應用的測試數據;
[0228]該服務器1502,用于向終端1501發送指定應用的測試文件;接收所述終端1501上報的測試數據;根據所述測試數據獲得對所述指定應用的評測結果。
[0229]以上各裝置和系統中各單元的具體實現過程請參照前述方法實施例的相應描述,此處不再贅述。
[0230]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現。
[0231]通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。
[0232]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。
[0233]本申請可用于眾多通用或專用的計算系統環境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基于微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
[0234]本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0235]以上所述僅是本申請的【具體實施方式】,應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。
【權利要求】
1.一種應用的評測方法,其特征在于,包括: 終端獲取指定應用的測試文件; 所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據; 所述終端向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
2.根據權利要求1所述的方法,其特征在于,所述終端獲取指定應用的測試文件,包括: 所述終端向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息; 所述終端接收所述服務端發送的所述指定應用的最新測試文件信息; 所述終端比較本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息是否一致; 若不一致,所述終端向所述服務端發送下載請求; 所述終端接收所述服務端發送的所述指定應用的最新測試文件。
3.根據權利要求1所述的方法,其特征在于,所述終端獲取指定應用的測試文件,包括: 所述終端向所述服務端發送測試文件請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息; 在所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息不一致時,所述終端接收所述服務端發送的所述指定應用的最新測試文件。
4.根據權利要求1至3中任意一項所述的方法,其特征在于,所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據,包括: 所述終端通過監控所述指定應用的運行捕獲所述指定應用的資源消耗數據。
5.根據權利要求1至3中任意一項所述的方法,其特征在于,所述終端執行所述測試文件對所述指定應用進行測試,獲得測試數據,包括: 所述終端分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間。
6.根據權利要求5所述的方法,其特征在于,所述終端分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間,包括: 所述終端記錄所述指定應用在業務觸發時的第一基準時間戳; 所述終端比較從界面捕獲的顯示內容與預期內容是否一致; 若一致,所述終端記錄所述業務進行響應的第二基準時間戳; 所述終端將所述第二基準時間戳與所述第一基準時間戳的時間差作為所述業務的響應時間。
7.一種應用的評測方法,其特征在于,包括: 服務端向終端發送指定應用的測試文件; 所述服務端接收所述終端上報的測試數據,所述測試數據由所述終端執行所述測試文件對所述指定應用進行測試后獲得;所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
8.根據權利要求7所述的方法,其特征在于,在所述服務端向終端發送指定應用的測試文件之前,還包括: 所述服務端接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息; 所述服務端向所述終端發送所述指定應用的最新測試文件信息; 在所述終端本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息不一致時,所述服務端接收所述終端發送的下載請求; 所述服務端向終端發送指定應用的測試文件,包括: 所述服務端向所述終端發送所述指定應用的最新測試文件。
9.根據權利要求7所述的方法,其特征在于,在所述服務端向終端發送指定應用的測試文件之前,還包括: 所述服務端接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息; 所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息是否一致; 所述服務端向終端發送指定應用的測試文件,包括: 當所述最新測試文件信息與所述當前測試文件信息不一致時,所述服務端向終端發送指定應用的最新測試文件。
10.一種終端,其特征在于,包括: 文件獲取單元,用于獲取指定應用的測試文件; 測試單元,用于執行所述測試文件對所述指定應用進行測試,獲得測試數據; 數據上報單元,用于向服務端上報所述指定應用的測試數據,以使所述服務端根據所述測試數據獲得對所述指定應用的評測結果。
11.根據權利要求10所述的終端,其特征在于,所述文件獲取單元包括: 第一更新請求單元,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息; 信息接收單元,用于接收所述服務端發送的所述指定應用的最新測試文件信息;信息比較單元,用于比較本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息是否一致; 下載請求單元,用于當信息比較單元獲得的比較結果為不一致時,向所述服務端發送下載請求; 第一文件接收單元,用于接收所述服務端發送的所述指定應用的最新測試文件。
12.根據權利要求10所述的終端,其特征在于,所述文件獲取單元包括: 第二更新請求單元,用于向所述服務端發送測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息; 第二文件接收單元,用于在所述服務端比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息不一致時,接收所述服務端發送的所述指定應用的最新測試文件。
13.根據權利要求10至12中任意一項所述的終端,其特征在于, 所述測試單元,具體用于通過監控所述指定應用的運行捕獲所述指定應用的資源消耗數據。
14.根據權利要求10至12中任意一項所述的終端,其特征在于, 所述測試單元,具體用于分別記錄所述指定應用在業務的兩個關聯狀態下的基準時間戳,獲得響應時間。
15.根據權利要求14所述的終端,其特征在于,所述測試單元包括: 第一記錄單元,用于記錄所述指定應用在業務觸發時第一基準時間戳; 內容比較單元,用于比較從界面捕獲的顯示內容與預期內容是否一致; 第二記錄單元,用于當所述內容比較單元的比較結果為一致時,記錄所述業務進行響應的第二基準時間戳; 時間計算單元,用于將所述第二基準時間戳與所述第一基準時間戳的時間差作為所述業務的響應時間。
16.—種服務器,其特征在于,包括: 文件發送單元,用于向終端發送指定應用的測試文件; 數據接收單元,用于接收所述終端上報的測試數據,所述測試數據由所述終端執行所述測試文件對所述指定應用進行測試后獲得; 評測單元,用于根據所述測試數據獲得對所述指定應用的評測結果。
17.根據權利要求16所述的服務器,其特征在于,還包括: 第一請求接收單元,用于在所述文件發送單元向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的標識信息; 信息發送單元,用于向所述終端發送所述指定應用的最新測試文件信息; 第二請求接收單元,用于在所述終端本地的所述指定應用的當前測試文件信息與所述服務端發送的最新測試文件信息不一致時,接收所述終端發送的下載請求; 所述文件發送單元,具體用于向所述終端發送所述指定應用的最新測試文件。
18.根據權利要求16所述的服務器,其特征在于,還包括: 第三請求接收單元,用于在所述文件發送單元向終端發送指定應用的測試文件之前,接收所述終端發送的測試文件更新請求,所述測試文件更新請求中至少包括所述終端的標識信息及所述指定應用的當前測試文件信息; 信息比較單元,用于比較本地所述指定應用的最新測試文件信息與所述終端發送的所述指定應用的當前測試文件信息是否一致;
所述文件發送單元,具體用于當所述最新測試文件信息與所述當前測試文件信息不一致時,向終端發送指定應用的最新測試文件。
【文檔編號】G06F11/36GK104035869SQ201410279618
【公開日】2014年9月10日 申請日期:2014年6月19日 優先權日:2014年6月19日
【發明者】吳如偉, 劉剛, 周凱兵, 占萌萌 申請人:科大訊飛股份有限公司