專利名稱:自動化測試中可自動恢復的目標程序運行控制方法及裝置的制作方法
技術領域:
本發明涉及計算機技術領域,尤其涉及一種自動化測試中可自動恢復的目標程序運行控制方法及裝置。
背景技術:
隨著計算機技術的飛速發展以及Windows系統的廣泛應用,在Windows軟件自動化測試中,需要以程序代替人來操作被測軟件。計算機出現藍屏,又叫藍屏死機(Blue Screen of Death,縮寫為BSoD),如圖I所示,指的是微軟Windows操作系統在無法從一個系統錯誤中恢復過來時所顯示的屏幕圖
像。 在進行windows軟件自動化測試的過程中,被測對象若是殺毒軟件或者是木馬防火墻等系統安全軟件,自動化的測試用例運行過程中經常就會碰到系統中存在多個殺毒軟件或者是防火墻軟件這類自帶驅動程序的軟件,當防火墻等測試版本的不完善,存在bug等原因時,就會遭遇到系統運行異常,主要是出現藍屏。導致藍屏的原因很復雜,情況也很多,實際上導致系統出現藍屏的軟件,并不僅限于殺毒軟件這類安全軟件,一般的應用軟件如果存在bug,也是會導致系統出現藍屏。當前遇到系統運行異常問題,一種解決方法是通過用戶在安全模式下手工卸載引起系統運行異常的軟件,來還原系統,恢復系統運行;該方法需要用戶手工操作,無法應用于windows下的軟件自動化測試。還有一種方法是通過Ghost還原軟件(包括Symantec Ghost、一鍵Ghost、一鍵還原精靈等軟件)來還原系統,恢復系統運行;Ghost還原軟件是一種非常優秀的系統還原工具,但在進行系統還原操作,仍然需要手動進行,沒有對外提供接口,對于自動化測試程序來說,如果遭遇藍屏無法自主控制還原系統的方式,不適應放在軟件自動化測試執行流程。在自動化測試程序的運行過程中,對于系統運行異常是由軟件問題所導致,如何保證自動化測試程序能還原到正常狀態繼續運行,以實現不需人工介入的完全的軟件自動化測試模擬,是當前需要解決的問題。
發明內容
本發明所要解決的技術問題是提供一種自動化測試中可自動恢復的目標程序運行控制方法及裝置,解決了在自動化測試程序的運行過程中,由軟件問題導致系統運行異常時,保證自動化測試程序能還原到正常狀態繼續運行的問題,達到Windows系統自動化測試的目的。為了解決上述問題,本發明提供了一種自動化測試中可自動恢復的目標程序運行控制方法,包括如下步驟將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,并將所述目標程序及對應的配置文件保存在非系統分區;執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并使用預先制作的系統鏡像文件恢復操作系統;恢復系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。進一步地,上述方法還可包括,所述鏡像文件通過預先制作存儲于非系統分區,在系統啟動過程中提供恢復引導項,該恢復引導項將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統。
進一步地,上述方法還可包括,所述目標程序預先配置為在操作系統啟動后自動運行。進一步地,上述方法還可包括,所述判斷若當前系統運行異常,則根據預先設置自動重啟操作系統的步驟,是通過預先配置實現。進一步地,上述方法還可包括,在每次操作系統啟動后,由所述目標程序首先將啟動過程中的默認引導項指向所述恢復引導項。進一步地,上述方法還可包括,所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。進一步地,上述方法還可包括,所述將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,并將所述目標程序及對應的配置文件保存在非系統分區的步驟,進一步包括預先配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件。進一步地,上述方法還可包括,在每次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容。進一步地,上述方法還可包括,當所述目標程序執行完最后一個模塊后,收集所述備份的轉儲文件,自動生成執行報告。本發明還提供了一種自動化測試中可自動恢復的目標程序運行控制裝置,包括目標程序執行記錄單元,用于將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,其中所述目標程序及對應的配置文件保存在非系統分區;及目標程序執行單元,用于執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并通過預先制作的系統鏡像文件恢復操作系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。進一步地,上述裝置還可包括系統備份單元,用于制作系統鏡像文件并存儲在非系統分區 '及默認引導項修改單元,用于在每次操作系統啟動后,將啟動過程中的默認引導項指向一個恢復引導項,該恢復引導項通過該系統備份單元預先制作的系統分區的鏡像文件而生成,將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統。進一步地,上述裝置還可包括,所述默認引導項修改單元,進一步用于在所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。進一步地,上述裝置還可包括配置單元,用于將所述目標程序的啟動項配置為在操作系統啟動后自動運行,并配置系統運行異常后的動作為自動重新啟動;所述目標程序執行單元是通過讀取配置單元的設置實現自動重啟操作系統。進一步地,上述裝置還可包括,所述配置單元,進一步用于配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件。進一步地,上述裝置還可包括轉儲文件備份單元,用于在每次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容。
進一步地,上述裝置還可包括收集單元,用于當所述目標程序執行完最后一個模塊后,收集所述備份的轉儲文件,自動生成執行報告。與現有技術相比,應用本發明,可以保證在自動化測試過程中,模擬windows下的真實用戶行為而由于軟件問題導致系統運行異常時,能夠自動恢復系統以及自動執行測試過程,確保自動化測試的持續執行能力,真正做到無人值守的自動化測試。目前本發明經過實踐,具有軟件兼容性、穩定性、健壯性、可靠性等諸多優點。
圖I是計算機出現藍屏的示意圖;圖2是本發明的自動化測試中可自動恢復的目標程序運行控制方法的流程示意圖;圖3是本發明的控制方法的一實施方式的流程示意圖;圖4是本發明設置系統出現藍屏后配置的示意圖;圖5是本發明選用一鍵Ghost進彳丁系統還原的不意圖;圖6是本發明的測試用例的配置文件的示意圖;圖7是本發明的配置文件c:\dosh\ghost\gho_run. ini的示意圖;圖8是本發明的設置系統重啟后進入點的示意圖;圖9是本發明的可自自動恢復的目標程序運行控制裝置的示意圖。
具體實施例方式下面結合附圖和具體實施方式
對本發明作進一步說明。如圖2所示,本發明的一種自動化測試中可自動恢復的目標程序運行控制方法,包括如下步驟步驟210、將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,并將所述目標程序及對應的配置文件保存在非系統分區;步驟220、執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并使用預先制作的系統鏡像文件恢復操作系統;所述判斷若當前系統運行異常,則根據預先設置自動重啟操作系統的步驟,是通過預先配置實現。步驟230、恢復系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。其中,所述鏡像文件通過預先制作而存儲于非系統分區,用于供啟動過程中的恢復引導項,該恢復引導項將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統。所述目標程序的啟動項預先配置為在操作系統啟動后自動運行。在每次操作系統啟動后,由所述目標程序首先將啟動過程中的默認引導項指向所述恢復引導項。通過該設置可將系統每次啟動后都還原系統,確保在系統運行異常后,操作系統啟動后目標程序可以通過恢復引導項進行系統還原,而不會進入正常啟動引導項,再次導致系統運行異常。進一步地,所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。通過該設置,可以在正常執行完某模塊后進行正常啟動時,不需要每次都進行系統還原,節省了系統資源,也縮減了目標程 序運行的時間,提聞了效率。還包括預先配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件。在每次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容。進一步包括當所述目標程序執行完最后一個模塊后,收集所述備份的轉儲文件,自動生成執行報告。通過轉儲文件,可以明確分析導致系統運行異常的模塊的具體原因,便于用戶進行調整,避免重新出現系統運行異常。如圖3所示,本發明控制方法對于測試模塊進行測試中出現藍屏時還原系統的實施方式,包括以下步驟步驟310、對系統進行備份并存儲,設置用于系統測試的配置文件,該配置文件用于記錄測試模塊的執行信息;其中,可通過Ghost鏡像的方式對系統進行備份。在對系統進行備份后,可通過設置系統注冊表的方式,使系統在出現藍屏時重新啟動,并且在系統出現藍屏時獲取藍屏調試信息并存儲該藍屏調試信息。其中,測試模塊的執行信息包括測試模塊的序列號(Case ID)和測試模塊的狀態信息。測試模塊的狀態信息中O代表整個測試的初始狀態,表示測試程序需要開始運行;1代表開始狀態,表示測試模塊開始執行;2代表結束狀態,表示測試模塊執行結束。譬如序列號為35的測試模塊,其狀態信息為2,說明其已完成測試;序列號為36的測試模塊,其狀態信息為1,說明其開始測試,但有可能測試未通過,依次類推。可以通過測試模塊的狀態信息和其對應的序列號,確定現階段執行到第幾個測試模塊,而且也可知道已執行的測試模塊的執行情況,對于狀態信息中0、1和2來說,只是例舉,對于其他狀態信息的指示方式,本發明不作限定。步驟320、啟動自動化測試,依次執行測試模塊并更新配置文件中測試模塊的執行信息,判斷若出現藍屏后重啟系統,通過存儲的系統備份進行系統還原,根據配置文件中記錄的測試模塊的執行信息,確定導致系統出現藍屏的測試模塊,跳過該測試模塊,執行下一個測試模塊,依此類推,直到完成所有測試模塊的測試。其中,對進行系統還原是通過Ghost的方式根據存儲的系統備份對系統進行還原。所述根據配置文件中記錄的測試模塊的執行信息,確定導致系統出現藍屏的測試模塊,執行下一個測試模塊的步驟,包括根據配置文件中測試模塊的狀態信息和其對應的序列號,確定導致系統出現藍屏的測試模塊的序列號,執行下一個序列號的測試模塊。例如在執行到第3個測試模塊時,出現藍屏,重啟系統后并進行系統還原,根據配置文件中記錄的第3個測試模塊的狀態為1,系統確定第3個模塊導致藍屏,執行第4個測試模塊;在執行到第8個測試模塊時,又出現藍屏,重啟系統后并進行系統還原,根據配置文件中記錄的第3個測試模塊的狀態為1,而且記錄的第8個測試模塊的狀態也為1,此 時系統確定是當前第8個模塊導致藍屏,執行第9個測試模塊,依此類推,直到完成所有測試模塊的測試。完成所有測試模塊的測試后,還包括讀取存儲的藍屏調試信息,可根據藍屏調試信息來分析導致系統出現藍屏的測試模塊的原因。進一步包括在每次重啟系統后開始運行前,通過存儲的系統備份進行系統還原。即在成功完成一測試模塊的執行過程后,重啟系統,會進行系統還原。這樣在重啟系統后將系統導入到還原模式,此時出現藍屏后可以自動進入Ghost的系統還原過程,自動恢復系統。本發明可以保證自動化測試過程在模擬windows下的真實用戶行為由于軟件問題(程序或者驅動兼容性問題)導致系統運行異常(如系統出現藍屏)時,能夠自動恢復系統以及自動執行測試過程,確保自動化測試的持續執行能力,真正做到無人值守的自動化測試。目前本發明經過實踐,具有軟件兼容性、穩定性、健壯性、可靠性等諸多優點。本發明從全新的角度考慮已有的技術執行模式,用計算機的自動執行來代替原來人工的操作,真正實現了自動化測試中的無人值守和自動恢復系統功能,大大減少了工作量,提高了自動化測試的工作效率,該發明可廣泛用于各類軟件自動化測試的解決方案中。下面是本發明的另一實施方式,包括如下步驟預先制作系統分區的鏡像文件,并存儲至非系統分區,以提供啟動過程中的恢復引導項,該恢復引導項將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統;預先將所述目標程序的啟動項配置為在操作系統啟動后自動運行,并配置系統運行異常后的動作為自動重新啟動;將所述目標程序依序劃分為多個模塊,并為每個模塊分配一個唯一標識,建立一個配置文件用于記錄當前正在執行的模塊標識,并將所述目標程序及對應的配置文件保存在非系統分區;在每次操作系統啟動后,由所述目標程序首先將啟動過程中的默認引導項指向所述恢復引導項,并查詢所述配置文件中記錄的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。下面是根據上述實施方式的一具體實例,整個執行流程可分為3個部分一、初始化環境準備階段
a)初始化系統環境并制作Ghost鏡像i.初始化系統環境(用于設直系統監屏后的CrashDump方式,以及后續的系統自動啟動功能)。I.配置自動化測試程序的啟動項(讓自動化測試程序每次重啟系統后自動運行)a)需要設置系統注冊表項 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下創建一個字符串項auto,內容指向啟動自動化測試程序的路徑,例 如e:\autotool\autotest.exe。2.如圖4所示,設置系統出現藍屏后的配置
a)運行窗口輸入control sysdm. cpl,啟動系統屬性窗口, b)單擊高級- >設置,打開啟動和故障恢復窗口 ;c)設置自動重新啟動;d)設置寫入調試信息->完全內存轉儲(用于獲取full dump即藍屏時獲取完整的藍屏調試信息);e)設置轉儲文件路徑,這里注意不要使用系統默認路徑% SystemRoot %\MEM0RY. DMP,這里是指向c:\windows路徑下,每次系統還原都會將c盤下所有文件恢復掉,MEMORY. DMP文件就無法保留了,因此這里設置在e: \MEM0RY. DMP ;f)取消覆蓋任何現有文件。(也是為了保留每次藍屏后的MEMORY. DMP);g)制作初始化的系統還原鏡像,如圖5所示,選用一鍵Ghost來實現;h)制作出來的系統鏡像GHO文件會自動保存在系統中最后個盤符的下,例如F:\ 1\C_PAN. GH0,至此環境準備工作完成。二、自動化測試用例執行階段a)自動化測試程序由于需要執行一批測試用例(即測試模塊),因此需要在測試目錄下記錄一個配置文件,如圖6所示,用于保存上一次執行的測試用例ID(Case ID);同時需要記錄一個執行模式,這里定義O是整個測試的初始狀態,測試程序需要開始運行,I代表開始狀態,表不Case ID開始執行,2代表結束狀態,表不Case ID執行結束。b)由于測試執行環境的還原鏡像中設置了自動化測試程序在每次重啟系統后自動執行,因此,程序可以通過配置mode的值作為自動化測試程序的執行的開關。默認的當自動化目錄下不存在上述的配置文件,重啟系統后不會執行自動化測試case,而是隨系統正常啟動后自動結束。c)每次開始整個自動化測試程序時,測試人員手工部署好被測對象即在系統中安裝好測試版本的軟件,就可啟動自動化測試程序。d)自動化測試程序在啟動前需要通過一個批處理首先設置配置文件的mode值為O, case ID設置需要從哪個用例開始執行,然后調用接口 Auto_reboot O ,重啟系統。e)此時自動化測試程序隨系統啟動,開始運行,在每次重啟系統后開始運行的時刻自動化測試程序立刻設置系統進入還原模式(這是測試中設置的關鍵),但是不重啟系統。自動化測試程序開始運行i.設置系統進入還原模式,可以調用對外接口 Auto_setrecover()完成,其原理描述如下
I.目前進入系統恢復,依賴于Ghost中相應的menu. 1st設一鍵還原的一鍵恢復系統功能;2.如圖 7 所示,保存配置文件 c:\dosh\ghost\gho_run. ini 其中timeout代表重啟后等待時間5s, default = 2代表重啟后進入系統還原模式,用于自動還原步驟I初始化狀態保存的Ghost鏡像,恢復系統。3.如圖8所示,設置系統重啟后進入·點;4.具體地,在XP系統下直接修改c: \boot. ini,其中default = C:\GHLDR(默認進入Ghost還原菜單);5.具體地,在Win7或vista系統下配置bootmgr,設置啟動項為C:\GHLDR。 接下來自動化測試程序開始正常運行,順序執行測試用例。I.當在運行過程中遭遇藍屏,系統自動會開始進入dump memory狀態,當此過程完成后系統自動重啟,由于每次程序在系統運行前都將系統導入到還原模式,此時出現藍屏后可以自動進入Ghost的系統還原過程,自動恢復系統,系統恢復后,自動化測試程序讀取本地的配置文件,由于藍屏前的配置有保留,同時發現有一個新的MEMORY. DMP文件出現,此時可以認為上一次出現過藍屏,開始備份MEMORY. DMP,同時跳過上一個case ID,自動執行下一個用例,從而保證了整套程序流程順利進行完成。2.當系統運行過程中可以正常的重啟系統而沒有藍屏發生,程序在重啟前恢復之前配置的系統還原狀態,讓操作系統可以正常重啟直到整套測試流程運行完成。3程序結束狀態a)當自動化測試程序完成最后一條測試用例的執行,系統自動生成報告,收集之前備份的MEMORY. DMP文件,完成整個自動化測試過程,可以通過MEMORY. DMP文件分析各測試用例產生藍屏的原因。在實例中是基于現有Ghost還原軟件(其中所指為Ghost—鍵還原軟件)的基礎上進行的改進和擴充,當然不以此為限定,只要是可以實現系統備份并還原的方式都可以作為本發明的實施方式。如圖9所示,本發明的一種自動化測試中可自動恢復的目標程序運行控制裝置,包括目標程序執行記錄單元901、目標程序執行單元902、系統備份單元903、默認引導項修改單元904、配置單元905、轉儲文件備份單元906及收集單元907,其中,目標程序執行記錄單元901,用于將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,其中所述目標程序及對應的配置文件保存在非系統分區;目標程序執行單元902,用于執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并通過預先制作的系統鏡像文件恢復操作系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序;系統備份單元903,用于制作系統鏡像文件并存儲在非系統分區;默認引導項修改單元904,用于在每次操作系統啟動后,將啟動過程中的默認引導項指向一個恢復引導項,該恢復引導項通過該系統備份單元903預先制作的系統分區的鏡像文件而生成,將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統;
配置單元905,用于將所述目標程序的啟動項配置為在操作系統啟動后自動運行,并配置系統運行異常后的動作為自動重新啟動,配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件;轉儲文件備份單元906,用于在每次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容;收集單元907,用于當所述目標程序執行完最后一個模塊后,收集所述備份的轉儲文件,自動生成執行報告。所述默認引導項修改單元904,進一步用于在所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。所述目標程序執行單元902是通過讀取配置單元905的設置實現自動重啟操作系 統。本發明為各類自動化測試程序在執行過程中碰到系統出現藍屏時,提供一種自動恢復過程,以及恢復測試環境能夠保證繼續執行的解決方案,為確保自動化測試程序在執行過程中,特別是執行軟件兼容性,健壯性測試自動化測試用例時,完全脫離人工監控,提供有力保證,保證自動化測試程序運行的可靠性和連續性。以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉該技術的人在本發明所揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種自動化測試中可自動恢復的目標程序運行控制方法,其特征在于,包括如下步驟 將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立ー個配置文件用于記錄當前正在執行的模塊的執行情況,并將所述目標程序及對應的配置文件保存在非系統分區; 執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并使用預先制作的系統鏡像文件恢復操作系統; 恢復系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。
2.如權利要求I所述的方法,其特征在于,還包括 所述鏡像文件通過預先制作存儲于非系統分區,在系統啟動過程中提供恢復引導項,該恢復引導項將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統。
3.如權利要求I所述的方法,其特征在干,進ー步包括 所述目標程序預先配置為在操作系統啟動后自動運行。
4.如權利要求I所述的方法,其特征在干, 所述判斷若當前系統運行異常,則根據預先設置自動重啟操作系統的步驟,是通過預先配置實現。
5.如權利要求2所述的方法,其特征在干,進ー步包括 在毎次操作系統啟動后,由所述目標程序首先將啟動過程中的默認引導項指向所述恢復引導項。
6.如權利要求2所述的方法,其特征在干,進ー步包括 所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。
7.如權利要求I所述的方法,其特征在于,所述將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立ー個配置文件用于記錄當前正在執行的模塊的執行情況,并將所述目標程序及對應的配置文件保存在非系統分區的步驟,進一歩包括 預先配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件。
8.如權利要求7所述的方法,其特征在干,進ー步包括 在毎次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容。
9.如權利要求8所述的方法,其特征在干,進ー步包括 當所述目標程序執行完最后ー個模塊后,收集所述備份的轉儲文件,自動生成執行報生ロ o
10.一種自動化測試中可自動恢復的目標程序運行控制裝置,其特征在于,包括 目標程序執行記錄單元,用于將所述目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立ー個配置文件用于記錄當前正在執行的模塊的執行情況,其中所述目標程序及對應的配置文件保存在非系統分區;及目標程序執行單元,用于執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并通過預先制作的系統鏡像文件恢復操作系統后,查詢所述配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行所述目標程序。
11.如權利要求10所述的裝置,其特征在于,還包括 系統備份單元,用于制作系統鏡像文件并存儲在非系統分區 '及 默認引導項修改單元,用于在每次操作系統啟動后,將啟動過程中的默認引導項指向一個恢復引導項,該恢復引導項通過該系統備份單元預先制作的系統分區的鏡像文件而生成,將啟動指向所述鏡像文件,并使用該鏡像文件恢復操作系統。
12.如權利要求11所述的裝置,其特征在于, 所述默認引導項修改單元,進一步用于在所述目標程序運行中,判斷若當前系統正常重新啟動時,則在重新啟動前將所述啟動過程中的默認引導項指向正常啟動引導項。
13.如權利要求10所述的裝置,其特征在于,還包括 配置單元,用于將所述目標程序的啟動項配置為在操作系統啟動后自動運行,并配置系統運行異常后的動作為自動重新啟動; 所述目標程序執行單元是通過讀取配置單元的設置實現自動重啟操作系統。
14.如權利要求13所述的裝置,其特征在于, 所述配置單元,進一步用于配置系統運行異常后的動作為將調試信息轉儲至非系統分區生成轉儲文件。
15.如權利要求14所述的裝置,其特征在于,進一步包括 轉儲文件備份單元,用于在每次操作系統啟動后,查詢非系統分區中是否有新增轉儲文件,如果有則備份所述新增轉儲文件的內容。
16.如權利要求15所述的裝置,其特征在于,進一步包括 收集單元,用于當所述目標程序執行完最后一個模塊后,收集所述備份的轉儲文件,自動生成執行報告。
全文摘要
一種自動化測試中可自動恢復的目標程序運行控制方法及裝置,包括將目標程序依序劃分為多個具有唯一標識的可獨立運行的模塊,建立一個配置文件用于記錄當前正在執行的模塊的執行情況,并將目標程序及對應的配置文件保存在非系統分區;執行目標程序,判斷若當前系統運行異常,則根據預先設置自動重啟操作系統,并使用預先制作的系統鏡像文件恢復操作系統;恢復系統后,查詢配置文件中記錄的導致異常的模塊標識,從該模塊標識的下一個模塊開始運行目標程序。應用本發明,可保證在自動化測試過程中,模擬windows下的真實用戶行為而由于軟件問題導致系統運行異常時,能夠自動恢復系統以及自動執行測試過程,確保自動化測試的持續執行能力。
文檔編號G06F11/36GK102855174SQ20111017641
公開日2013年1月2日 申請日期2011年6月28日 優先權日2011年6月28日
發明者張 杰 申請人:奇智軟件(北京)有限公司