本申請涉及計算機
技術(shù)領(lǐng)域:
:,尤其涉及一種自動化測試方法和裝置。
背景技術(shù):
::隨著計算機技術(shù)發(fā)展,軟件測試是逐漸由以人為驅(qū)動的手工測試方法轉(zhuǎn)化為計算機執(zhí)行的自動化測試過程。自動化測試可以利用軟件測試工具對軟件自動實現(xiàn)測試,完成許多手工測試無法實現(xiàn)或者是難以實現(xiàn)的測試,采取合理的自動化測試方法能夠快速全面的對軟件進行測試,從而提高軟件重量,節(jié)省資費,縮短軟件開發(fā)周期等。在自動化測試時,通常是在預設條件下運行系統(tǒng)程序或應用程序,得到運行結(jié)果并與預期結(jié)果進行比較以對系統(tǒng)程序或應用程序的質(zhì)量進行評估。自動化測試具體執(zhí)行時,首先會訪問數(shù)據(jù)庫進行測試數(shù)據(jù)準備,然后訪問上述數(shù)據(jù)庫進行測試結(jié)果校驗等操作。但由于上述數(shù)據(jù)庫是公共服務,可能會存在多個訪問同時對數(shù)據(jù)庫或數(shù)據(jù)庫中的數(shù)據(jù)進行不同方式的修改和操作,這樣自動化測試所依賴的測試數(shù)據(jù)將無法保障準確性,從而導致測試結(jié)果不正確,比如自動化測試訪問數(shù)據(jù)庫時,數(shù)據(jù)庫表結(jié)構(gòu)被其他訪問進行了修改,將導致測試用例執(zhí)行過程中所創(chuàng)建的數(shù)據(jù)無法錄入,往往需要手動對數(shù)據(jù)信息進行調(diào)整,多次運行才能執(zhí)行成功,因此目前自動化測試運行的穩(wěn)定性較低。技術(shù)實現(xiàn)要素:基于上述技術(shù)問題,本申請實施例提供一種自動化測試方法和裝置,用于提高自動化測試運行的穩(wěn)定性。本申請實施例采用下述技術(shù)方案:一種自動化測試方法,包括:創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫;獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中;從所述數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取數(shù)據(jù)以執(zhí)行自動化測試的測試方法,并將測試結(jié)果數(shù)據(jù)保存在所述數(shù)據(jù)庫中;訪問所述數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗。優(yōu)選地,所述數(shù)據(jù)庫具體為內(nèi)存數(shù)據(jù)庫。優(yōu)選地,獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中具體包括:從自動化測試的測試代碼中獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中。優(yōu)選地,將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中之前,所述方法還包括:在創(chuàng)建的數(shù)據(jù)庫中創(chuàng)建測試數(shù)據(jù)對應的表結(jié)構(gòu)。優(yōu)選地,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗之后,所述方法還包括:反饋校驗結(jié)果。優(yōu)選地,反饋校驗結(jié)果之后,所述方法還包括:刪除所述數(shù)據(jù)庫中的測試數(shù)據(jù)。優(yōu)選地,刪除所述數(shù)據(jù)庫中的測試數(shù)據(jù)之后,所述方法還包括:測試代碼結(jié)束運行,數(shù)據(jù)庫停止運行。優(yōu)選地,創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫具體包括:運行自動化測試代碼,通過運行測試代碼創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫。一種自動化測試裝置,包括:數(shù)據(jù)庫創(chuàng)建模塊,測試數(shù)據(jù)準備模塊,測試執(zhí)行模塊和結(jié)果數(shù)據(jù)校驗模塊,其中:所述數(shù)據(jù)庫創(chuàng)建模塊,用于創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫;所述測試數(shù)據(jù)準備模塊,用于獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中;所述測試執(zhí)行模塊,用于從所述數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取數(shù)據(jù)以執(zhí)行自動化測試的測試方法,并將測試結(jié)果數(shù)據(jù)保存在所述數(shù)據(jù)庫中;所述結(jié)果數(shù)據(jù)校驗模塊,用于訪問所述數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗。優(yōu)選地,所述數(shù)據(jù)庫創(chuàng)建模塊創(chuàng)建的數(shù)據(jù)庫具體為內(nèi)存數(shù)據(jù)庫。本申請實施例采用的上述至少一個技術(shù)方案能夠達到以下有益效果:在自動化測試時首先創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫,將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中,然后執(zhí)行自動化測試的測試方法,最后再訪問上述數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗,每次自動化測試時都自動搭建一套數(shù)據(jù)庫環(huán)境,創(chuàng)建本次依賴的測試數(shù)據(jù),保障了數(shù)據(jù)庫的穩(wěn)定以及測試數(shù)據(jù)的準確性,從而提升自動化測試運行結(jié)果的穩(wěn)定性。附圖說明此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:圖1為現(xiàn)有技術(shù)中自動化測試方法的應用場景示意圖;圖2為本申請實施例1提供的一種自動化測試方法的具體實現(xiàn)流程示意圖;圖3為本申請實施例2提供的一種自動化測試方法的具體實現(xiàn)流程示意圖;圖4為本申請實施例2提供的自動化測試方法應用場景示意圖;圖5為本申請實施例3提供的一種自動化測試裝置的具體結(jié)構(gòu)示意圖。具體實施方式為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應的附圖對本申請技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。如前所述,現(xiàn)有技術(shù)中在執(zhí)行自動化測試時,首先會訪問數(shù)據(jù)庫進行測試數(shù)據(jù)準備,然后訪問數(shù)據(jù)庫進行測試結(jié)果校驗,又或者是訪問數(shù)據(jù)庫對測試結(jié) 果數(shù)據(jù)進行評估等操作。但由于數(shù)據(jù)庫是公共服務,可能會存在多個訪問同時對數(shù)據(jù)進行不同方式的修改和操作,這樣自動化測試所依賴的測試數(shù)據(jù)將無法保障準確性,從而導致測試結(jié)果不正確。舉例說明,如圖1所示,公共數(shù)據(jù)庫服務器被應用服務器、自動化測試服務器a,自動化測試服務器b所公用。當自動化測試服務器a,自動化測試服務器b分別在執(zhí)行同一個待測試程序所對應的兩個測試用例時,其中待測試的程序運行所需的數(shù)據(jù)均保存在公共數(shù)據(jù)庫服務器中,如果應用服務器將上述待測試程序運行所依賴的數(shù)據(jù)所對應的表結(jié)構(gòu)進行修改,此時將可能引起自動化測試服務器a無法在上述公共數(shù)據(jù)庫服務器中新增記錄進而無法進行數(shù)據(jù)準備,同時自動化測試服務器b無法獲取記錄進而無法進行數(shù)據(jù)校驗,最終造成測試運行結(jié)果不正確或者是測試中斷的情況,因此目前自動化測試運行的穩(wěn)定性較低。實施例1為解決上述技術(shù)問題,本申請實施例1提供一種自動化測試的方法,用于提高自動化測試運行的穩(wěn)定性。該方法的具體流程示意圖如圖2所示,包括下述步驟:步驟11:創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫;創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫時,所創(chuàng)建的數(shù)據(jù)庫可以為在本次測試用例所運行的內(nèi)存中創(chuàng)建的內(nèi)存數(shù)據(jù)庫,也可以為創(chuàng)建的用于當前自動化測試的磁盤數(shù)據(jù)庫。內(nèi)存數(shù)據(jù)庫可以將數(shù)據(jù)放在內(nèi)存中直接進行訪問控制,相對于磁盤數(shù)據(jù)庫,其讀寫速度要高出幾個數(shù)量級,進而能夠極大地提高測試用例的執(zhí)行效率。具體創(chuàng)建數(shù)據(jù)庫時,可以利用createdatabase<數(shù)據(jù)庫名稱>的命令創(chuàng)建數(shù)據(jù)庫,例如創(chuàng)建一個名為ceshi的mysql數(shù)據(jù)庫時,首先連接mysql服務器;然后執(zhí)行mysql>createdatabaseceshi;完成數(shù)據(jù)庫的創(chuàng)建。需要說明的是,上述創(chuàng)建數(shù)據(jù)庫用于當前自動化測試,具體可以設置為只 有本次測試用例的執(zhí)行主體擁有訪問權(quán)限,即創(chuàng)建的數(shù)據(jù)庫僅供本次自動化測試所使用。步驟12:獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中;測試數(shù)據(jù)通常是自動化測試的方法執(zhí)行過程中需要用到的全部數(shù)據(jù),其來源于測試用例對應的測試需求。獲取測試數(shù)據(jù)時,可以具體從自動化測試的測試代碼中獲取,在獲取測試數(shù)據(jù)之后,可以通過數(shù)據(jù)庫的導入功能將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中。例如,獲取到一批測試數(shù)據(jù),這些測試數(shù)據(jù)是由測試用例的測試代碼中獲取得到,則可以通過導入測試數(shù)據(jù)的方式,將獲取到的測試數(shù)據(jù)導入到創(chuàng)建的數(shù)據(jù)庫中實現(xiàn)測試數(shù)據(jù)準備。具體導入測試數(shù)據(jù)時,可以利用測試用例的代碼中的一段程序?qū)@取到的全部測試數(shù)據(jù)導入到步驟11所創(chuàng)建的數(shù)據(jù)庫中,導入的測試數(shù)據(jù)可以為自動化測試過程中所需要的變量值的初始值,又或者是某一表記錄的所有值等。步驟13:從所述數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取數(shù)據(jù)以執(zhí)行自動化測試的測試方法,并將測試結(jié)果數(shù)據(jù)保存在所述數(shù)據(jù)庫中;自動化測試的測試方法執(zhí)行時,即在搭建測試環(huán)境運行測試用例,測試環(huán)境可以為軟件產(chǎn)品運行的軟硬件環(huán)境,比如要求操作系統(tǒng)系統(tǒng)是windows2000pack4版本等。其中測試過程中所需的數(shù)據(jù)從所述數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取,且測試結(jié)果數(shù)據(jù)保存于所述數(shù)據(jù)庫中。需要說明的是,數(shù)據(jù)庫中的測試數(shù)據(jù)包括測試中全部所需要的數(shù)據(jù),測試過程是一個連續(xù)過程,可能還會分為多個執(zhí)行步驟,每一個步驟執(zhí)行時可能只是需要上述測試數(shù)據(jù)中的部分數(shù)據(jù)又或者是全部數(shù)據(jù),每次需要使用時即可從上述數(shù)據(jù)庫中獲取所需的數(shù)據(jù)。自動化測試通常是為了特定的測試目的而設計的一組測試輸入,執(zhí)行條件,和預期結(jié)果。自動化測試的測試輸入即為提供測試執(zhí)行中的各種輸入條件,根據(jù)需求中的輸入條件,確定測試用例的輸入。操作步驟即提供測試執(zhí)行過程的步驟。預期結(jié)果即提供測試執(zhí)行的預期結(jié)果,預期結(jié)果應該根據(jù)軟件需求中的 輸出得出。通過測試用例的執(zhí)行,進而能夠發(fā)現(xiàn)測試對象的錯誤。如果在實際測試過程中,得到的實際測試結(jié)果數(shù)據(jù)與預期結(jié)果數(shù)據(jù)不符,那么測試不通過;反之則可以認為測試通過。步驟14:訪問所述數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗。由于測試結(jié)果數(shù)據(jù)是保存在上述數(shù)據(jù)庫中,訪問所述數(shù)據(jù)庫,通常即訪問上述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)并將其與預期結(jié)果數(shù)據(jù)進行校驗。具體訪問數(shù)據(jù)庫時可以通過自動化測試的測試用例經(jīng)由一層或多層創(chuàng)建數(shù)據(jù)庫的中介代碼或中間件進入數(shù)據(jù)庫中進而訪問測試結(jié)果數(shù)據(jù),并且讀取出測試結(jié)果數(shù)據(jù)后送回測試用例中來進行數(shù)據(jù)校驗。其中預期結(jié)果數(shù)據(jù)通??梢员4嬖谧詣踊瘻y試的測試代碼中。在測試執(zhí)行中訪問所述數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗時,即便實際測試結(jié)果數(shù)據(jù)與測試的預期結(jié)果數(shù)據(jù)一致,通常也要查看自動化測試的測試用例的操作日志、系統(tǒng)運行日志和系統(tǒng)資源使用情況,來判斷測試用例是否執(zhí)行成功。全方位觀察軟件產(chǎn)品的輸出可以發(fā)現(xiàn)很多隱蔽的問題。采用實施例1提供的該方法,在自動化測試時首先創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫,將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中,然后執(zhí)行自動化測試的測試方法,最后再訪問上述數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗,每次自動化測試時都自動搭建一套數(shù)據(jù)庫環(huán)境,創(chuàng)建本次依賴的測試數(shù)據(jù),保障了數(shù)據(jù)庫的穩(wěn)定以及測試數(shù)據(jù)的準確性,從而提升自動化測試運行結(jié)果的穩(wěn)定性。在實施例1的步驟11中,創(chuàng)建的用于當前自動化測試的數(shù)據(jù)庫具體可以為內(nèi)存數(shù)據(jù)庫。內(nèi)存數(shù)據(jù)庫可以通過利用本地內(nèi)存資源換取測試數(shù)據(jù)準備以及數(shù)據(jù)校驗的實時性的。內(nèi)存數(shù)據(jù)庫的事務實時處理性能要強于磁盤數(shù)據(jù)庫。相對于磁盤數(shù)據(jù)庫,通過內(nèi)存數(shù)據(jù)庫,減少了磁盤輸入輸出,能夠達到以磁盤輸入輸出為主的傳統(tǒng)數(shù)據(jù)庫無法與其相比擬的處理速度。內(nèi)存數(shù)據(jù)庫系統(tǒng)帶來的優(yōu)越性能不僅僅在于對內(nèi)存讀寫比對磁盤讀寫快上,更重要的是,內(nèi)存數(shù)據(jù)庫 基于全部數(shù)據(jù)都在內(nèi)存中管理進行了新的體系結(jié)構(gòu)的設計,在數(shù)據(jù)緩存、快速算法、并行操作方面也進行了相應的改進,從而使數(shù)據(jù)處理速度一般比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度快很多,一般都在10倍以上,進而提升自動化測試的測試效率。在實施例1的步驟12中獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中之前,所述實施例還可以包括以下步驟:在創(chuàng)建的數(shù)據(jù)庫中創(chuàng)建自動化測試的測試數(shù)據(jù)對應的表結(jié)構(gòu),創(chuàng)建表結(jié)構(gòu)之前通常已經(jīng)明確測試過程中所需要的數(shù)據(jù)的類型以及所需要的數(shù)據(jù)庫表結(jié)構(gòu)。例如自動化測試時需要有字段名為"lastname"、"firstname"、"address"和"age"的字段,在數(shù)據(jù)庫中創(chuàng)建名為“person”的表結(jié)構(gòu)時時可以編寫如下語句:createtableperson(lastnamevarchar,firstnamevarchar,addressvarchar,ageint)通過創(chuàng)建自動化測試的測試數(shù)據(jù)對應的表結(jié)構(gòu),進而能夠方便后續(xù)的測試數(shù)據(jù)導入以及訪問數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗。在實施例1的步驟14中訪問所述數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗之后,所述實施例還可以包括以下步驟:反饋校驗結(jié)果。軟件測試執(zhí)行結(jié)束后,測試活動還沒有結(jié)束。結(jié)果分析是必不可少的重要環(huán)節(jié),通過反饋的校驗結(jié)果,進而對測試結(jié)果的分析對下一輪測試工作的開展有很大的借鑒意義。軟件測試結(jié)果關(guān)鍵的域就是“問題描述”,這是定位問題的依據(jù)。問題描述應該包括以下幾部分內(nèi)容:軟件配置、硬件配置、測試用例輸入、操作步驟、輸出、當時輸出設備的相關(guān)輸出信息和相關(guān)的日志等。軟件配置包括操作系統(tǒng)類型版本和補丁版本、當前被測試軟件的版本和補丁版本、相關(guān)支撐軟件,比如數(shù)據(jù)庫軟件的版本和補丁版本等。硬件配置包括計算機的配置情況,例如cpu、內(nèi)存和硬盤的相關(guān)參數(shù),其它硬件參數(shù)根據(jù)測試用例的實際情況添加。如果測試中使用網(wǎng)絡,那么網(wǎng)絡的組網(wǎng)情況,網(wǎng)絡的容量、流量等情況。測試用例輸入\操作步驟\輸出。輸出設備的相關(guān)輸出信息包括輸出設備包括計算機顯示器、打印機、磁帶等等輸出設備等。日志信息包括軟件的運行日志和用戶、管理員的操作日志。在上述實施例中反饋校驗結(jié)果之后,所述方法還可以包括以下步驟:刪除所述數(shù)據(jù)庫中的測試數(shù)據(jù),當然這里的測試數(shù)據(jù)可以為數(shù)據(jù)庫中的全部數(shù)據(jù)。如果是內(nèi)存數(shù)據(jù)庫,及時刪除內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù),進而減少內(nèi)存占用率,減少對系統(tǒng)資源的使用;如果是磁盤數(shù)據(jù)庫,及時刪除磁盤數(shù)據(jù)庫中的結(jié)果數(shù)據(jù),進而減少磁盤的占用率,同樣起到減少系統(tǒng)資源的使用的效果。另外,刪除所述數(shù)據(jù)庫中的測試數(shù)據(jù)之后,所述方法還可以包括以下步驟:測試代碼結(jié)束運行,數(shù)據(jù)庫停止運行。相對于內(nèi)存數(shù)據(jù)庫,測試用例的測試代碼運行結(jié)束后內(nèi)存數(shù)據(jù)庫即可結(jié)束運行,進而降低對內(nèi)存的占用,相對于磁盤數(shù)據(jù)庫,在測試用例的測試代碼運行結(jié)束后,可以通過刪除數(shù)據(jù)庫的方式來結(jié)束數(shù)據(jù)庫的運行。在之前所有的實施例中,創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫具體可以采用運行自動化測試代碼,通過運行測試代碼創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫。即在自動化測試的測試代碼中增加創(chuàng)建數(shù)據(jù)庫的相關(guān)程序,通過自動化測試代碼的運行自動創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫。實施例2基于相同的發(fā)明構(gòu)思,實施例2提供了一種自動化測試方法,用于提高自動化測試運行的穩(wěn)定性。該方法的具體流程示意圖如圖3所示,包括下述步驟:步驟21:運行測試代碼創(chuàng)建內(nèi)存數(shù)據(jù)庫;創(chuàng)建內(nèi)存數(shù)據(jù)庫時,可以在自動化測試的測試代碼中添加構(gòu)建內(nèi)存數(shù)據(jù)庫的相關(guān)代碼,通過運行測試代碼調(diào)用數(shù)據(jù)庫創(chuàng)建工具創(chuàng)建用于當前自動化測試的內(nèi)存數(shù)據(jù)庫,創(chuàng)建的內(nèi)存數(shù)據(jù)庫可以為sqlite內(nèi)存數(shù)據(jù)庫或altibase內(nèi)存數(shù)據(jù)庫等一些符合測試用例的運行需要的內(nèi)存數(shù)據(jù)庫。sqlite是一個小型的c程序庫,實現(xiàn)了獨立的,可嵌入的,零配置的sql數(shù)據(jù)庫引擎。sqlite不僅占用內(nèi)存少、操作方便快速且運行穩(wěn)定。但sqlite省略了一些人們認為比較有用的特性,例如高并發(fā)性、嚴格的存取控制、豐富的內(nèi)置功能、存儲過程、復雜的sql語言特性、xml以及java的擴展,超大的萬億級別的數(shù)據(jù)測量等等。altibasetm內(nèi)存數(shù)據(jù)庫管理系統(tǒng)(dbms)可以為在事務優(yōu)先的環(huán)境中提供高性能和高可用性的軟件解決方案。altibase提供極限性能、容錯能力和事務管理的方便性,特別是在通信、網(wǎng)上銀行、證券交易、實時應用和嵌入式系統(tǒng)領(lǐng)域。altibase能夠最大限度的發(fā)揮數(shù)據(jù)庫服務系統(tǒng)的潛力。步驟22:在創(chuàng)建的內(nèi)存數(shù)據(jù)庫中創(chuàng)建測試數(shù)據(jù)對應的表結(jié)構(gòu);通過創(chuàng)建自動化測試的測試數(shù)據(jù)對應的表結(jié)構(gòu),進而能夠方便步驟23中數(shù)據(jù)庫導入測試數(shù)據(jù)以及步驟25中訪問數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗,其中,在獲取測試數(shù)據(jù)之前通常已經(jīng)明確測試過程中所需要的全部數(shù)據(jù)在數(shù)據(jù)庫中的表結(jié)構(gòu)。步驟23:獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入內(nèi)存數(shù)據(jù)庫中;獲取測試數(shù)據(jù)時,可以具體從自動化測試的測試代碼中獲取,將測試數(shù)據(jù)導入內(nèi)存數(shù)據(jù)庫時,可以利用測試用例的代碼中的一段程序?qū)y試過程中所需的全部測試數(shù)據(jù)導入到步驟21所創(chuàng)建的內(nèi)存數(shù)據(jù)庫中,例如導入測試過程中所需要的變量值的初始值,又或者是存儲某一表記錄的所有值等。步驟24:從內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取數(shù)據(jù)以執(zhí)行自動化測試的測試方法,并將測試結(jié)果數(shù)據(jù)保存在內(nèi)存數(shù)據(jù)庫中;自動化測試的測試方法具體執(zhí)行時,即在搭建測試環(huán)境運行測試用例。其 中測試過程中所需的數(shù)據(jù)從所述內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取,且測試結(jié)果數(shù)據(jù)保存于所述內(nèi)存數(shù)據(jù)庫中。步驟25:訪問所述內(nèi)存數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述內(nèi)存數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗;訪問所述內(nèi)存數(shù)據(jù)庫,通常即訪問測試結(jié)果數(shù)據(jù),將其與預期結(jié)果數(shù)據(jù)進行比較,預期結(jié)果數(shù)據(jù)通??梢员4嬖谧詣踊瘻y試的測試代碼中。在測試執(zhí)行中訪問所述內(nèi)存數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗時,即便實際測試結(jié)果內(nèi)存與測試的預期結(jié)果內(nèi)存一致,通常也要查看測試用例的操作日志、系統(tǒng)運行日志和系統(tǒng)資源使用情況,來判斷測試用例是否執(zhí)行成功了。全方位觀察軟件產(chǎn)品的輸出可以發(fā)現(xiàn)很多隱蔽的問題。步驟26:反饋校驗結(jié)果;進行數(shù)據(jù)校驗后,還可以反饋校驗結(jié)果,軟件測試執(zhí)行結(jié)束后,測試活動還沒有結(jié)束。結(jié)果分析是必不可少的重要環(huán)節(jié),通過反饋的校驗結(jié)果,進而對測試結(jié)果的分析對下一輪測試工作的開展有很大的借鑒意義。步驟27:刪除所述內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù);及時刪除內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù),進而減少內(nèi)存占用率,提高系統(tǒng)資源的利用效率。步驟28:測試代碼結(jié)束運行,內(nèi)存數(shù)據(jù)庫停止運行。測試用例的測試代碼運行結(jié)束后內(nèi)存數(shù)據(jù)庫即可結(jié)束運行,進而降低對內(nèi)存的占用。采用實施例2提供的方法,由于在自動化測試時首先創(chuàng)建內(nèi)存數(shù)據(jù)庫并創(chuàng)建測試數(shù)據(jù)對應的表結(jié)構(gòu),將獲取到的測試數(shù)據(jù)導入所述內(nèi)存數(shù)據(jù)庫中后執(zhí)行自動化測試的測試方法,然后訪問上述內(nèi)存數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗,最后反饋校驗結(jié)果之后刪除內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù)并停止內(nèi)存數(shù)據(jù)庫運行,每次自動化測試服務運行時都自動搭建一套內(nèi)存數(shù)據(jù)庫環(huán)境,創(chuàng)建本次依賴的測試數(shù)據(jù),保障了數(shù)據(jù)庫的穩(wěn)定以及測試數(shù)據(jù)的準確性,從而提升自動化 測試運行結(jié)果的穩(wěn)定性,同時通過及時刪除內(nèi)存數(shù)據(jù)庫中的測試數(shù)據(jù)并停止內(nèi)存數(shù)據(jù)庫運行,減少自動化測試所占用的資源。對于實施例2起到提升自動化測試運行結(jié)果的穩(wěn)定性的效果,具體可以如圖4所示,與現(xiàn)有技術(shù)中圖1的對比可以看出,圖4中自動化測試服務器a和自動化測試服務器b可已分別對其對應的測試對象進行測試,測試過程不受應用服務器對公共數(shù)據(jù)庫服務器中表c結(jié)構(gòu)修改的影響,進而提高自動化測試過程的穩(wěn)定性。實施例3基于相同的發(fā)明構(gòu)思,實施例3提供了一種自動化測試裝置,用于提高自動化測試運行的穩(wěn)定性。如圖5所示,該裝置包括:數(shù)據(jù)庫創(chuàng)建模塊31,測試數(shù)據(jù)準備模塊32,測試執(zhí)行模塊33和結(jié)果數(shù)據(jù)校驗模塊34,其中:所述數(shù)據(jù)庫創(chuàng)建模塊31,可以用于創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫;所述測試數(shù)據(jù)準備模塊32,可以用于獲取測試數(shù)據(jù),并將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中;所述測試執(zhí)行模塊33,可以用于從所述數(shù)據(jù)庫中的測試數(shù)據(jù)中獲取數(shù)據(jù)以執(zhí)行自動化測試的測試方法,并將測試結(jié)果數(shù)據(jù)保存在所述數(shù)據(jù)庫中;所述結(jié)果數(shù)據(jù)校驗模塊34,可以用于訪問所述數(shù)據(jù)庫,根據(jù)預期結(jié)果數(shù)據(jù)對所述數(shù)據(jù)庫中的測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗。采用實施例3提供的該方法,數(shù)據(jù)庫創(chuàng)建模塊31在自動化測試時首先創(chuàng)建用于當前自動化測試的數(shù)據(jù)庫,測試數(shù)據(jù)準備模塊32將獲取到的測試數(shù)據(jù)導入所述數(shù)據(jù)庫中,然后測試執(zhí)行模塊33執(zhí)行自動化測試的測試方法,最后結(jié)果數(shù)據(jù)校驗模塊34訪問上述數(shù)據(jù)庫對測試結(jié)果數(shù)據(jù)進行數(shù)據(jù)校驗,每次自動化測試服務運行時都自動搭建一套數(shù)據(jù)庫環(huán)境,創(chuàng)建本次依賴的測試數(shù)據(jù),保障了數(shù)據(jù)庫的穩(wěn)定以及測試數(shù)據(jù)的準確性,從而提升自動化測試運行結(jié)果的穩(wěn)定性。在一種實施方式中,數(shù)據(jù)庫創(chuàng)建模塊31創(chuàng)建的數(shù)據(jù)庫具體可以為內(nèi)存數(shù)據(jù)庫。本領(lǐng)域技術(shù)人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。以上僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本申請的權(quán)利要求范圍之內(nèi)。當前第1頁12當前第1頁12