專利名稱:一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在測試過程中統(tǒng)計(jì)測試覆蓋率問題,尤其的說,涉及一種基 于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法。
背景技術(shù):
在測試過程中,測試覆蓋率無疑是要重點(diǎn)關(guān)注的,對(duì)于OMCR( Operation Maintenance Center for Radio )這種以數(shù)據(jù)庫才喿作為主的系統(tǒng),數(shù)據(jù)庫調(diào)用情 況在一定程度上反映了系統(tǒng)應(yīng)用功能的執(zhí)行率。OMCR系統(tǒng)中調(diào)用的數(shù)據(jù) 庫服務(wù)有近1000個(gè),而且還支持多種數(shù)據(jù)庫類型,手工統(tǒng)計(jì)所有l(wèi)t據(jù)庫服 務(wù)的調(diào)用情況無疑是非常困難的,還要區(qū)分不同的數(shù)據(jù)庫類型和環(huán)境,人工 統(tǒng)計(jì)的工作量會(huì)成倍增長。
如果在OMCR系統(tǒng)的功能分支上打樁,在測試過程中執(zhí)行到該功能時(shí) 調(diào)用統(tǒng)計(jì)函數(shù)把相應(yīng)操作記錄下來,可以根據(jù)統(tǒng)計(jì)結(jié)果得出測試覆蓋率,但 這樣不僅需要在原有系統(tǒng)上進(jìn)行較大改動(dòng),而且會(huì)對(duì)系統(tǒng)的正常運(yùn)行和穩(wěn)定 性帶來一定影響。
由于系統(tǒng)日志中記錄了所有數(shù)據(jù)庫服務(wù)的調(diào)用情況,從日志中收集有用 信息是一個(gè)可行的方法,但日志中的信息非常龐雜,統(tǒng)計(jì)和分析的工作量仍 然很大,人工分析的效率很低。
發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問題在于提供一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率 統(tǒng)計(jì)和分析的方法,以解決現(xiàn)有技術(shù)中由于系統(tǒng)日志中記錄了所有數(shù)據(jù)庫服 務(wù)的調(diào)用情況,從日志中收集有用信息是一個(gè)可行的方法,但日志中的信息 非常龐雜,統(tǒng)計(jì)和分析的工作量仍然很大,人工分析的效率很低的問題。為了解決上述問題,本發(fā)明提供了一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)
計(jì)和分析的方法,其特征在于,包括以下步驟
(1) 根據(jù)系統(tǒng)運(yùn)行日志,統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情
況,根據(jù)記錄的各個(gè)數(shù)據(jù)庫服務(wù)調(diào)用情況,計(jì)算相關(guān)參數(shù)并輸出統(tǒng)計(jì)結(jié)果;
(2) 4艮據(jù)步驟(1)中統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,
找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),計(jì)算出數(shù)據(jù)庫服務(wù)調(diào)用的覆蓋率并輸出結(jié)果。
本發(fā)明所述的方法,其中,所述計(jì)算相關(guān)參數(shù),包括該時(shí)間段內(nèi)調(diào)用 過的數(shù)據(jù)庫服務(wù)、調(diào)用成功次數(shù)、最大執(zhí)行時(shí)間、最小執(zhí)行時(shí)間、平均執(zhí)行 時(shí)間、調(diào)用失敗次數(shù)、未執(zhí)行過的數(shù)據(jù)庫服務(wù)。
其中,所述步驟(1 )進(jìn)一步還包括根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用執(zhí)行 成功、執(zhí)行失敗情況,輸出數(shù)據(jù)庫調(diào)用執(zhí)行報(bào)告和圖形分析報(bào)告;根據(jù)各個(gè) 數(shù)據(jù)庫服務(wù)的最大執(zhí)行時(shí)間、最小執(zhí)行時(shí)間、平均執(zhí)行時(shí)間,輸出數(shù)據(jù)庫調(diào) 用效率報(bào)告。
本發(fā)明所述的方法,其中,步驟(l)中所述統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù) 據(jù)庫服務(wù)的調(diào)用情況,進(jìn)一步為利用關(guān)鍵字的匹配和過濾,統(tǒng)計(jì)從某個(gè)時(shí)間 段各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況中篩選出的調(diào)用開始標(biāo)志信息、調(diào)用開始時(shí)間 信息、調(diào)用成功標(biāo)志信息、調(diào)用成功時(shí)間信息、調(diào)用失敗標(biāo)志信息、調(diào)用失 敗時(shí)間信息。
其中,步驟(2)中所述找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),進(jìn)一步包括找出 未執(zhí)行過的數(shù)據(jù)庫服務(wù),分析未執(zhí)行過的數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊及其調(diào)用 類型。
其中,所述輸出結(jié)果,還包括所有未執(zhí)行過的數(shù)據(jù)庫服務(wù)及其所屬應(yīng)用 模塊和調(diào)用類型。
所述步驟(2)進(jìn)一步還包括根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊,進(jìn) 行排序匯總,輸出數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊功能執(zhí)行報(bào)告和圖形分析報(bào)告; 根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用類型,輸出未執(zhí)行數(shù)據(jù)庫服務(wù)覆蓋率分析報(bào)告。
本發(fā)明所述的方法,其中,所述步驟(1 )之前進(jìn)一步包括從系統(tǒng)配 置文件中獲取數(shù)據(jù)庫用戶信息,并根據(jù)數(shù)據(jù)庫進(jìn)程運(yùn)行情況,區(qū)分不同數(shù)據(jù)庫類型,同時(shí)連接數(shù)據(jù)庫,從數(shù)據(jù)庫表中獲取所有的數(shù)據(jù)庫服務(wù)。
與現(xiàn)有技術(shù)相比較,本發(fā)明解決了現(xiàn)有技術(shù)中,日志中的信息非常龐雜, 統(tǒng)計(jì)和分析的工作量仍然很大,人工分析的效率很低的問題。
圖1是本發(fā)明實(shí)施例所述的基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析
的方法的大致流程圖2是圖1所述的基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法中統(tǒng)
計(jì)的具體流程圖3是圖1所述的基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法中分
析的具體流程圖。
具體實(shí)施例方式
本發(fā)明在這里提供了一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的 方法,以解決現(xiàn)有技術(shù)中由于系統(tǒng)日志中記錄了所有數(shù)據(jù)庫服務(wù)的調(diào)用情 況,從日志中收集有用信息是一個(gè)可行的方法,但日志中的信息非常龐雜, 統(tǒng)計(jì)和分析的工作量仍然很大,人工分析的效率很低的問題。以下對(duì)具體實(shí) 施方式進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
如圖1所示,為基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法的大致
流程圖,大致步-驟如下
步驟IOI,根據(jù)系統(tǒng)運(yùn)行日志,統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào) 用情況,根據(jù)記錄的各個(gè)數(shù)據(jù)庫服務(wù)調(diào)用情況,計(jì)算相關(guān)參數(shù)并輸出統(tǒng)計(jì)結(jié) 果;
步驟102,根據(jù)步驟101中統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情 況,找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),計(jì)算出數(shù)據(jù)庫服務(wù)調(diào)用的覆蓋率并輸出結(jié) 果。
結(jié)合圖2所示,其中步驟101具體包括如下步驟 步驟201,從系統(tǒng)配置文件中獲取數(shù)據(jù)庫用戶信息。步驟202,根據(jù)數(shù)據(jù)庫進(jìn)程運(yùn)行情況,區(qū)分不同數(shù)據(jù)庫類型,連接數(shù)據(jù) 庫,從數(shù)據(jù)庫表中獲取所有數(shù)據(jù)庫服務(wù)。
步驟203,利用關(guān)4建字匹配和過濾,分析某個(gè)時(shí)間段的系統(tǒng)日志,從中 篩選出調(diào)用開始標(biāo)志、調(diào)用開始時(shí)間、調(diào)用成功標(biāo)志、調(diào)用成功時(shí)間、調(diào)用 失敗標(biāo)志、調(diào)用失敗時(shí)間等有用信息,統(tǒng)計(jì)該時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào) 用情況。
步驟204,根據(jù)記錄的數(shù)據(jù)庫服務(wù)調(diào)用情況,計(jì)算相關(guān)參數(shù),輸出統(tǒng)計(jì) 結(jié)果。其中相關(guān)參數(shù)包含該時(shí)間段內(nèi)調(diào)用過的數(shù)據(jù)庫服務(wù)、調(diào)用成功次數(shù)、 最大執(zhí)行時(shí)間、最小執(zhí)行時(shí)間、平均執(zhí)行時(shí)間、調(diào)用失敗次數(shù)、未執(zhí)行過的 數(shù)據(jù)庫服務(wù)。例如
Executed diffs service:(在統(tǒng)計(jì)時(shí)間段內(nèi),調(diào)用過的數(shù)據(jù)庫服務(wù)(包括成 功和失敗的))
ServiceNo SuccessNum ( MaxTime MinTime AvgTime ) Failur6Num
1300o扁0
2200o扁0
4200o扁0
700o細(xì)0
93246100.01027
1024310o扁0
152400o扁0
16220l扁0
20024 20026 20031 40022
6 6 39 1
1
0
1 0
0 0 0 0
0.167 0扁 0.026 0扁
0
0
1 0
7Unexecuted diffs services(在統(tǒng)計(jì)時(shí)間段內(nèi),沒有執(zhí)行過的數(shù)據(jù)庫服務(wù)):
100
101
Unexecuted diffs services number (在統(tǒng)計(jì)時(shí)間^殳內(nèi),沒有4;M亍過的凄史寺居 庫服務(wù)總數(shù))764
這里的ServiceNo為數(shù)據(jù)庫服務(wù)的序列號(hào),SuccessNum為調(diào)用成功次 凄t, MaxTime為最大才丸行時(shí)間,MinTime為最小扭J亍時(shí)間,AvgTime為平 均執(zhí)行時(shí)間,F(xiàn)ailureNum為調(diào)用失敗次數(shù)。
其中,步驟204輸出的結(jié)果可以用于進(jìn)一步分析根據(jù)各個(gè)數(shù)據(jù)庫服務(wù) 的調(diào)用執(zhí)行成功、執(zhí)行失敗情況,輸出數(shù)據(jù)庫調(diào)用執(zhí)行報(bào)告和圖形分析報(bào)告; 根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的最大執(zhí)行時(shí)間、最小執(zhí)行時(shí)間、平均執(zhí)行時(shí)間,輸出 數(shù)據(jù)庫調(diào)用效率報(bào)告。這里主要用于故障分析,有效提高測試效率。
結(jié)合圖3,其中步驟102具體包括如下步驟
步驟301,根據(jù)統(tǒng)計(jì)模塊生成的統(tǒng)計(jì)結(jié)果,取未執(zhí)行數(shù)據(jù)庫服務(wù)的交集。 步驟302,分析未執(zhí)行數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊及其調(diào)用類型。 步驟303,計(jì)算數(shù)據(jù)庫服務(wù)調(diào)用的覆蓋率。
步驟3(H,輸出分析結(jié)果。包含所有未執(zhí)行過的數(shù)據(jù)庫服務(wù)及其所屬 應(yīng)用^t塊和該數(shù)據(jù)庫服務(wù)的調(diào)用類型。例如
All of unexecuted diffs service:(所有未才丸4亍過的凄t氺居庫月良務(wù))
ServiceNo module type
5 CM sql
40021 FM proc 40023 FM sql40024FMsql
40025FMsql
40026兩sql
40027FMspecial
—count: 187—
Coverage: 80.54% (數(shù)據(jù)庫服務(wù)調(diào)用覆蓋率)
這里的ServiceNo為未執(zhí)行數(shù)據(jù)庫服務(wù)的序列號(hào),module為該未執(zhí)行數(shù) 據(jù)庫服務(wù)所屬應(yīng)用模塊,type為該未執(zhí)行數(shù)據(jù)庫服務(wù)所屬調(diào)用類型。
其中,步驟304輸出的結(jié)果可以用于進(jìn)一步分析根據(jù)各個(gè)數(shù)據(jù)庫服務(wù) 所屬應(yīng)用模塊,進(jìn)行排序匯總,輸出應(yīng)用模塊功能執(zhí)行報(bào)告和圖形分析報(bào)告; 根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用類型,輸出未執(zhí)行數(shù)據(jù)庫服務(wù)覆蓋率分析報(bào)告。
通過以上內(nèi)容,就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫調(diào)用覆蓋率的統(tǒng)計(jì)和分析。在測試 過程中,可以在服務(wù)器上設(shè)置定時(shí)任務(wù),每天自動(dòng)調(diào)用統(tǒng)計(jì)模塊,統(tǒng)計(jì)前一 天的系統(tǒng)日志中數(shù)據(jù)庫服務(wù)的調(diào)用情況,生成統(tǒng)計(jì)結(jié)果。關(guān)注統(tǒng)計(jì)結(jié)果中數(shù) 據(jù)庫服務(wù)的執(zhí)行情況,可以及時(shí)發(fā)現(xiàn)調(diào)用失敗的數(shù)據(jù)庫服務(wù),以便排查具體 的錯(cuò)誤原因。每隔一段時(shí)間,調(diào)用分析模塊,匯總每日統(tǒng)計(jì)結(jié)果中未執(zhí)行的 數(shù)據(jù)庫服務(wù),掌握數(shù)據(jù)庫服務(wù)調(diào)用覆蓋率。通過分析未執(zhí)行的數(shù)據(jù)庫服務(wù), 找出未調(diào)用的原因,補(bǔ)充測試方案并設(shè)計(jì)相應(yīng)的測試規(guī)程,從而提高整個(gè)系 統(tǒng)的測試覆蓋率。
本發(fā)明所述方法基于系統(tǒng)運(yùn)行日志進(jìn)行覆蓋率統(tǒng)計(jì),屏蔽了不同的數(shù)據(jù) 庫類型,具有較強(qiáng)的通用性和可維護(hù)性,使用起來非常方便;還可以做為日 志分析工具,統(tǒng)計(jì)測試覆蓋率,也可以用于自動(dòng)化測試,在系統(tǒng)中定期運(yùn)行, 跟蹤數(shù)據(jù)庫服務(wù)調(diào)用結(jié)果,用于故障排查。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的 但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法,其特征在于,包括以下步驟(1)根據(jù)系統(tǒng)運(yùn)行日志,統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,根據(jù)記錄的各個(gè)數(shù)據(jù)庫服務(wù)調(diào)用情況,計(jì)算相關(guān)參數(shù)并輸出統(tǒng)計(jì)結(jié)果;(2)根據(jù)步驟(1)中統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),計(jì)算出數(shù)據(jù)庫服務(wù)調(diào)用的覆蓋率并輸出結(jié)果。
2、 如權(quán)利要求l所述的方法,其特征在于,所述計(jì)算相關(guān)參數(shù),包括 該時(shí)間段內(nèi)調(diào)用過的數(shù)據(jù)庫服務(wù)、調(diào)用成功次數(shù)、最大執(zhí)行時(shí)間、最小執(zhí)行 時(shí)間、平均執(zhí)行時(shí)間、調(diào)用失敗次數(shù)、未執(zhí)行過的數(shù)據(jù)庫服務(wù)。
3、 如權(quán)利要求2所述的方法,其特征在于,所述步驟(l)進(jìn)一步還包 括根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用執(zhí)行成功、執(zhí)行失敗情況,輸出數(shù)據(jù)庫調(diào)用 執(zhí)行報(bào)告和圖形分析報(bào)告;根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的最大執(zhí)行時(shí)間、最小執(zhí)行 時(shí)間、平均執(zhí)行時(shí)間,輸出數(shù)據(jù)庫調(diào)用效率報(bào)告。
4、 如權(quán)利要求1所述的方法,其特征在于,步驟(1 )中所述統(tǒng)計(jì)某個(gè) 時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,進(jìn)一步為利用關(guān)鍵字的匹配和過濾, 統(tǒng)計(jì)從某個(gè)時(shí)間段各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況中篩選出的調(diào)用開始標(biāo)志信 息、調(diào)用開始時(shí)間信息、調(diào)用成功標(biāo)志信息、調(diào)用成功時(shí)間信息、調(diào)用失敗 標(biāo)志信息、調(diào)用失敗時(shí)間信息。
5、 如權(quán)利要求l所述的方法,其特征在于,步驟(2)中所述找出未執(zhí) 行過的數(shù)據(jù)庫服務(wù),進(jìn)一步包括找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),分析未執(zhí)行過 的數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊及其調(diào)用類型。
6、 如權(quán)利要求5所述的方法,其特征在于,所述輸出結(jié)果,還包括所 有未執(zhí)行過的數(shù)據(jù)庫服務(wù)及其所屬應(yīng)用模塊和調(diào)用類型。
7、 如權(quán)利要求6所述的方法,其特征在于,所述步驟(2)進(jìn)一步還包 括根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊,進(jìn)行排序匯總,輸出數(shù)據(jù)庫服務(wù)所屬應(yīng)用模塊功能執(zhí)行報(bào)告和圖形分析報(bào)告;根據(jù)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用類 型,輸出未執(zhí)行數(shù)據(jù)庫服務(wù)覆蓋率分析報(bào)告。
8、如權(quán)利要求l所述的方法,其特征在于,所述步驟(l)之前進(jìn)一步 包括從系統(tǒng)配置文件中獲取數(shù)據(jù)庫用戶信息,并根據(jù)數(shù)據(jù)庫進(jìn)程運(yùn)行情況, 區(qū)分不同數(shù)據(jù)庫類型,同時(shí)連接數(shù)據(jù)庫,從數(shù)據(jù)庫表中獲取所有的數(shù)據(jù)庫服 務(wù)。
全文摘要
本發(fā)明公開了一種基于日志的數(shù)據(jù)庫調(diào)用覆蓋率統(tǒng)計(jì)和分析的方法,其包括(1)根據(jù)系統(tǒng)運(yùn)行日志,統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,根據(jù)記錄的各個(gè)數(shù)據(jù)庫服務(wù)調(diào)用情況,計(jì)算相關(guān)參數(shù)并輸出統(tǒng)計(jì)結(jié)果;(2)根據(jù)步驟(1)中統(tǒng)計(jì)某個(gè)時(shí)間段內(nèi)各個(gè)數(shù)據(jù)庫服務(wù)的調(diào)用情況,找出未執(zhí)行過的數(shù)據(jù)庫服務(wù),計(jì)算出數(shù)據(jù)庫服務(wù)調(diào)用的覆蓋率并輸出結(jié)果。與現(xiàn)有技術(shù)相比較,本發(fā)明解決了現(xiàn)有技術(shù)中,日志中的信息非常龐雜,統(tǒng)計(jì)和分析的工作量仍然很大,人工分析的效率很低的問題。
文檔編號(hào)G06F17/30GK101499068SQ200810007060
公開日2009年8月5日 申請(qǐng)日期2008年2月1日 優(yōu)先權(quán)日2008年2月1日
發(fā)明者舸 馮 申請(qǐng)人:中興通訊股份有限公司