本發(fā)明涉及一種軟件工程技術(shù)應用領域,特別是涉及一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法和系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)方案:現(xiàn)在的手持終端設備的系統(tǒng)穩(wěn)定性大都采用人工手動測試或monkey測試。人工測試的缺陷是比較繁雜,并且需要消耗大量人力。
Monkey測試是模擬用戶觸摸屏幕、滑動軌跡球、按鍵等操作來對終端設備上的軟件進行壓力測試,檢測該軟件的穩(wěn)定性、健壯性。它的原理是向系統(tǒng)發(fā)送偽隨機的用戶事件流(如按鍵輸入、觸摸輸入、手勢輸入等),實現(xiàn)對正在開發(fā)的應用程序進行壓力測試。
Monkey測試缺陷:測試的對象僅為應用程序包(apk包),有一定的局限性,對于一些應用快速隨機切換等非局限在某個應用包(apk包)下的測試場景不適用。
monkey測試發(fā)送的是系統(tǒng)級別的用戶事件流,和由硬件上報的input事件有一定的差異,前者是有后者經(jīng)過多次轉(zhuǎn)化后得到的,這種方式和戶的實際場景存在一定的差別,造成一些bug無法測試出來。
技術(shù)實現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問題是提供一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法和系統(tǒng)、終端,能夠模擬用戶真實操作,對系統(tǒng)進行穩(wěn)定性測試,提高測試結(jié)果的準確性。
為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法,所述方法包括:在終端的系統(tǒng)底層安裝用于上報虛擬操作事件的虛擬驅(qū)動設備;預先設置虛擬操作事件組和自動化測試邏輯規(guī)則即系統(tǒng)穩(wěn)定性測試任務,將系統(tǒng)穩(wěn)定性測試任務組通過虛擬驅(qū)動設備上傳給終端;終端收到所述系統(tǒng)穩(wěn)定性測試任務后執(zhí)行系統(tǒng)穩(wěn)定性測試任務,生成系統(tǒng)穩(wěn)定性測試任務的測試結(jié)果。
為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試系統(tǒng),包括:USB將系統(tǒng)穩(wěn)定性測試任務發(fā)送至所述虛擬驅(qū)動設備;虛擬驅(qū)動設備,用于接收所述軟性系統(tǒng)穩(wěn)定性測試任務,并軟性系統(tǒng)穩(wěn)定性測試任務以虛擬操作的形式輸入所述終端;終端執(zhí)行系統(tǒng)穩(wěn)定性測試任務后,生成軟件測試任務的測試結(jié)果,并通過USB向測試結(jié)果數(shù)據(jù)庫發(fā)送測試結(jié)果。
為解決上述技術(shù)問題,本發(fā)明采用的又一個技術(shù)方案是:提供一種終端,包括:處理器,用于執(zhí)行的指令以及接收到的消息等;通信接口,用于計算機與終端間的數(shù)據(jù)傳輸。
以上方案,在終端的系統(tǒng)底層安裝用于上報虛擬操作事件的虛擬驅(qū)動設備;預先設置虛擬操作事件組和自動化測試邏輯規(guī)則即系統(tǒng)穩(wěn)定性測試任務,將系統(tǒng)穩(wěn)定性測試任務組通過虛擬驅(qū)動設備上傳給終端;終端收到所述系統(tǒng)穩(wěn)定性測試任務后執(zhí)行系統(tǒng)穩(wěn)定性測試任務,生成系統(tǒng)穩(wěn)定性測試任務的測試結(jié)果。該方案是從最底層上報和驅(qū)動設備一樣的事件,這樣更貼近用戶實際操作,更能發(fā)現(xiàn)用戶在實際使用過程中遇到的bug。
附圖說明
圖1是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法一實施例的流程示意圖;
圖2是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法另一實施例的流程示意圖;
圖3是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試系統(tǒng)實施例的結(jié)構(gòu)示意圖;
圖4是圖3所示終端實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施方式對本發(fā)明進行詳細說明。
請參閱圖1,圖1是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法一實施例的流程示意圖。需注意的是,若有實質(zhì)上相同的結(jié)果,本發(fā)明的方法并不以圖1所示的流程順序為限。如圖1所示,該方法包括如下步驟:
S100:在終端的系統(tǒng)底層安裝用于上報虛擬操作事件的虛擬驅(qū)動設備。
其中,該終端可以為有觸摸屏及其他按鍵等其他輸入方式中至少一種的終端設備,例如手機、平板電腦等;
其中,虛擬驅(qū)動設備是一種專用于接收以及執(zhí)行測試系統(tǒng)穩(wěn)定性的虛擬操作事件組的一種虛擬驅(qū)動設備,類似于硬件的驅(qū)動程序。
其中,所述上報具體為虛擬驅(qū)動設備向終端上報虛擬操作事件。
終端可以通過無線網(wǎng)絡傳輸、USB傳輸、藍牙傳輸或系統(tǒng)預裝等方式獲得的虛擬驅(qū)動設備程序,在終端獲得所述的虛擬驅(qū)動設備程序后,將虛擬驅(qū)動設備程序安裝到終端系統(tǒng)底層,并對該虛擬驅(qū)動設備程序進行授權(quán)。
S101:通過所述虛擬驅(qū)動設備接收預先設置的虛擬操作事件組;
預先設置相應的虛擬操作事件組,通過無線網(wǎng)絡傳輸、USB傳輸、藍牙傳輸給終端,由終端內(nèi)的所述虛擬驅(qū)動設備接收。
所述操作事件組是觸摸事件、按鍵事件、指紋識別事件、運動事件、光感事件、聲音拾取事件中至少一個或多個的組合。
S102:上報所述虛擬操作事件組的所述操作事件;
虛擬驅(qū)動設備按照預先設置的一定上報規(guī)則或按一定上報規(guī)則隨機上報所述虛擬操作事件組的所述操作事件給終端內(nèi)的操作系統(tǒng),終端的操作系統(tǒng)接收到虛擬驅(qū)動設備上傳的虛擬操作事件組后,按照設定好的執(zhí)行規(guī)程執(zhí)行虛擬操作事件組的操作。
S103:判斷上報所述操作事件后產(chǎn)生的結(jié)果是否符合要求,并記錄所述結(jié)果;
在執(zhí)行所述上報操作過程中,同時判斷系統(tǒng)是否報錯,如果報錯則記錄報錯相關(guān)信息并抓取屏幕顯示界面,并保存相關(guān)系統(tǒng)運行狀態(tài)信息,然后自動繼續(xù)執(zhí)行剩余虛擬操作事件組任務,直至任務完成為止,或下一次報錯,如產(chǎn)生下一次報錯,則重復執(zhí)行上述步驟,直至任務完成為止。
綜上所述,在終端的系統(tǒng)底層安裝用于上報虛擬操作事件的虛擬驅(qū)動設備;預先設置虛擬操作事件組和自動化測試邏輯規(guī)則即系統(tǒng)穩(wěn)定性測試任務,將系統(tǒng)穩(wěn)定性測試任務組通過虛擬驅(qū)動設備上傳給終端;終端收到所述系統(tǒng)穩(wěn)定性測試任務后執(zhí)行系統(tǒng)穩(wěn)定性測試任務,得到本次測試的測試結(jié)果。通過上述方式,模擬用戶真實操作,對系統(tǒng)進行穩(wěn)定性測試,提高了測試結(jié)果的準確性。
請參閱圖2,圖2是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法另一實施例的流程示意圖。本實施例與一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法的第一個實施例的主要區(qū)別在于,進一步說明了所述終端在執(zhí)行完畢虛擬事件組后,刪除所述虛擬驅(qū)動設備,并通過USB向測試結(jié)果數(shù)據(jù)庫發(fā)送測試結(jié)果,以生成所述測試結(jié)果的統(tǒng)計結(jié)果的具體過程。
該一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法,包括:
S200:通過所述虛擬驅(qū)動設備接收預先設置的虛擬操作事件組;
預先設置相應的虛擬操作事件組,通過無線網(wǎng)絡傳輸、USB傳輸、藍牙傳輸。
所述操作事件組是觸摸事件、按鍵事件、指紋識別事件、運動事件、光感事件、聲音拾取事件中至少一個或多個的組合。
S201:上報所述虛擬操作事件組的所述操作事件;
虛擬驅(qū)動設備按照預先設置的一定上報規(guī)則或按一定上報規(guī)則隨機上報所述虛擬操作事件組的所述操作事件給終端,終端接收到虛擬驅(qū)動設備上傳的虛擬操作事件組后,按照設定好的執(zhí)行規(guī)程執(zhí)行虛擬操作事件組的操作。
S202:判斷上報所述操作事件后產(chǎn)生的結(jié)果是否符合要求,并記錄所述結(jié)果;
終端執(zhí)行所述上報操作過程中,同時判斷系統(tǒng)是否報錯,如果報錯則記錄報錯相關(guān)信息并抓取屏幕顯示界面,并保存相關(guān)系統(tǒng)運行狀態(tài)信息,然后自動繼續(xù)執(zhí)行剩余虛擬操作事件組任務,直至任務完成為止,或下一次報錯,如產(chǎn)生下一次報錯,則重復執(zhí)行上述步驟,直至任務完成為止。
S203:刪除所述虛擬驅(qū)動設備;
終端執(zhí)行完畢虛擬操作事件組任務,得到本次測試的測試結(jié)果后,跟據(jù)預先設置的指令,判斷是否自動刪除所述虛擬驅(qū)動設備及虛擬操作事件組。如測試結(jié)果沒有錯誤,則自動刪除所述虛擬驅(qū)動設備及虛擬操作事件組;如測試結(jié)果有錯誤,跟據(jù)預先設置的指令則不自動刪除所述虛擬驅(qū)動設備及虛擬操作事件組,或自動刪除所述虛擬驅(qū)動設備及虛擬操作事件組。
S204:所述終端通過USB向測試結(jié)果數(shù)據(jù)庫發(fā)送測試結(jié)果,以生成所述測試結(jié)果的統(tǒng)計結(jié)果;
其中,測試結(jié)果數(shù)據(jù)庫為可以為終端通過USB的電腦的磁盤,也可以為存儲在終端通過USB的電腦所在的服務器的磁盤,也可以是存儲在終端通過USB的電腦連接的其他能夠長期儲存在計算機內(nèi)、有組織的、可共享的數(shù)據(jù)集合。
綜上所述,在終端的系統(tǒng)底層安裝用于上報虛擬操作事件的虛擬驅(qū)動設備;預先設置虛擬操作事件組和自動化測試邏輯規(guī)則即系統(tǒng)穩(wěn)定性測試任務,將系統(tǒng)穩(wěn)定性測試任務組通過虛擬驅(qū)動設備上傳給終端;終端收到所述系統(tǒng)穩(wěn)定性測試任務后執(zhí)行系統(tǒng)穩(wěn)定性測試任務,得到本次測試的測試結(jié)果后,根據(jù)預先的設置判斷是否自動刪除所述虛擬驅(qū)動設備及虛擬操作事件組,之后所述終端通過USB向測試結(jié)果數(shù)據(jù)庫發(fā)送測試結(jié)果,以生成所述測試結(jié)果的統(tǒng)計結(jié)果。通過上述方式,更具體的體現(xiàn)了模擬用戶真實操作,對系統(tǒng)進行穩(wěn)定性測試的整個過程,同時實現(xiàn)自動化測試的整個過程,減少了測試過程中的人工參與,節(jié)約了人工測試時間,提升了測試過程的效率。
請參閱圖3,其是本發(fā)明虛擬用戶操作的系統(tǒng)穩(wěn)定性測試系統(tǒng)實施例的結(jié)構(gòu)示意圖,該設備可以用于實施上述實施例中提出的一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方,承載一種虛擬用戶操作的系統(tǒng)穩(wěn)定性測試系統(tǒng)。具體來講:
該設備包括計算機300和多種終端設備301及302。
所述計算機300上設置有USB接口用于實現(xiàn)計算機300與多種終端設備301及302之間的數(shù)據(jù)上報。
終端設備301及302:所述多種終端設備301及302,指裝載有Android系統(tǒng)或基于Android系統(tǒng)開發(fā)的衍生系統(tǒng),例如MIUI系統(tǒng)的智能終端設備,及載有其他能夠適用于本測試方法的系統(tǒng)設備終端。多種終端設備301及302通過USB接口與計算機300相連,可運行前述虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法任一實施例。
請參閱圖4,圖3是本發(fā)明所示終端實施例的結(jié)構(gòu)示意圖,該結(jié)構(gòu)可以執(zhí)行上述方法中虛擬用戶操作的系統(tǒng)穩(wěn)定性測試系統(tǒng)的步驟。相關(guān)內(nèi)容請參見上述方法中的詳細說明,在此不再贅敘。
本實施例中,該處理裝置包括:處理器401與通信接口402。
處理器401執(zhí)行的指令以及接收到的消息等,可運行前述虛擬用戶操作的系統(tǒng)穩(wěn)定性測試方法任一實施例。
通信接口402用于計算機與終端間的數(shù)據(jù)傳輸。
本領域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件未完成,也可以通過程序來指令相關(guān)的硬件完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括存儲器、磁盤或光盤等。
以上所述僅為本發(fā)明的實施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。