專利名稱:一種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法及測(cè)試裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,具體涉及ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法及測(cè)試裝置。
背景技術(shù):
企業(yè)級(jí)信息系統(tǒng)的體系架構(gòu)一般至少包括展示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層等多個(gè)層次,其中數(shù)據(jù)層一般采用成熟的數(shù)據(jù)庫(kù)產(chǎn)品。信息系統(tǒng)的各類應(yīng)用通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,如結(jié)構(gòu)化查詢語(yǔ)言(SQL,Structured Query Language),訪問(wèn)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)分析數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,根據(jù)預(yù)定義的規(guī)則生成執(zhí)行計(jì)劃,并依據(jù)執(zhí)行計(jì)劃執(zhí)行。信息系統(tǒng)運(yùn)行維護(hù)期間,為了提升某些數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行效率,需要進(jìn)行數(shù)據(jù)庫(kù)變更,例如新建或刪除某些索引。數(shù)據(jù)庫(kù)變更可能引起預(yù)期外的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句執(zhí)行計(jì)劃的改變,從而造成數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句執(zhí)行異常,影響系統(tǒng)正常的業(yè)務(wù)功能。為避免上述情況,需要在對(duì)生產(chǎn)環(huán)境執(zhí)行數(shù)據(jù)庫(kù)變更前進(jìn)行性能測(cè)試。該測(cè)試要驗(yàn)證系統(tǒng)(軟件/硬件)變更后的穩(wěn)定性,評(píng)估數(shù)據(jù)庫(kù)變更的收益和風(fēng)險(xiǎn)。如該測(cè)試一方面需要驗(yàn)證變更后原來(lái)存在問(wèn)題的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句性能有改善,比如確實(shí)使用了為之新建的索引;另一方面也需要保證變更未造成其它數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句性能的下降。為完成上述測(cè)試目標(biāo),現(xiàn)有技術(shù)采用的端到端測(cè)試中,在測(cè)試范圍上,不僅需要設(shè)計(jì)與待優(yōu)化的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句直接相關(guān)的業(yè)務(wù)測(cè)試用例,還需要設(shè)計(jì)所有與待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句有關(guān)聯(lián)(比如共用了同一張數(shù)據(jù)庫(kù)表)業(yè)務(wù)的測(cè)試用例。在測(cè)試用例設(shè)計(jì)上,由于多層次的信息系統(tǒng)的架構(gòu)非常復(fù)雜,很難設(shè)計(jì)出良好的用例,能夠準(zhǔn)確覆蓋數(shù)據(jù)庫(kù)變更相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,只能通過(guò)加大測(cè)試用例量來(lái)提高覆蓋度。在測(cè)試環(huán)境搭建上,由于現(xiàn)有技術(shù)是從應(yīng)用角度進(jìn)行測(cè)試,要求測(cè)試環(huán)境必須搭建與生產(chǎn)環(huán)境相同的完整的多層系統(tǒng),并且需要模擬真實(shí)生產(chǎn)運(yùn)營(yíng)中對(duì)于系統(tǒng)的使用強(qiáng)度,因此在硬件環(huán)境和商用測(cè)試軟件投資和維護(hù)上需要巨大成本,并且操作復(fù)雜。可以看出,現(xiàn)有技術(shù)的測(cè)試方案,是從外圍端到端的測(cè)試,由于測(cè)試范圍比較大, 需要設(shè)計(jì)大量的測(cè)試用例,因此測(cè)試案例設(shè)計(jì)復(fù)雜,需要投入大量的人力物力進(jìn)行測(cè)試,且操作耗時(shí),不適合常規(guī)的系統(tǒng)變更。并且,由于測(cè)試案例很難精確覆蓋數(shù)據(jù)庫(kù)變更影響點(diǎn), 測(cè)試的針對(duì)性不強(qiáng)。提高覆蓋率又會(huì)導(dǎo)致測(cè)試工作量進(jìn)ー步増加。另外,搭建與生產(chǎn)環(huán)境相同的測(cè)試環(huán)境也需要投入大量的人力、物力和時(shí)間。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是提供ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法及測(cè)試裝置,用以簡(jiǎn)単,快速,準(zhǔn)確,經(jīng)濟(jì)地實(shí)現(xiàn)數(shù)據(jù)庫(kù)變更效果的測(cè)試。為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供方案如下ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法,包括步驟確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃;在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃;根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。優(yōu)選地,上述的測(cè)試方法中,進(jìn)ー步在測(cè)試環(huán)境下生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃;在生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃之間還包括在所述測(cè)試環(huán)境下,通過(guò)所述數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。優(yōu)選地,上述的測(cè)試方法中,所述根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果,具體包括判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰?,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。優(yōu)選地,上述的測(cè)試方法中,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句還包括數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;所述根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果, 具體包括在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變?nèi)绻窗l(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。優(yōu)選地,上述的測(cè)試方法中,所述預(yù)定條件為在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),執(zhí)行此時(shí)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。優(yōu)選地,上述的測(cè)試方法中,所述第一執(zhí)行計(jì)劃是在生產(chǎn)環(huán)境或測(cè)試環(huán)境下生成;所述第二執(zhí)行計(jì)劃是在測(cè)試環(huán)境下生成。優(yōu)選地,上述的測(cè)試方法中,所述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句為結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句。本發(fā)明實(shí)施例還提供了ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試裝置,包括
語(yǔ)句確定單元,用于確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;第一計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃;第二計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃;評(píng)估單元,用于根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。優(yōu)選地,上述的測(cè)試裝置中,所述第一計(jì)劃生成単元和所述第二計(jì)劃生成単元,分別在測(cè)試環(huán)境下生成所述第 ー執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃;所述測(cè)試裝置還包括數(shù)據(jù)庫(kù)變更單元,用于在生成所述第一執(zhí)行計(jì)劃后,在所述測(cè)試環(huán)境下,通過(guò)所述數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。優(yōu)選地,上述的測(cè)試裝置中,所述評(píng)估単元,具體用于判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰?,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。優(yōu)選地,上述的測(cè)試裝置中,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句還包括數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;所述評(píng)估単元,具體用于在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變?nèi)绻窗l(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。優(yōu)選地,上述的測(cè)試裝置中,所述預(yù)定條件為在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),執(zhí)行此時(shí)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。優(yōu)選地,上述的測(cè)試裝置中,所述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句為結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句。從以上所述可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)庫(kù)變更效果的測(cè)試方法及測(cè)試裝CN 置,具有以下有益效果本發(fā)明實(shí)施例通過(guò)直接分析數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行計(jì)劃,即在數(shù)據(jù)層進(jìn)行直接的變更效果分析,所采用的測(cè)試用例就是具體的待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,即本發(fā)明實(shí)施例是在數(shù)據(jù)層對(duì)“數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行情況”這ー測(cè)試目標(biāo)直接進(jìn)行測(cè)試,從而無(wú)需像現(xiàn)有技術(shù)那樣設(shè)計(jì)業(yè)務(wù)測(cè)試用例,可以大大節(jié)約測(cè)試用例設(shè)計(jì)所消耗的人力和時(shí)間成本,并且直接對(duì)數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行測(cè)試,還可以縮短測(cè)試時(shí)間。同吋,由于本實(shí)施例只是在數(shù)據(jù)層進(jìn)行測(cè)試,在測(cè)試環(huán)境下生成所述第二執(zhí)行計(jì)劃時(shí),無(wú)需像現(xiàn)有技術(shù)那樣搭建與生產(chǎn)環(huán)境相同的完整的多層系統(tǒng),只需要在數(shù)據(jù)層引入生產(chǎn)環(huán)境的相關(guān)配置數(shù)據(jù),就可以達(dá)到較高仿真度,從而可以簡(jiǎn)化測(cè)試環(huán)境搭建并減少所 —成本。
圖1為本發(fā)明實(shí)施例所述數(shù)據(jù)庫(kù)變更效果的測(cè)試方法的流程示意圖;圖2為本發(fā)明實(shí)施例所述數(shù)據(jù)庫(kù)變更效果的測(cè)試裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)存在的上述問(wèn)題,本發(fā)明實(shí)施例直接針對(duì)測(cè)試的目標(biāo)數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行情況,進(jìn)行測(cè)試,從而給出了ー種簡(jiǎn)単,快速,準(zhǔn)確,經(jīng)濟(jì)的測(cè)試方法及裝置,能夠解決現(xiàn)有技術(shù)在數(shù)據(jù)庫(kù)變更測(cè)試中存在的不足。以下將結(jié)合附圖,通過(guò)具體實(shí)施例對(duì)本發(fā)明做進(jìn)ー步的說(shuō)明。請(qǐng)參照?qǐng)D1,本發(fā)明實(shí)施例所述數(shù)據(jù)庫(kù)變更效果的測(cè)試方法,包括以下步驟步驟11,確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。本實(shí)施例中,所述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句具體可以是SQL語(yǔ)句。步驟12,在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃。步驟13,通過(guò)數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。這里,數(shù)據(jù)庫(kù)變更優(yōu)選地是在測(cè)試環(huán)境下進(jìn)行。步驟14,在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃。步驟15,根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效
ο上述步驟12、14中,第一、第二執(zhí)行計(jì)劃是直接在數(shù)據(jù)層生成的。具體的,所述第一執(zhí)行計(jì)劃是可以在生產(chǎn)環(huán)境或測(cè)試環(huán)境的數(shù)據(jù)層生成,所述第二執(zhí)行計(jì)劃是在測(cè)試環(huán)境的數(shù)據(jù)層生成。在使用測(cè)試環(huán)境生成執(zhí)行計(jì)劃之前,需要將生產(chǎn)環(huán)境數(shù)據(jù)和相關(guān)配置信息全部導(dǎo)入測(cè)試環(huán)境數(shù)據(jù)庫(kù)后,由測(cè)試數(shù)據(jù)庫(kù)生成執(zhí)行計(jì)劃。測(cè)試環(huán)境不需要搭建上層的展示層和業(yè)務(wù)邏輯層,僅需要搭建數(shù)據(jù)層即可。這里,后續(xù)步驟15對(duì)執(zhí)行計(jì)劃進(jìn)行評(píng)估時(shí),是通過(guò)對(duì)每條語(yǔ)句的第一、第二執(zhí)行計(jì)劃進(jìn)行比對(duì)的方式進(jìn)行,為了方便后續(xù)步驟15中的比對(duì),預(yù)選統(tǒng)ー執(zhí)行計(jì)劃的格式,使得第一、第二執(zhí)行計(jì)劃具有相同的數(shù)據(jù)格式,從而可以直
7接由機(jī)器進(jìn)行分析比對(duì)。上述步驟15中,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果具體是判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰牵瑒t判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。例如,在數(shù)據(jù)庫(kù)變更時(shí),為解決某待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句執(zhí)行較慢的問(wèn)題,為該待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句新建了索引,希望在數(shù)據(jù)庫(kù)變更后該語(yǔ)句執(zhí)行時(shí)能夠使用該索引,那么預(yù)期改變就是該語(yǔ)句的第二執(zhí)行計(jì)劃使用了該新建的索引,據(jù)此可以判斷第二執(zhí)行計(jì)劃是否發(fā)生預(yù)期改變。這里,需所述判斷是針對(duì)待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句中的每一條語(yǔ)句進(jìn)行判斷,只有在所有待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行計(jì)劃都達(dá)到了預(yù)期改變后,才判斷數(shù)據(jù)庫(kù)變更測(cè)試通過(guò),否則認(rèn)為數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。從以上所述可以看出,現(xiàn)有技術(shù)則是通過(guò)提供具體的業(yè)務(wù)測(cè)試用例,從應(yīng)用角度進(jìn)行測(cè)試;而本實(shí)施例的上述方案則是通過(guò)直接分析數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行計(jì)劃,即在數(shù)據(jù)層進(jìn)行直接的變更效果分析,所采用的測(cè)試用例就是具體的待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句, 即本實(shí)施例是在數(shù)據(jù)層對(duì)“數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行情況”這ー測(cè)試目標(biāo)直接進(jìn)行測(cè)試,從而無(wú)需像現(xiàn)有技術(shù)那樣設(shè)計(jì)業(yè)務(wù)測(cè)試用例,可以大大節(jié)約測(cè)試用例設(shè)計(jì)所消耗的人力和時(shí)間成本,并且直接對(duì)數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行測(cè)試,還可以縮短測(cè)試時(shí)間。同吋,由于本實(shí)施例只是在數(shù)據(jù)層進(jìn)行測(cè)試,如果在測(cè)試環(huán)境下生成所述第二執(zhí)行計(jì)劃時(shí),無(wú)需像現(xiàn)有技術(shù)那樣搭建與生產(chǎn)環(huán)境相同的完整的多層系統(tǒng),只需要在數(shù)據(jù)層引入生產(chǎn)環(huán)境的相關(guān)配置數(shù)據(jù), 就可以達(dá)到較高仿真度,從而可以簡(jiǎn)化測(cè)試環(huán)境搭建并減少所需成本。在通過(guò)數(shù)據(jù)庫(kù)變更,對(duì)某些數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化吋,通常不希望這種數(shù)據(jù)庫(kù)的變更對(duì)其它未優(yōu)化的語(yǔ)句造成影響,即期望未優(yōu)化的語(yǔ)句的執(zhí)行計(jì)劃在數(shù)據(jù)庫(kù)變更前后并未發(fā)生改變。為此,本發(fā)明還可以進(jìn)一歩在測(cè)試過(guò)程中對(duì)這些未優(yōu)化的語(yǔ)句進(jìn)行測(cè)試,以評(píng)估數(shù)據(jù)庫(kù)變更的效果。為此,本發(fā)明另一實(shí)施例也提供了ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法,包括以下步驟步驟21,確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句、以及數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。這里,在對(duì)部分?jǐn)?shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化而進(jìn)行數(shù)據(jù)庫(kù)變更時(shí),上述部分?jǐn)?shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句就是所述的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,除上述部分?jǐn)?shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句外的其它數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句都是數(shù)據(jù)庫(kù)變更并未涉及到的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。本實(shí)施例中進(jìn)ー步從數(shù)據(jù)庫(kù)變更并未涉及到的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句中抽選出ー些符合預(yù)定條件語(yǔ)句,作為所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,以測(cè)試這些語(yǔ)句是否未因數(shù)據(jù)庫(kù)變更而發(fā)生執(zhí)行計(jì)劃的變更。具體的預(yù)定條件可以是,在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),執(zhí)行次數(shù)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,這里的預(yù)定業(yè)務(wù)可以是系統(tǒng)關(guān)鍵業(yè)務(wù)、核心業(yè)務(wù)、重點(diǎn)業(yè)務(wù)。只要滿足上述條件中的任意一種,即可將該語(yǔ)句抽選出來(lái)作為抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。上述抽選的原則,一方面要求抽選出的語(yǔ)句應(yīng)盡可能全面的反映生產(chǎn)環(huán)境的實(shí)際運(yùn)行情況,另一方面,可以依據(jù)測(cè)試工作量,時(shí)間進(jìn)度安排等約束條件,選擇合理的抽選的語(yǔ)句里。步驟22,在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃。步驟23,通過(guò)數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。步驟對(duì),在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃。這里,上述步驟22、24中,第一、第二執(zhí)行計(jì)劃是直接在數(shù)據(jù)層生成的。具體的,所述第一執(zhí)行計(jì)劃是可以在生產(chǎn)環(huán)境或測(cè)試環(huán)境的數(shù)據(jù)層生成,所述第二執(zhí)行計(jì)劃是在測(cè)試環(huán)境的數(shù)據(jù)層生成。步驟25,根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效
^N ο上述步驟25中,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果具體是首先,判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生預(yù)期改變?cè)谒龃齼?yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變?nèi)绻窗l(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。這里,如果抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生改變, 則需要進(jìn)ー步評(píng)估這種改變是否對(duì)該抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行帶來(lái)負(fù)面影響。具體的評(píng)估方式可以利用現(xiàn)有的各種數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句執(zhí)行計(jì)劃分析的工具,評(píng)估重點(diǎn)在于執(zhí)行計(jì)劃的磁盤(pán)讀寫(xiě)、CPU占用等多個(gè)重要緯度。例如,對(duì)于Oracle數(shù)據(jù)庫(kù),可利用其自帶的分析工具進(jìn)行分析,通過(guò)分析執(zhí)行時(shí)間、磁盤(pán)讀寫(xiě)次數(shù)等的變化,獲得對(duì)執(zhí)行計(jì)劃的代價(jià)(Cost) 的一個(gè)打分結(jié)果,據(jù)此判斷是否存在負(fù)面影響。同樣的,這里需要對(duì)待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行計(jì)劃逐條進(jìn)行分析評(píng)估。只有在待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的執(zhí)行計(jì)劃都達(dá)到了預(yù)期改變,同時(shí)抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句未發(fā)生改變、或者雖發(fā)生改變但未帶來(lái)負(fù)面影響時(shí),才判斷數(shù)據(jù)庫(kù)變更測(cè)試通過(guò),否則認(rèn)為數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。基于上述的測(cè)試方法,本發(fā)明實(shí)施例還提供了ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試裝置, 如圖2所示,該測(cè)試裝置具體包括語(yǔ)句確定單元,用于確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;第一計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃;第二計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃;評(píng)估單元,用于根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。優(yōu)選地,所述第一計(jì)劃生成単元和所述第二計(jì)劃生成単元,分別在測(cè)試環(huán)境下生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃。作為ー種優(yōu)選實(shí)施方式,上述評(píng)估單元,具體用于判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰?,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。作為另ー種優(yōu)選實(shí)施方式,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句還包括數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。所述評(píng)估単元,具體用于在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變?nèi)绻窗l(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。優(yōu)選地,上述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句為結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句,上述預(yù)定條件為在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),執(zhí)行此時(shí)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者,預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。以上所述僅是本發(fā)明的實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法,其特征在干,包括步驟確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃; 在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃; 根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。
2.如權(quán)利要求1所述的測(cè)試方法,其特征在干,進(jìn)ー步在測(cè)試環(huán)境下生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃;在生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃之間還包括在所述測(cè)試環(huán)境下,通過(guò)所述數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。
3.如權(quán)利要求1所述的測(cè)試方法,其特征在干,所述根據(jù)所述第一執(zhí)行計(jì)劃和所述第 ニ執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果,具體包括判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰?,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。
4.如權(quán)利要求1所述的測(cè)試方法,其特征在干,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句還包括數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;所述根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果,具體包括在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變 如果未發(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。
5.如權(quán)利要求4所述的測(cè)試方法,其特征在干,所述預(yù)定條件為 在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),執(zhí)行此時(shí)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。
6.如權(quán)利要求1所述的測(cè)試方法,其特征在干, 所述第一執(zhí)行計(jì)劃是在生產(chǎn)環(huán)境或測(cè)試環(huán)境下生成; 所述第二執(zhí)行計(jì)劃是在測(cè)試環(huán)境下生成。
7.如權(quán)利要求1所述的測(cè)試方法,其特征在干, 所述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句為結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句。
8.ー種數(shù)據(jù)庫(kù)變更效果的測(cè)試裝置,其特征在干,包括語(yǔ)句確定單元,用于確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;第一計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃;第二計(jì)劃生成単元,用于在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃;評(píng)估單元,用于根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。
9.如權(quán)利要求8所述的測(cè)試裝置,其特征在干,所述第一計(jì)劃生成単元和所述第二計(jì)劃生成単元,分別在測(cè)試環(huán)境下生成所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃; 所述測(cè)試裝置還包括數(shù)據(jù)庫(kù)變更單元,用于在生成所述第一執(zhí)行計(jì)劃后,在所述測(cè)試環(huán)境下,通過(guò)所述數(shù)據(jù)庫(kù)變更,對(duì)所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句進(jìn)行優(yōu)化。
10.如權(quán)利要求8所述的測(cè)試裝置,其特征在干,所述評(píng)估単元,具體用于判斷所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生了預(yù)期改變?nèi)羰?,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò)。
11.如權(quán)利要求8所述的測(cè)試裝置,其特征在干,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句還包括數(shù)據(jù)庫(kù)變更并未涉及到的、但符合預(yù)定條件的抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;所述評(píng)估単元,具體用干在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃未發(fā)生預(yù)期改變吋,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);在所述待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃發(fā)生了預(yù)期改變吋,判斷所述抽選數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃相對(duì)于第一執(zhí)行計(jì)劃是否發(fā)生改變 如果未發(fā)生改變,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò);如果發(fā)生改變,則進(jìn)ー步評(píng)估所述改變是否帶來(lái)負(fù)面影響若是,則判斷所述數(shù)據(jù)庫(kù)變更測(cè)試未通過(guò);否則,判斷所述數(shù)據(jù)庫(kù)變更測(cè)試通過(guò)。
12.如權(quán)利要求11所述的測(cè)試裝置,其特征在干,所述預(yù)定條件為 在預(yù)定時(shí)間內(nèi),執(zhí)行時(shí)間達(dá)到第一門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),執(zhí)行此時(shí)達(dá)到第二門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),磁盤(pán)讀寫(xiě)次數(shù)達(dá)到第三門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 在預(yù)定時(shí)間內(nèi),CPU占用時(shí)間達(dá)到第四門(mén)限的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;或者, 預(yù)定業(yè)務(wù)相關(guān)的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句。
13.如權(quán)利要求8所述的測(cè)試裝置,其特征在干, 所述數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句為結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)庫(kù)變更效果的測(cè)試方法及測(cè)試裝置。其中,所述測(cè)試方法包括確定待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句,所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句包括所述數(shù)據(jù)庫(kù)變更所涉及到的待優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句;在所述數(shù)據(jù)庫(kù)變更前,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第一執(zhí)行計(jì)劃;在所述數(shù)據(jù)庫(kù)變更后,生成所述待測(cè)試的數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)句的第二執(zhí)行計(jì)劃;根據(jù)所述第一執(zhí)行計(jì)劃和所述第二執(zhí)行計(jì)劃,評(píng)估所述數(shù)據(jù)庫(kù)變更的效果。本發(fā)明能夠用以簡(jiǎn)單,快速,準(zhǔn)確,經(jīng)濟(jì)地實(shí)現(xiàn)數(shù)據(jù)庫(kù)變更效果的測(cè)試。
文檔編號(hào)G06F11/00GK102567351SQ201010596130
公開(kāi)日2012年7月11日 申請(qǐng)日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者倪彥彪, 崔希寧, 王民華 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)北京有限公司