本發(fā)明屬于測試,尤其涉及一種虛擬機生命周期的隨機測試方法及裝置。
背景技術(shù):
1、相關(guān)技術(shù)中,虛擬機測試目前主要依靠人工編寫測試用例的方法。測試人員需要根據(jù)經(jīng)驗設(shè)計各種不同的操作序列,以達到對虛擬機功能和性能的充分驗證。但是人工編寫測試用例的方法會導(dǎo)致測試工作效率低等問題。因此如何更好地實現(xiàn)虛擬機測試成為亟待解決的問題。
技術(shù)實現(xiàn)思路
1、鑒于以上現(xiàn)有技術(shù)的不足,發(fā)明的目的在于提供一種虛擬機生命周期的隨機測試方法及裝置,該方法能有效自動生成操作序列且能夠智能高校的組合操作序列,提高了測試工作效率。
2、本發(fā)明的第一方面,提出了一種虛擬機生命周期的隨機測試方法,包括:s1,確定虛擬機的虛擬化操作及所述虛擬化操作之間的約束關(guān)系;s2,確定所述虛擬機初始的所述虛擬化操作為關(guān)機操作的情況下,根據(jù)所述虛擬化操作之間的約束關(guān)系建立初始權(quán)重矩陣,并對所述初始權(quán)重矩陣進行歸一化,得到馬爾可夫矩陣;s3,在所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對操作序列進行遍歷,直至所述操作序列的長度為目標長度和/或所述操作序列的生成用例為目標數(shù)量的情況下,終止遍歷;s4,得到用例集合,并執(zhí)行所述用例集合中的用例且展示匯總的執(zhí)行結(jié)果。
3、進一步地,所述虛擬化操作包括開機操作、重啟操作、所述關(guān)機操作、停止操作、恢復(fù)操作、熱遷移操作、刪除操作。
4、進一步地,所述虛擬化操作之間的約束關(guān)系包括:所述開機操作下一步執(zhí)行除了所述開機操作和所述恢復(fù)操作的任一操作,所述重啟操作下一步執(zhí)行除了所述開機操作和所述刪除操作的任一操作,所述關(guān)機操作下一步只能執(zhí)行所述開機操作或所述刪除操作,所述停止操作下一步只能執(zhí)行所述恢復(fù)操作或所述刪除操作,所述恢復(fù)操作下一步執(zhí)行除了所述開機操作和所述恢復(fù)操作的任一操作,所述熱遷移操作下一步執(zhí)行除了所述開機操作和恢復(fù)操作的任一操作,所述刪除操作下一步不執(zhí)行任何操作。
5、進一步地,所述方法還包括:確定所述虛擬機初始的所述虛擬化操作為關(guān)機操作的情況下,將執(zhí)行的所述虛擬化操作和不能執(zhí)行的所述虛擬化操作進行目標設(shè)置。
6、進一步地,在所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對操作序列進行遍歷,直至所述操作序列的長度為目標長度和/或所述操作序列的生成用例為目標數(shù)量的情況下,終止遍歷,包括:在所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對所述操作序列進行遍歷,直至所述操作序列的長度為目標長度的情況下,停止遍歷;在停止遍歷的情況下,將所述虛擬機的所述虛擬化操作回歸至關(guān)機操作,更新所述初始權(quán)重矩陣和更新所述馬爾可夫矩陣,并在更新后的所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對所述操作序列進行遍歷,直至所述操作序列的所述生成用例為所述目標數(shù)量的情況下,終止遍歷。
7、進一步地,更新所述初始權(quán)重矩陣和更新所述馬爾可夫矩陣,包括:確定所述虛擬化操作的權(quán)重是否發(fā)生變化;在所述虛擬化操作的權(quán)重發(fā)生變化的情況下,更新所述初始權(quán)重矩陣;對更新后的所述初始權(quán)重矩陣進行歸一化,得到更新后的所述馬爾可夫矩陣。
8、進一步地,得到用例集合,并執(zhí)行所述用例集合中的用例且展示匯總的執(zhí)行結(jié)果,包括:得到遍歷后的所述操作序列;將所述遍歷后的所述操作序列翻譯為所述用例集合,并執(zhí)行所述用例集合中的用例;獲取執(zhí)行的成功用例和失敗用例并進行展示。
9、本發(fā)明的第二方面,提出了一種虛擬機生命周期的隨機測試裝置,包括:確定模塊,用于確定虛擬機的虛擬化操作及所述虛擬化操作之間的約束關(guān)系;得到模塊,用于確定所述虛擬機初始的所述虛擬化操作為關(guān)機操作的情況下,根據(jù)所述虛擬化操作之間的約束關(guān)系建立初始權(quán)重矩陣,并對所述初始權(quán)重矩陣進行歸一化,得到馬爾可夫矩陣;遍歷模塊,用于在所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對操作序列進行遍歷,直至所述操作序列的長度為目標長度和/或所述操作序列的生成用例為目標數(shù)量的情況下,終止遍歷;執(zhí)行模塊,用于得到用例集合,并執(zhí)行所述用例集合中的用例且展示匯總的執(zhí)行結(jié)果。
10、本發(fā)明的第三方面,提出了一種電子設(shè)備,包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明第一方面中任一項所述的方法。
11、本發(fā)明的第四方面,提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質(zhì),其中,所述計算機指令用于使所述計算機執(zhí)行本發(fā)明第一方面中任一項所述的方法。
12、本發(fā)明有益效果如下:
13、本發(fā)明所述的虛擬機生命周期的隨機測試方法及裝置,確定虛擬機的虛擬化操作及虛擬化操作之間的約束關(guān)系;確定虛擬機初始的虛擬化操作為關(guān)機操作的情況下,根據(jù)虛擬化操作之間的約束關(guān)系建立初始權(quán)重矩陣,并對初始權(quán)重矩陣進行歸一化,得到馬爾可夫矩陣;在馬爾可夫矩陣和虛擬機的關(guān)機操作下,對操作序列進行遍歷,直至操作序列的長度為目標長度和/或操作序列的生成用例為目標數(shù)量的情況下,終止遍歷;得到用例集合,并執(zhí)行用例集合中的用例且展示匯總的執(zhí)行結(jié)果。該方法能有效自動生成操作序列且能夠智能高校的組合操作序列,提高了測試工作效率。
1.一種虛擬機生命周期的隨機測試方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的虛擬機生命周期的隨機測試方法,其特征在于,所述虛擬化操作包括開機操作、重啟操作、所述關(guān)機操作、停止操作、恢復(fù)操作、熱遷移操作、刪除操作。
3.根據(jù)權(quán)利要求2所述的虛擬機生命周期的隨機測試方法,其特征在于,所述虛擬化操作之間的約束關(guān)系包括:所述開機操作下一步執(zhí)行除了所述開機操作和所述恢復(fù)操作的任一操作,所述重啟操作下一步執(zhí)行除了所述開機操作和所述刪除操作的任一操作,所述關(guān)機操作下一步只能執(zhí)行所述開機操作或所述刪除操作,所述停止操作下一步只能執(zhí)行所述恢復(fù)操作或所述刪除操作,所述恢復(fù)操作下一步執(zhí)行除了所述開機操作和所述恢復(fù)操作的任一操作,所述熱遷移操作下一步執(zhí)行除了所述開機操作和恢復(fù)操作的任一操作,所述刪除操作下一步不執(zhí)行任何操作。
4.根據(jù)權(quán)利要求1所述的虛擬機生命周期的隨機測試方法,其特征在于,所述方法還包括:確定所述虛擬機初始的所述虛擬化操作為關(guān)機操作的情況下,將執(zhí)行的所述虛擬化操作和不能執(zhí)行的所述虛擬化操作進行目標設(shè)置。
5.根據(jù)權(quán)利要求1所述的虛擬機生命周期的隨機測試方法,其特征在于,在所述馬爾可夫矩陣和所述虛擬機的關(guān)機操作下,對操作序列進行遍歷,直至所述操作序列的長度為目標長度和/或所述操作序列的生成用例為目標數(shù)量的情況下,終止遍歷,包括:
6.根據(jù)權(quán)利要求5所述的虛擬機生命周期的隨機測試方法,其特征在于,更新所述初始權(quán)重矩陣和更新所述馬爾可夫矩陣,包括:
7.根據(jù)權(quán)利要求1所述的虛擬機生命周期的隨機測試方法,其特征在于,得到用例集合,并執(zhí)行所述用例集合中的用例且展示匯總的執(zhí)行結(jié)果,包括:
8.一種虛擬機生命周期的隨機測試裝置,其特征在于,包括:
9.一種電子設(shè)備,包括:
10.一種存儲有計算機指令的非瞬時計算機可讀存儲介質(zhì),其中,所述計算機指令用于使所述計算機執(zhí)行根據(jù)權(quán)利要求1至7中任一項所述的方法。