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