本發明涉及數據庫測試,尤其涉及一種混沌sql語句全自動化測試系統及方法。
背景技術:
1、當前,隨著數據庫產品功能越來越豐富,新增功能越來越龐大的前提下,對數據庫測試人員提出了更高的要求。尤其是對數據庫的結構化查詢語言sql語法新功能進行測試的時候,在針對需求的測試用例設計中,測試人員很難做到生產同時兼顧全面、復雜度及關聯性等多方面的測試用例,同時也缺乏統計手段。
2、目前市面上或者開源社區中,關注sql執行測試的傳統sql自動生成工具分為兩種方向,一種重視結果的正確性和包含性,一種則更加重視語法隨機及復雜度。這兩種sql工具從理論上都無法保證測試場景的充分覆蓋,未進行有效的統計驗證。
技術實現思路
1、本發明提供了一種混沌sql語句全自動化測試系統及方法,可以通過前反饋機制動態調整測試配置,從而對目標sql語句的生成進行優化調整,以最大限度確保對目標sql語句的測試覆蓋。
2、第一方面,本發明實施例提供了一種混沌sql語句全自動化測試系統,所述混沌sql語句全自動化測試系統包括測試配置管理模塊、測試任務執行模塊以及統計日志評估模塊;其中,
3、所述測試配置管理模塊,用于獲取測試配置文件,并將所述測試配置文件發送至所述測試任務執行模塊;
4、所述測試任務執行模塊,用于根據所述測試配置文件生成目標sql語句,并執行所述目標sql語句;在執行所述目標sql語句的過程中,生成包括所述目標sql語句的數據特征的統計日志,并將所述統計日志發送至所述統計日志評估模塊;
5、所述統計日志評估模塊,用于對所述統計日志進行動態評估,并將評估結果發送至所述測試配置管理模塊,以使所述測試配置管理模塊根據所述評估結果對所述測試配置文件進行調整。
6、第二方面,本發明實施例還提供了一種混沌sql語句全自動化測試方法,應用于混沌sql語句全自動化測試系統,所述方法包括:
7、通過測試配置管理模塊獲取測試配置文件,并將所述測試配置文件發送至所述測試任務執行模塊;
8、通過所述測試任務執行模塊根據所述測試配置文件生成目標sql語句,并執行所述目標sql語句;在執行所述目標sql語句的過程中,生成包括所述目標sql語句的數據特征的統計日志,并將所述統計日志發送至所述統計日志評估模塊;
9、通過所述統計日志評估模塊對所述統計日志進行動態評估,并將評估結果發送至所述測試配置管理模塊,以使所述測試配置管理模塊根據所述評估結果對所述測試配置文件進行調整。
10、本發明實施例提供了一種混沌sql語句全自動化測試系統,所述系統包括測試配置管理模塊、測試任務執行模塊以及統計日志評估模塊。其中,所述測試配置管理模塊,用于獲取測試配置文件,并將所述測試配置文件發送至所述測試任務執行模塊;所述測試任務執行模塊,用于根據所述測試配置文件生成目標sql語句,并執行所述目標sql語句;在執行所述目標sql語句的過程中,生成包括所述目標sql語句的數據特征的統計日志,并將所述統計日志發送至所述統計日志評估模塊;所述統計日志評估模塊,用于對所述統計日志進行動態評估,并將評估結果發送至所述測試配置管理模塊,以使所述測試配置管理模塊根據所述評估結果對所述測試配置文件進行調整。通過對包括測試任務執行模塊生成且執行的目標sql語句的數據特征的統計日志進行動態評估,并根據評估結果對用于生成目標sql語句的測試配置文件進行調整,可以實現通過前反饋機制動態調整測試配置,從而對目標sql語句的生成進行優化調整,以最大限度確保對目標sql語句的測試覆蓋。
11、應當理解,本部分所描述的內容并非旨在標識本發明的實施例的關鍵或重要特征,也不用于限制本發明的范圍。本發明的其它特征將通過以下的說明書而變得容易理解。
1.一種混沌sql語句全自動化測試系統,其特征在于,所述系統包括:測試配置管理模塊、測試任務執行模塊以及統計日志評估模塊;其中,
2.根據權利要求1所述的系統,其特征在于,所述測試配置文件包括函數配置文件、概率配置文件以及語法配置文件;所述測試配置管理模塊包括函數配置單元、概率配置單元以及語法配置單元,其中,
3.根據權利要求1所述的系統,其特征在于,所述測試任務執行模塊包括元數據節點、語句生成節點、語句執行節點以及語句統計節點,其中,
4.根據權利要求3所述的系統,其特征在于,所述元數據節點還用于:
5.根據權利要求4所述的系統,其特征在于,所述語句生成節點具體用于:
6.根據權利要求3所述的系統,其特征在于,所述執行結果包括第一執行結果、第二執行結果以及第三執行結果,所述語句執行節點包括數據庫客戶端、驅動程序以及帶內存檢測工具的可執行文件,其中,
7.根據權利要求6所述的系統,其特征在于,所述系統還包括測試流程校驗模塊,所述測試流程校驗模塊包括功能性校驗單元、執行計劃校驗單元以及穩定性校驗單元,其中,
8.根據權利要求1所述的系統,其特征在于,所述統計日志評估模塊具體用于:
9.根據權利要求1所述的系統,其特征在于,所述統計日志評估模塊還用于:
10.一種混沌sql語句全自動化測試方法,其特征在于,應用于混沌sql語句全自動化測試系統,所述方法包括: