一种基于日志的数据库调用覆盖率统计和分析的方法

文档序号:6458093阅读:297来源:国知局
专利名称:一种基于日志的数据库调用覆盖率统计和分析的方法
技术领域
本发明涉及在测试过程中统计测试覆盖率问题,尤其的说,涉及一种基 于日志的数据库调用覆盖率统计和分析的方法。
背景技术
在测试过程中,测试覆盖率无疑是要重点关注的,对于OMCR( Operation Maintenance Center for Radio )这种以数据库才喿作为主的系统,数据库调用情 况在一定程度上反映了系统应用功能的执行率。OMCR系统中调用的数据 库服务有近1000个,而且还支持多种数据库类型,手工统计所有lt据库服 务的调用情况无疑是非常困难的,还要区分不同的数据库类型和环境,人工 统计的工作量会成倍增长。
如果在OMCR系统的功能分支上打桩,在测试过程中执行到该功能时 调用统计函数把相应操作记录下来,可以根据统计结果得出测试覆盖率,但 这样不仅需要在原有系统上进行较大改动,而且会对系统的正常运行和稳定 性带来一定影响。
由于系统日志中记录了所有数据库服务的调用情况,从日志中收集有用 信息是一个可行的方法,但日志中的信息非常庞杂,统计和分析的工作量仍 然很大,人工分析的效率很低。

发明内容
本发明所解决的技术问题在于提供一种基于日志的数据库调用覆盖率 统计和分析的方法,以解决现有技术中由于系统日志中记录了所有数据库服 务的调用情况,从日志中收集有用信息是一个可行的方法,但日志中的信息 非常庞杂,统计和分析的工作量仍然很大,人工分析的效率很低的问题。为了解决上述问题,本发明提供了一种基于日志的数据库调用覆盖率统
计和分析的方法,其特征在于,包括以下步骤
(1) 根据系统运行日志,统计某个时间段内各个数据库服务的调用情
况,根据记录的各个数据库服务调用情况,计算相关参数并输出统计结果;
(2) 4艮据步骤(1)中统计某个时间段内各个数据库服务的调用情况,
找出未执行过的数据库服务,计算出数据库服务调用的覆盖率并输出结果。
本发明所述的方法,其中,所述计算相关参数,包括该时间段内调用 过的数据库服务、调用成功次数、最大执行时间、最小执行时间、平均执行 时间、调用失败次数、未执行过的数据库服务。
其中,所述步骤(1 )进一步还包括根据各个数据库服务的调用执行 成功、执行失败情况,输出数据库调用执行报告和图形分析报告;根据各个 数据库服务的最大执行时间、最小执行时间、平均执行时间,输出数据库调 用效率报告。
本发明所述的方法,其中,步骤(l)中所述统计某个时间段内各个数 据库服务的调用情况,进一步为利用关键字的匹配和过滤,统计从某个时间 段各个数据库服务的调用情况中筛选出的调用开始标志信息、调用开始时间 信息、调用成功标志信息、调用成功时间信息、调用失败标志信息、调用失 败时间信息。
其中,步骤(2)中所述找出未执行过的数据库服务,进一步包括找出 未执行过的数据库服务,分析未执行过的数据库服务所属应用模块及其调用 类型。
其中,所述输出结果,还包括所有未执行过的数据库服务及其所属应用 模块和调用类型。
所述步骤(2)进一步还包括根据各个数据库服务所属应用模块,进 行排序汇总,输出数据库服务所属应用模块功能执行报告和图形分析报告; 根据各个数据库服务的调用类型,输出未执行数据库服务覆盖率分析报告。
本发明所述的方法,其中,所述步骤(1 )之前进一步包括从系统配 置文件中获取数据库用户信息,并根据数据库进程运行情况,区分不同数据库类型,同时连接数据库,从数据库表中获取所有的数据库服务。
与现有技术相比较,本发明解决了现有技术中,日志中的信息非常庞杂, 统计和分析的工作量仍然很大,人工分析的效率很低的问题。


图1是本发明实施例所述的基于日志的数据库调用覆盖率统计和分析
的方法的大致流程图2是图1所述的基于日志的数据库调用覆盖率统计和分析的方法中统
计的具体流程图3是图1所述的基于日志的数据库调用覆盖率统计和分析的方法中分
析的具体流程图。
具体实施例方式
本发明在这里提供了一种基于日志的数据库调用覆盖率统计和分析的 方法,以解决现有技术中由于系统日志中记录了所有数据库服务的调用情 况,从日志中收集有用信息是一个可行的方法,但日志中的信息非常庞杂, 统计和分析的工作量仍然很大,人工分析的效率很低的问题。以下对具体实 施方式进行详细描述,但不作为对本发明的限定。
如图1所示,为基于日志的数据库调用覆盖率统计和分析的方法的大致
流程图,大致步-骤如下
步骤IOI,根据系统运行日志,统计某个时间段内各个数据库服务的调 用情况,根据记录的各个数据库服务调用情况,计算相关参数并输出统计结 果;
步骤102,根据步骤101中统计某个时间段内各个数据库服务的调用情 况,找出未执行过的数据库服务,计算出数据库服务调用的覆盖率并输出结 果。
结合图2所示,其中步骤101具体包括如下步骤 步骤201,从系统配置文件中获取数据库用户信息。步骤202,根据数据库进程运行情况,区分不同数据库类型,连接数据 库,从数据库表中获取所有数据库服务。
步骤203,利用关4建字匹配和过滤,分析某个时间段的系统日志,从中 筛选出调用开始标志、调用开始时间、调用成功标志、调用成功时间、调用 失败标志、调用失败时间等有用信息,统计该时间段内各个数据库服务的调 用情况。
步骤204,根据记录的数据库服务调用情况,计算相关参数,输出统计 结果。其中相关参数包含该时间段内调用过的数据库服务、调用成功次数、 最大执行时间、最小执行时间、平均执行时间、调用失败次数、未执行过的 数据库服务。例如
Executed diffs service:(在统计时间段内,调用过的数据库服务(包括成 功和失败的))
ServiceNo SuccessNum ( MaxTime MinTime AvgTime ) Failur6Num
1300o扁0
2200o扁0
4200o扁0
700o細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(在统计时间段内,没有执行过的数据库服务):
100
101
Unexecuted diffs services number (在统计时间^殳内,没有4;M亍过的凄史寺居 库服务总数)764
这里的ServiceNo为数据库服务的序列号,SuccessNum为调用成功次 凄t, MaxTime为最大才丸行时间,MinTime为最小扭J亍时间,AvgTime为平 均执行时间,FailureNum为调用失败次数。
其中,步骤204输出的结果可以用于进一步分析根据各个数据库服务 的调用执行成功、执行失败情况,输出数据库调用执行报告和图形分析报告; 根据各个数据库服务的最大执行时间、最小执行时间、平均执行时间,输出 数据库调用效率报告。这里主要用于故障分析,有效提高测试效率。
结合图3,其中步骤102具体包括如下步骤
步骤301,根据统计模块生成的统计结果,取未执行数据库服务的交集。 步骤302,分析未执行数据库服务所属应用模块及其调用类型。 步骤303,计算数据库服务调用的覆盖率。
步骤3(H,输出分析结果。包含所有未执行过的数据库服务及其所属 应用^t块和该数据库服务的调用类型。例如
All of unexecuted diffs service:(所有未才丸4亍过的凄t氺居库月良务)
ServiceNo module type
5 CM sql
40021 FM proc 40023 FM sql40024FMsql
40025FMsql
40026兩sql
40027FMspecial
—count: 187—
Coverage: 80.54% (数据库服务调用覆盖率)
这里的ServiceNo为未执行数据库服务的序列号,module为该未执行数 据库服务所属应用模块,type为该未执行数据库服务所属调用类型。
其中,步骤304输出的结果可以用于进一步分析根据各个数据库服务 所属应用模块,进行排序汇总,输出应用模块功能执行报告和图形分析报告; 根据各个数据库服务的调用类型,输出未执行数据库服务覆盖率分析报告。
通过以上内容,就可以实现对数据库调用覆盖率的统计和分析。在测试 过程中,可以在服务器上设置定时任务,每天自动调用统计模块,统计前一 天的系统日志中数据库服务的调用情况,生成统计结果。关注统计结果中数 据库服务的执行情况,可以及时发现调用失败的数据库服务,以便排查具体 的错误原因。每隔一段时间,调用分析模块,汇总每日统计结果中未执行的 数据库服务,掌握数据库服务调用覆盖率。通过分析未执行的数据库服务, 找出未调用的原因,补充测试方案并设计相应的测试规程,从而提高整个系 统的测试覆盖率。
本发明所述方法基于系统运行日志进行覆盖率统计,屏蔽了不同的数据 库类型,具有较强的通用性和可维护性,使用起来非常方便;还可以做为日 志分析工具,统计测试覆盖率,也可以用于自动化测试,在系统中定期运行, 跟踪数据库服务调用结果,用于故障排查。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种基于日志的数据库调用覆盖率统计和分析的方法,其特征在于,包括以下步骤(1)根据系统运行日志,统计某个时间段内各个数据库服务的调用情况,根据记录的各个数据库服务调用情况,计算相关参数并输出统计结果;(2)根据步骤(1)中统计某个时间段内各个数据库服务的调用情况,找出未执行过的数据库服务,计算出数据库服务调用的覆盖率并输出结果。
2、 如权利要求l所述的方法,其特征在于,所述计算相关参数,包括 该时间段内调用过的数据库服务、调用成功次数、最大执行时间、最小执行 时间、平均执行时间、调用失败次数、未执行过的数据库服务。
3、 如权利要求2所述的方法,其特征在于,所述步骤(l)进一步还包 括根据各个数据库服务的调用执行成功、执行失败情况,输出数据库调用 执行报告和图形分析报告;根据各个数据库服务的最大执行时间、最小执行 时间、平均执行时间,输出数据库调用效率报告。
4、 如权利要求1所述的方法,其特征在于,步骤(1 )中所述统计某个 时间段内各个数据库服务的调用情况,进一步为利用关键字的匹配和过滤, 统计从某个时间段各个数据库服务的调用情况中筛选出的调用开始标志信 息、调用开始时间信息、调用成功标志信息、调用成功时间信息、调用失败 标志信息、调用失败时间信息。
5、 如权利要求l所述的方法,其特征在于,步骤(2)中所述找出未执 行过的数据库服务,进一步包括找出未执行过的数据库服务,分析未执行过 的数据库服务所属应用模块及其调用类型。
6、 如权利要求5所述的方法,其特征在于,所述输出结果,还包括所 有未执行过的数据库服务及其所属应用模块和调用类型。
7、 如权利要求6所述的方法,其特征在于,所述步骤(2)进一步还包 括根据各个数据库服务所属应用模块,进行排序汇总,输出数据库服务所属应用模块功能执行报告和图形分析报告;根据各个数据库服务的调用类 型,输出未执行数据库服务覆盖率分析报告。
8、如权利要求l所述的方法,其特征在于,所述步骤(l)之前进一步 包括从系统配置文件中获取数据库用户信息,并根据数据库进程运行情况, 区分不同数据库类型,同时连接数据库,从数据库表中获取所有的数据库服 务。
全文摘要
本发明公开了一种基于日志的数据库调用覆盖率统计和分析的方法,其包括(1)根据系统运行日志,统计某个时间段内各个数据库服务的调用情况,根据记录的各个数据库服务调用情况,计算相关参数并输出统计结果;(2)根据步骤(1)中统计某个时间段内各个数据库服务的调用情况,找出未执行过的数据库服务,计算出数据库服务调用的覆盖率并输出结果。与现有技术相比较,本发明解决了现有技术中,日志中的信息非常庞杂,统计和分析的工作量仍然很大,人工分析的效率很低的问题。
文档编号G06F17/30GK101499068SQ200810007060
公开日2009年8月5日 申请日期2008年2月1日 优先权日2008年2月1日
发明者舸 冯 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1