软件业务功能覆盖率的统计方法及系统的制作方法

文档序号:6584064阅读:336来源:国知局
专利名称:软件业务功能覆盖率的统计方法及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种软件业务功能覆盖率的统计方法及系统。
背景技术
软件系统在设计开发过程中离不开测试,根据测试阶段进行划分,测试可以分为 单元测试、集成测试和系统测试,覆盖率指标是为表示测试是否充分一个度量维度。其中, 在单元测试中,覆盖率指标用的比较多,通常包括源代码语句覆盖率或分支覆盖率、条件 覆盖率,而对于集成测试或系统测试由于代码数量庞大,难以用上述指标来测算,则多指软 件需求覆盖率或功能覆盖率。 在实现覆盖率统计的方法上,单元测试各项覆盖率已经有不少测试工具支持,例
如,商用工具Cantata、 CodeTest等,它通过扫描源程序生成跟踪版本,在软件执行过程中
自动统计各项覆盖信息,最终生成覆盖率指标,方便测试者的事后分析。 但是,对于集成测试和系统测试而言,相对应的覆盖率指标则没有现成的自动统
计支持, 一般是通过手工进行文档设计及手工对应统计,来确认测试执行覆盖情况,上述过
程比较繁琐且自动化程度低,跟踪的覆盖率还是以用户需求或软件系统功能为粒度,相对
较粗,对代码级的业务功能点覆盖难以深入,难以加强代码功能覆盖分析而完善测试用例
设计,保证测试的充分性。

发明内容
针对相关技术中在集成测试和系统测试中,确认测试执行覆盖情况的过程比较繁 琐且自动化程度低的问题而提出本发明,为此,本发明的主要目的在于提供一种软件业务 功能覆盖率统计方法及装置,以解决上述问题至少之一。 根据本发明的一个方面,提供了一种软件业务功能覆盖率的统计方法。
根据本发明的软件业务功能覆盖率的统计方法包括对软件进行业务功能覆盖点 的扫描,获取软件的所有业务功能覆盖点所组成的逻辑关系信息;采用预定的测试用例对 软件进行测试,并实时统计遍历的业务功能覆盖点信息;根据业务功能覆盖点信息与逻辑 关系信息,统计出软件业务功能覆盖率。 根据本发明的另一方面,提供了一种软件业务功能覆盖率的统计系统。 根据本发明的软件业务功能覆盖率的统计系统包括自动扫描单元,用于软件进
行业务功能覆盖点的扫描,获取软件的所有业务功能覆盖点所组成的逻辑关系信息;业务
功能覆盖点信息收集单元,用于在采用预定的测试用例对软件进行测试时,实时统计遍历
的业务功能覆盖点信息;业务功能覆盖率统计单元,用于根据业务功能覆盖点信息与逻辑
关系信息,统计出软件业务功能覆盖率。 通过本发明,提供一种统计软件业务功能覆盖率的系统及其对应的工作方法,解 决了相关技术中在集成测试和系统测试中,确认测试执行覆盖情况的过程比较繁琐且自动
4化程度低的问题,进而可以形成自动化统计的过程,大大提高覆盖率统计效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是根据本发明实施例的软件业务功能覆盖率的统计方法的流程图;
图2是根据本发明实施例的软件单元中某业务功能模块的业务功能覆盖点的逻 辑关系示意图; 图3是根据本发明实施例的软件系统中基于代码业务功能覆盖率统计的分析示 意图; 图4是根据本发明优选实施例的软件业务功能覆盖率的统计方法的流程图;
图5是根据本发明实施例的软件业务功能覆盖率的统计系统的结构框图;
图6是根据本发明优选实施例的软件业务功能覆盖率的统计系统的结构框图;
图7是根据本发明实例的软件业务功能覆盖率的统计系统的结构框图。
具体实施方式

功能概述 本发明提供了一种软件业务功能覆盖率的统计方案,该方案思想如下 第一步进行软件代码业务功能覆盖点设计及插入,这是进行业务功能覆盖率统
计的前提。正常情况这个步骤在软件代码实现阶段即进行,这样在推出的软件中就已经留
好这个统计接口 ;否则针对被测软件代码再进行这个步骤的工作,需要重新编译软件生成
具有统计接口的版本。 第二步针对具有统计接口的软件进行业务功能覆盖点自动扫描,通过对第一步 输出的具有统计接口版本进行一定规则的自动化扫描处理,形成软件业务功能覆盖点的组 成逻辑图,可用于后续测试执行中覆盖率统计。 第三步进行实际的测试及覆盖率统计,本步在第一步和第二步工作的基础上展 开,运行具有统计接口的软件,开展一系列测试,随测试用例的不断增加,通过代码业务功 能覆盖率的实时统计而进行测试调整。 第四步根据第三步的最后输出进行基于覆盖率的测试结果分析,包括软件模块
代码功能覆盖情况分析及测试用例完备性分析,以得出更加准确的测试结论。
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的
情况下,本申请中的实施例及实施例中的特征可以相互组合。 下面结合附图,对技术方案的实施作进一步的描述 方法实施例 根据本发明的实施例,提供了一种软件业务功能覆盖率的统计方法。
图1是根据本发明实施例的软件业务功能覆盖率的统计方法的流程图。其中,该 方法应用于软件的集成测试及系统测试,如图1所示,该方法包括以下处理(步骤S101-步 骤S105): 步骤S101 :对软件进行业务功能覆盖点的扫描,获取软件的所有业务功能覆盖点所组成的逻辑关系信息; 优选地,上述步骤S101中的软件包括以下至少之一 已具有统计接口的待测试软件;重编译不具有统计接口的待测试软件生成的具有统计接口的软件。 其中,所谓生成具有统计接口的软件,即对软件的业务功能覆盖点进行标识,进一步地,将设计好的业务功能覆盖点在代码的相应位置进行设置,以实现代码运行到此位置时该点可以被统计到。 优选地,重编译不具有统计接口的待测试软件生成具有统计接口的软件可以进一步包括以下处理 (1)对待测试软件的业务功能进行分析; (2)根据业务功能选取待测试软件的业务功能覆盖点; (3)对待测试软件的业务功能覆盖点进行标识,生成具有统计接口的软件。
优选地,步骤S101中,对具有统计接口的软件进行业务功能覆盖点的扫描可以进一步包括以下处理 (1)对具有统计接口的软件的编译文件进行扫描;
(2)对具有统计接口的软件的源代码进行扫描。 优选地,上述逻辑关系信息可以以逻辑图的形式进行呈现,具体可以参见图2。
图2是根据本发明实施例的软件单元中某业务功能模块的业务功能覆盖点的逻辑关系示意图。如图2所示,从业务功能实体的代码入口 (入口函数)开始,根据业务功能的主要操作进行业务功能覆盖点设置,图中圆圈即表示覆盖点。图中按照覆盖点级联关系进行了划分,例如,Layerl、 Layer2、 Layer3、 Layer4,其中,Layer2中业务功能覆盖点为Layerl中某些业务功能覆盖点的功能展开,Layer3中业务功能覆盖点为Layer2中某些业务功能覆盖点的功能展开,Layer4中业务功能覆盖点为Layer3中某些业务功能覆盖点的功能展开,形如函数调用关系;在同一个Layer级别中各业务功能覆盖点依照业务处理流程的分支形成不同进入条件,如图以弯钩的图标表示,上下相连的业务功能覆盖点可以有各种条件进入关系,同时也可有不同的分组关系。如图Layerl级别共有五个业务功能覆盖点,其中业务功能覆盖点1为无条件进入,即代码运行至此一定被执行,业务功能覆盖点2、业务功能覆盖点3、业务功能覆盖点4、业务功能覆盖点5为条件进入,即各业务功能覆盖点对应的条件如果满足就会被执行,同时业务功能覆盖点2与业务功能覆盖点3属于同一组,业务功能覆盖点4与业务功能覆盖点5属于另外一组,表示业务功能覆盖点2与业务功能覆盖点3所在处理分支是同一类业务处理,如对应于代码的某个业务操作的if/else分支处理,而业务功能覆盖点4与业务功能覆盖点5所在处理分支则对应另一类业务处理,如对应于代码随后的另一个业务操作的if/else分支处理。 在图2中,以虚圈表示的业务功能覆盖点用来表示测试运行中实际走到的位置,从此视图中可以展示这个业务功能实体代码功能覆盖情况,例如,根据图Layerl级别的业务功能覆盖率为60% (3/5) , Layer2级别的业务功能覆率为40% (10/25) , Layer3级别的业务功能覆率为26.7% (4/15), Layer4级别的业务功能覆率为0X (0/5),总的代码业务功能覆率为34% (17/50)。 步骤S103 :采用预定的测试用例对软件进行测试,并实时统计遍历的业务功能覆盖点信息;
步骤S105 :根据业务功能覆盖点信息与逻辑关系信息,统计出软件业务功能覆盖 率的信息。 以下结合图2进行步骤S103、步骤S105举例说明,在图2中,以虚图表示的业务功 能覆盖点用来表示测试运行中实际走到(遍历)的位置(即业务功能覆盖点信息),从此 视图中可以展示这个业务功能实体代码功能覆盖情况(即软件业务功能覆盖率的信息), 例如,根据图Layer 1级别的业务功能覆盖率为60% (3/5) ,Layer2级别的业务功能覆率为 40% (10/25) ,Layer3级别的业务功能覆率为26. 7% (4/15) , Layer4级别的业务功能覆率 为0% (0/5),总的代码业务功能覆率为34% (17/50)。 优选地,在统计出软件业务功能覆盖率的信息之后,还可以包括以下处理
(1)判断本次测试是否满足预定测试要求; 其中,上述预定测试要求可以包括以下至少之一 软件业务功能覆盖率大于等于 预定覆盖率指标;预定的至少一个业务功能覆盖点被遍历到。 (2)在本次测试不满足预定测试要求时,对测试用例进行补充,直至后续测试满足 预定测试要求。 在具体实施过程中,基于步骤S105中描述的覆盖率统计结果,可以进行基于覆盖 率测试结果的分析,包括软件模块代码功能覆盖情况分析及测试用例完备性分析,以得出 更加准确的测试结论。以下结合图3进行描述。 图3是根据本发明实施例的软件系统中基于代码业务功能覆盖率统计的分析示 意图。如图3所示,一个软件系统可以分为若干软件单元,如图为单元1、单元2、单元3,各 软件单元又分为若干业务功能实体(业务功能模块),如图为业务功能实体l-l、业务功能 实体l-2、业务功能实体2-l、业务功能实体2-2、业务功能实体2-3、业务功能实体3-l、业务 功能实体3-2,图中表示出软件系统各模块及业务功能实体间的相互交互关系;在测试完 成后,各业务功能实体的业务功能覆盖率得以统计,如图3所示,各业务功能实体业务功能 覆盖点视图中虚圈表示已经覆盖的业务功能覆盖点,将这些视图整合在软件系统视图中, 可以从总体上对整个软件系统的测试覆盖进行分析,如图业务功能实体2-3完全没有覆盖 到,说明缺少相关测试用例来驱动,进而有针对性的分析软件功能增加相应用例,完善测试 用例集合。 图4是根据本发明优选实施例的软件业务功能覆盖率的统计方法的流程图。如图 4所示,该方法包括以下处理(步骤S401-步骤S405): 步骤S401 :业务功能覆盖点设计及插入,此步骤对应于前述系统中软件代码业务 功能覆盖点插入模块,是在软件代码中对一系列反映代码业务功能覆盖点进行定位与标记 的过程,又可分为以下三个步骤。
(1)软件代码业务功能分析 在软件系统进行代码实现时,对所要实现的内容就已经分好了软件模块及其各自 待实现的详细业务功能,在软件层次上可以将软件系统看成是由若干软件模块组成,模块 之间有明确的外部交互接口,各模块协同工作共同完成整个软件功能;每个软件模块内部 分又可按待实现的业务功能分为若干业务功能实体,这些业务功能实体在运行中相对独立 又相互关联,之间有明确的内部交互接口,用于协同完成本模块的各项业务功能,一般情况 下这种业务功能实体以进程或线程的方式出现,有明确的代码入口,再通过一系列函数的串联完成本实体的功能,是软件系统在代码实现上真正的载体。本步骤所做的工作就是以 业务功能实体为基本对象,对实际代码进行业务功能分析,将软件代码所实现的业务操作 按顺序对应出来,相当于从业务的角度对代码进行的解释。
(2)反映业务功能覆盖点选择 在代码业务功能分析的基础上,将反映代码业务处理的各种操作进行一定程度的
归并整理,把这些归并后的关键操作位置做为业务功能覆盖点选择出来。首先是对应于代
码的不同处理分支进行整理以反映不同业务处理流程;然后在同一处理分支流程中进行主
要操作确认保留(即本流程分支所实现业务功能主要步骤),对于同主要操作相串行的次
要操作进行去除,其业务处理描述可以归并入对应的主要操作,一个主要操作位置即对应
设置一个业务功能覆盖点,这样就形成此分支的一个覆盖点集合;然后将这些不同分支覆
盖点集合进行适当分组划分,属于同一组的不同分支覆盖点表示对同一类业务操作的不同
处理,对应于代码对某类业务处理的不同分支,如if/else分支;最后对所选择出来的各分
支各覆盖点进行上下级的关联,类似于函数间调用关系,也对应于业务处理的分层展开;详
细说明请参见附图2的描述。
(3)在代码中实现业务功能覆盖点插入 将所设计好的业务功能覆盖点在代码相应位置进行设置,以实现代码运行至此位
置时点位可以被统计到。所有这些业务功能覆盖点整合在一起就可以表示软件代码的业务
功能情况,当某些覆盖点被实际统计到时,就可以计算出对应的业务功能覆盖率。 步骤S403 :业务功能覆盖点自动扫描,本步骤对应于前述系统中软件代码业务功
能覆盖点自动扫描模块,用于自动生成业务功能覆盖点逻辑图,又可分为以下三个步骤。
(1)基于编译文件的信息扫描 针对加入业务功能覆盖点的被测软件,首先从其编译文件入手进行信息扫描,提 取代码中从业务功能实体入口开始的各业务功能覆盖点的分布级联关系,输出构建业务功 能覆盖点逻辑图的第一阶段信息。
(2)基于源代码的信息扫描 针对加入业务功能覆盖点的被测软件,还需要从其源代码入手进行更多信息扫 描,提取描述业务功能覆盖点功能说明及反映业务功能覆盖点分组分支关系说明,输出构 建业务功能覆盖点逻辑图的第二阶段信息。
(3)业务功能覆盖点逻辑图生成 综合步骤S403中的上述步骤(1) 、 (2)生成的信息,整合生成完整的以软件代码中 业务功能实体为基本对象的业务功能覆盖点逻辑图。 步骤S405 :测试及覆盖率统计,本步骤对应于前述系统中业务功能覆盖点嵌入收 集模块、业务功能覆盖统计执行模块、业务功能覆盖率统计模块,是针对业务功能覆盖点插 入后的软件进行的软件测试过程,对软件实际运行的业务功能覆盖率进行统计。具体地,步 骤S405可以包括以下四个步骤 [ooes] (1)设计测试用例 本步骤首先根据测试规程进行测试用例的设计,可按照测试需求的覆盖情况来初 步判定用例设计的完备性; 同时本步骤也包括对上述用例设计中遗漏的测试内容进行补充设计,其承接于步
8骤S405中的步骤(4),是基于业务功能覆盖率情况来补充用例设计。 [OCm] (2)执行已定义测试用例 执行步骤S403中的中设计好的测试用例,可以是手工用例也可以是自动化用例,
以实现业务功能覆盖率统计的驱动。
(3)业务功能覆盖率实时统计 在执行测试用例过程中,采用本方法步骤S401实现的业务功能覆盖点的软件可 以同步统计代码中实际走到的业务功能覆盖点信息,这些业务功能覆盖点信息可以被实时 处理,结合步骤S403输出的业务功能覆盖点逻辑图,进而转化成软件代码业务功能覆盖率数据。 (4)判断覆盖率是否满足要求 在运行完测试用例后对获得的软件代码业务功能覆盖率进行判断,以事先定义的 覆盖率指标或某些必须覆盖的业务功能处理点是否走到来决定测试是否完成,如果未能满 足要求则转到步骤S405中的步骤(1)进行新测试用例的补充设计;如果已满足要求就可以 进入步骤S407。
步骤S407 :基于覆盖率的测试结果分析; 在所有测试用例测试完成后,可以依据所获得的代码业务功能覆盖率数据进行更 准确的测试分析。可对整个软件系统中各软件模块的各业务功能实体的业务功能覆盖率进 行汇总,以了解在当前测试情况下各模块的业务功能覆盖情况,以及随着新增用例的针对 性运行而增加的覆盖率情况,从代码级进行业务功能覆盖分析;进而可用于测试用例完备 性分析,明确在满足不同测试覆盖率条件下测试用例集合的状况,从而对用例集合进行优 化及进一步补充,或去除冗余的用例,对于软件测试是否可以结束提供了另一个检视的角 度。 通过上述实施例,提供了一种软件业务功能覆盖率的统计方法。在集成测试和系 统测试中,简化了测试过程,提高了测试自动化程度,从而可以大大提高覆盖率统计效率。
装置实施例 根据本发明的实施例,提供了一种软件业务功能覆盖率的统计装置。 图5是根据本发明实施例的软件业务功能覆盖率的统计系统的结构框图。图6是
根据本发明优选实施例的软件业务功能覆盖率的统计系统的结构框图。如图5所示,根据
本发明实施例的软件业务功能覆盖率的统计系统包括自动扫描单元50、业务功能覆盖点
信息收集单元52、业务功能覆盖率统计单元54,以下结合图6进行描述。 自动扫描单元50,用于对软件进行业务功能覆盖点的扫描,获取软件的所有业务
功能覆盖点所组成的逻辑关系信息; 优选地,如图6所示,上述自动扫描单元还可以包括编译文件扫描模块500,用于 对上述软件的编译文件进行扫描;源代码扫描模块502,用于对上述软件的源代码进行扫描。 业务功能覆盖点信息收集单元52,与自动扫描单元50相连接,用于在采用预定的 测试用例对软件进行测试时,实时统计遍历的业务功能覆盖点信息; 业务功能覆盖率统计单元54,与业务功能覆盖点信息收集单元52相连接,用于根 据业务功能覆盖点信息与逻辑关系信息,统计出软件业务功能覆盖率。
9
优选地,如图6所示,上述装置还可以包括软件代码业务功能覆盖点插入单元
56,用于对软件代码进行业务功能覆盖点进行标识,生成具有统计接口的软件。 优选地,如图6所示,上述装置还可以包括判断单元58,与业务功能覆盖率统计
单元相连接,用于判断本次测试是否满足预定测试要求;测试用例补充单元60,与判断单
元58相连接,用于在本次测试不满足预定测试要求时,对测试用例进行补充。 优选地,在测试用例补充单元60补充新的测试用例之后,业务功能覆盖点信息收
集单元52在利用新的测试用例对软件进行测试时,实时统计遍历的业务功能覆盖点信息。 图7是根据本发明实例的软件业务功能覆盖率的统计系统的结构框图。如图7所
示,该系统可以包括两大组成部分待测试软件系统和业务功能覆盖统计系统。 待测试软件系统由待测试软件对象和业务功能覆盖点嵌入收集单元(相当于图
5中的业务功能覆盖点信息收集单元)构成,待测试软件对象即待统计覆盖率的待测试软
件,可由若干软件单元组成,业务功能覆盖点嵌入收集单元是为统计业务功能覆盖而嵌入
的适配单元,与待测试软件对象运行在一个系统中;业务功能覆盖统计系统由软件代码业
务功能覆盖点插入单元、软件代码业务功能覆盖点自动化扫描单元(相当于图5中自动扫
描单元)、业务功能覆盖统计执行单元、业务功能覆盖率统计单元(相当于图5中业务功能
覆盖率统计单元)所构成,为另一个运行系统;两个系统通过通信接口 (例如,SOCKRT接
口 )而关联,待测试软件系统中业务功能覆盖点嵌入收集单元与业务功能覆盖点统计系统
中业务功能覆盖统计执行单元之间有业务交互。 由上述各单元相互结合的系统的工作过程如下 首先,由软件代码业务功能覆盖点插入单元(相当于图5中软件代码业务功能覆
盖点插入单元)完成对被测软件代码业务功能覆盖点的设计插入。如果业务功能覆盖点的
设计插入已经在软件代码编码实现阶段进行,软件留有统计接口 ,本单元工作可以跳过。 如图7所示,如果在软件代码编码实现阶段,没有执行业务功能覆盖点的设计插
入,则需要软件代码业务功能覆盖点插入单元对业务功能覆盖点进行标识,输出具有统计
接口的版本,这时可做为另两个单元的输入使用。 一方面,如图中①信息流向所示成为软件
代码业务功能覆盖点自动扫描单元输入,通过此单元对软件编译文件及源代码进行自动扫
描而将软件代码业务功能覆盖点进行整合生成一个汇总的业务功能覆盖点逻辑图;另一方
面,如图中②信息流向所示提供给被测软件系统具有业务功能覆盖统计接口的被测软件对
象,形成实际运行软件;当测试这个软件,被测软件对象中业务功能覆盖点被遍历时的信息
会由业务功能覆盖点嵌入收集单元实时收集,如图中③信息流向所示,本单元通过通信接
口与业务功能覆盖统计执行单元相接口,把实时收集的业务功能覆盖点信息上报,如图中
④信息流向所示;业务功能覆盖统计执行单元对接收到的实际遍历到的业务功能覆盖点信
息进行处理,按业务功能覆盖点的分类规则进行整合归并,并将结果转给业务功能覆盖率 统计单元,如图中⑤信息流向所示;业务功能覆盖率统计单元在接收到业务功能覆盖统计
执行单元传来的业务功能覆盖点整合信息后,如图中⑥信息流向所示会使用软件代码业务
功能覆盖点自动扫描单元输出的业务功能覆盖点逻辑图,进行被测软件对象的业务功能覆
盖统计,得到测试后实际遍历的软件代码业务功能覆盖率信息。 通过上述实施例,提供了一种软件业务功能覆盖率的统计装置。通过自动扫描单 元、业务功能覆盖点信息收集单元、业务功能覆盖率统计单元的相互结合,可以解决相关技术中在集成测试和系统测试中,确认测试执行覆盖情况的过程比较繁琐且自动化程度低的 问题,进而可以形成自动化统计的过程,大大提高覆盖率统计效率。 综上所述,通过本发明提供的实施例,提供了一种软件业务功能覆盖率的统计方 法及系统,可以克服相关技术中在进行软件集成测试及系统测试时只能以手工进行,且无 法深入到代码级业务功能覆盖的缺点,在满足软件系统在集成测试和系统测试下的软件业 务功能覆盖率统计的前提下,又能适应其代码规模庞大的特点,并形成自动化统计的过程, 大大提高覆盖率统计效率并对测试用例完备性设计有更好的辅助,并且对于软件集成测试 及系统测试是否可以结束,提供了另一个检视的角度。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种软件业务功能覆盖率的统计方法,包括对软件进行业务功能覆盖点的扫描,获取所述软件的所有业务功能覆盖点所组成的逻辑关系信息;采用预定的测试用例对所述软件进行测试,并实时统计遍历的业务功能覆盖点信息;根据所述业务功能覆盖点信息与所述逻辑关系信息,统计出软件业务功能覆盖率。
2. 根据权利要求1所述的方法,其特征在于,所述软件包括以下至少之一 已具有统计接口的待测试软件;重编译不具有统计接口的待测试软件生成的具有统计接口的软件。
3. 根据权利要求2所述的方法,其特征在于,重编译不具有统计接口的待测试软件包括对所述待测试软件的业务功能进行分析; 根据所述业务功能选取所述待测试软件的业务功能覆盖点;对所述待测试软件的业务功能覆盖点进行标识,生成所述具有统计接口的软件。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,对所述软件进行业务功能覆 盖点的扫描包括对所述具有统计接口的软件的编译文件进行扫描; 对所述具有统计接口的软件的源代码进行扫描。
5. 根据权利要求1至3中任一项所述的方法,其特征在于,在统计出软件业务功能覆盖 率的信息之后,所述方法还包括判断本次测试是否满足预定测试要求;在本次测试不满足所述预定测试要求时,对所述测试用例进行补充,直至后续测试满 足预定测试要求。
6. 根据权利要求1所述的方法,其特征在于,所述预定测试要求包括以下至少之一 所述软件业务功能覆盖率大于等于预定覆盖率指标; 预定的至少一个业务功能覆盖点被遍历到。
7. —种软件业务功能覆盖率的统计系统,其特征在于,所述系统包括 自动扫描单元,用于软件进行业务功能覆盖点的扫描,获取所述软件的所有业务功能覆盖点所组成的逻辑关系信息;业务功能覆盖点信息收集单元,用于在采用预定的测试用例对所述软件进行测试时, 实时统计遍历的业务功能覆盖点信息;业务功能覆盖率统计单元,用于根据所述业务功能覆盖点信息与所述逻辑关系信息, 统计出软件业务功能覆盖率。
8. 根据权利要求7所述的系统,其特征在于,所述装置还包括软件代码业务功能覆盖点插入单元,用于对软件代码进行业务功能覆盖点进行标识, 生成所述具有统计接口的所述软件。
9. 根据权利要求7或8所述的系统,其特征在于,所述自动扫描单元包括 编译文件扫描模块,用于对所述软件的编译文件进行扫描; 源代码扫描模块,用于对所述软件的源代码进行扫描。
10. 根据权利要求7或8所述的系统,其特征在于,所述系统还包括判断单元,用于判断本次测试是否满足预定测试要求;测试用例补充单元,用于在本次测试不满足所述预定测试要求时,对所述测试用例进 行补充。
全文摘要
本发明公开了一种软件业务功能覆盖率的统计方法及系统。上述方法包括对软件进行业务功能覆盖点的扫描,获取软件的所有业务功能覆盖点所组成的逻辑关系信息;采用预定的测试用例对软件进行测试,并实时统计遍历的业务功能覆盖点信息;根据业务功能覆盖点信息与逻辑关系信息,统计出软件业务功能覆盖率。根据本发明提供的技术方案,解决了相关技术中在集成测试和系统测试中,确认测试执行覆盖情况的过程比较繁琐且自动化程度低的问题,进而可以形成自动化统计的过程,大大提高覆盖率统计效率。
文档编号G06F11/36GK101706751SQ20091022597
公开日2010年5月12日 申请日期2009年11月23日 优先权日2009年11月23日
发明者左军, 罗漩 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1