本發(fā)明涉及數(shù)據(jù)庫、自動化測試,尤其涉及一種數(shù)據(jù)庫自動化功能測試方法及裝置、電子設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、數(shù)據(jù)庫的功能測試涉及到對基本功能驗(yàn)證如結(jié)構(gòu)化查詢語言(structured?querylanguage,sql)執(zhí)行結(jié)果校驗(yàn)、數(shù)據(jù)庫命令驗(yàn)證等,落盤信息校驗(yàn)如數(shù)據(jù)落盤、日志落盤校驗(yàn)等,系統(tǒng)環(huán)境驗(yàn)證如磁盤內(nèi)存使用情況驗(yàn)證等各個方面。對一個功能的測試不止要在數(shù)據(jù)庫本身執(zhí)行操作,還要進(jìn)行跨機(jī)器的系統(tǒng)操作以進(jìn)行相應(yīng)的驗(yàn)證,所以在相關(guān)技術(shù)中測試方式基本是利用腳本執(zhí)行批量sql語句的功能操作,加上手動系統(tǒng)操作及人工校驗(yàn)的純手動或半自動的方法進(jìn)行測試驗(yàn)證。
2、這樣的測試方式,主要面臨大量的重復(fù)性對比驗(yàn)證工作,占用較多人力,存在資源浪費(fèi);人為的信息對比效率不高,不能盡快暴露存在的問題;一旦測試中發(fā)現(xiàn)問題,定位問題會占用人力,這樣后續(xù)的測試將被順延,不能及時(shí)完成全部功能測試點(diǎn)覆蓋的問題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,本發(fā)明提供了一種數(shù)據(jù)庫自動化功能測試方法、裝置、電子設(shè)備、存儲介質(zhì)和程序產(chǎn)品。
2、根據(jù)本發(fā)明的第一個方面,提供了一種數(shù)據(jù)庫自動化功能測試方法,包括:獲取待測數(shù)據(jù)庫的原始配置參數(shù);根據(jù)總體測試需求對原始配置參數(shù)進(jìn)行修改,生成公共測試參數(shù),其中,公共測試參數(shù)用于使得測試環(huán)境達(dá)到測試運(yùn)行標(biāo)準(zhǔn);基于公共測試參數(shù),調(diào)用n個獨(dú)立測試項(xiàng)目對待測數(shù)據(jù)庫執(zhí)行n個功能測試,生成測試結(jié)果,其中,n為正整數(shù)。
3、根據(jù)本發(fā)明的實(shí)施例,基于公共測試參數(shù),調(diào)用各個獨(dú)立測試項(xiàng)目對待測數(shù)據(jù)庫執(zhí)行1個功能測試,生成與n個獨(dú)立測試項(xiàng)目對應(yīng)的n組測試記錄;根據(jù)n組測試記錄,生成測試結(jié)果。
4、根據(jù)本發(fā)明的實(shí)施例,基于公共測試參數(shù),調(diào)用各個獨(dú)立測試項(xiàng)目對待測數(shù)據(jù)庫執(zhí)行1個功能測試,生成與n個獨(dú)立測試項(xiàng)目對應(yīng)的n組測試記錄包括:基于公共測試參數(shù)進(jìn)行修改,生成自用參數(shù),其中,自用參數(shù)為執(zhí)行獨(dú)立測試項(xiàng)目測試的專用配置參數(shù);基于自用參數(shù),調(diào)用獨(dú)立測試項(xiàng)目執(zhí)行功能測試,生成該測試項(xiàng)目的測試記錄,測試記錄為通過或不通過,其中,在測試記錄為不通過的情況下,記錄獨(dú)立測試項(xiàng)目的不通過項(xiàng)目信息;重啟獨(dú)立測試項(xiàng)目所在集群,達(dá)成集群環(huán)境初始化,使得待測數(shù)據(jù)庫恢復(fù)至所述公共測試參數(shù)配置。
5、根據(jù)本發(fā)明的實(shí)施例,基于自用參數(shù),調(diào)用該測試項(xiàng)目執(zhí)行功能測試,生成該測試項(xiàng)目的測試記錄,包括:基于自用參數(shù),調(diào)用每個獨(dú)立測試項(xiàng)目相應(yīng)sql語句或數(shù)據(jù)庫命令實(shí)現(xiàn)功能觸發(fā),與待測數(shù)據(jù)庫或系統(tǒng)內(nèi)的測試相應(yīng)功能實(shí)現(xiàn)驗(yàn)證,生成測試記錄。
6、根據(jù)本發(fā)明的實(shí)施例,調(diào)用原始配置參數(shù)對待測數(shù)據(jù)庫配置進(jìn)行覆蓋,使得待測數(shù)據(jù)庫恢復(fù)原始配置參數(shù)。
7、根據(jù)本發(fā)明的實(shí)施例,在生成公共測試參數(shù)前或在生成測試結(jié)果后,升級或回退n個測試項(xiàng)目所在集群,其中,升級或回退操作用于使得n個測試項(xiàng)目所在集群在測試前后保持同一狀態(tài)。
8、本發(fā)明的第二方面提供了一種數(shù)據(jù)庫自動化功能測試裝置,包括獲取模塊、配置模塊、測試模塊和清理工作模塊,獲取模塊,用于獲取待測數(shù)據(jù)庫的原始配置參數(shù);配置模塊,用于根據(jù)總體測試需求對原始配置參數(shù)進(jìn)行修改,生成公共測試參數(shù),其中,公共測試參數(shù)用于使得測試環(huán)境達(dá)到測試運(yùn)行標(biāo)準(zhǔn);測試模塊,用于n個獨(dú)立測試項(xiàng)目對待測數(shù)據(jù)庫執(zhí)行n個功能測試,生成測試結(jié)果;清理工作模塊,調(diào)用原始配置參數(shù)對待測數(shù)據(jù)庫配置進(jìn)行覆蓋,使得待測數(shù)據(jù)庫恢復(fù)原始配置參數(shù)。
9、本發(fā)明的第三方面提供了一種電子設(shè)備,包括:一個或多個處理器;存儲器,用于存儲一個或多個計(jì)算機(jī)程序,當(dāng)所述一個或多個處理器執(zhí)行一個或多個計(jì)算機(jī)程序時(shí)以實(shí)現(xiàn)根據(jù)上述數(shù)據(jù)庫自動化功能測試方法的步驟。
10、本發(fā)明的第四方面還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序或指令,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)上述數(shù)據(jù)庫自動化功能測試方法的步驟。
11、本發(fā)明的第五方面還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)上述數(shù)據(jù)庫自動化功能測試方法的步驟。
12、根據(jù)本發(fā)明的實(shí)施例,本發(fā)明通過生成公共測試參數(shù),使得每個測試項(xiàng)目都在同一配置環(huán)境下執(zhí)行且互不干擾,而且可以根據(jù)測試需求和軟硬件情況對公共測試參數(shù)進(jìn)行配置;本發(fā)明通過全程自動化將重復(fù)工作,對比工作自動完成,并一測到底,盡快暴露出所有問題以便逐一針對分析解決,在測試結(jié)果中可以體現(xiàn)所有獨(dú)立測試項(xiàng)目的測試記錄信息,同時(shí)通過對獨(dú)立測試項(xiàng)目的靈活增刪,滿足各類測試需求。
1.一種數(shù)據(jù)庫自動化功能測試方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述公共測試參數(shù),調(diào)用n個獨(dú)立測試項(xiàng)目對所述待測數(shù)據(jù)庫執(zhí)行n個功能測試,生成測試結(jié)果包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,基于所述公共測試參數(shù),調(diào)用各個所述獨(dú)立測試項(xiàng)目對所述待測數(shù)據(jù)庫執(zhí)行1個功能測試,生成與所述n個獨(dú)立測試項(xiàng)目對應(yīng)的n組測試記錄包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述自用參數(shù),調(diào)用獨(dú)立測試項(xiàng)目執(zhí)行功能測試,生成測試項(xiàng)目的測試記錄,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述生成測試結(jié)果后,還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
7.一種數(shù)據(jù)庫自動化功能測試裝置,包括獲取模塊、配置模塊和測試模塊,其特征在于,
8.一種電子設(shè)備,其特征在于,包括:
9.一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1~6任一項(xiàng)所述方法的步驟。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,其特征在于,所述計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1~6任一項(xiàng)所述方法的步驟。