一种测试方法及装置.pdf

上传人:1** 文档编号:1632711 上传时间:2018-06-30 格式:PDF 页数:12 大小:756.70KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310728337.X

申请日:

2013.12.25

公开号:

CN104750601A

公开日:

2015.07.01

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 11/36申请日:20131225|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

中国移动通信集团吉林有限公司

发明人:

赵宫明; 顾建瑜

地址:

130021吉林省长春市解放大路2899号

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司11291

代理人:

郭润湘

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种测试方法和装置,涉及通信领域,用以解决现有技术中进行BOSS系统测试时,由于采用手动测试方式而导致测试的准确率低、测试不全面的问题。本发明实施例中,获得待测试程序的信息,待测试程序包括源代码变更的程序或新增加的程序;根据待测试程序的信息查询第一数据库,获得与待测试程序存在调用关系的其他程序,第一数据库中存储有程序间的调用关系信息;根据待测试程序与其他程序之间的调用关系,为待测试程序生成测试脚本;执行生成的测试脚本,得到测试结果;从而解决了现有技术中测试准确率过低、测试不全面的问题。

权利要求书

权利要求书
1.  一种测试方法,其特征在于,该方法包括:
获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序;
根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息;
根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本;
执行生成的测试脚本,得到测试结果。

2.  如权利要求1所述的方法,其特征在于,所述获得待测试程序的信息,包括:
检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插入程序的信息时被触发,所述第二数据库用于存储程序的信息。

3.  如权利要求1所述的方法,其特征在于,得到测试结果之后,若根据所述测试结果判定测试失败,则进一步包括:
将所述待测试程序的信息保存到待测试程序列表;
所述获得待测试程序的信息,包括:
通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。

4.  如权利要求3所述的方法,其特征在于,若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定测试成功,则进一步包括:
删除所述待测试程序列表中当前测试成功的程序的信息。

5.  如权利要求1-4中任一项所述的方法,其特征在于,所述程序的信息包括:程序的标识、程序的版本号。

6.  一种测试装置,其特征在于,包括:
查询单元,用于获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序;根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息;
脚本编写单元,用于根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本;
脚本执行单元,用于执行生成的测试脚本,得到测试结果。

7.  如权利要求6所述的装置,其特征在于,所述查询单元具体用于,
检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插入程序的信息时被触发,所述第二数据库用于存储程序的信息。

8.  如权利要求6所述的装置,其特征在于,该装置还包括:
测试分析单元,用于在得到测试结果之后,若根据所述测试结果判定测试失败,则将所述待测试程序的信息保存到待测试程序列表;
所述查询单元还用于,通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。

9.  如权利要求8所述的装置,其特征在于,所述测试分析单元还用于,
若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定测试成功,则删除所述待测试程序列表中当前测试成功的程序的信息。

10.  如权利要求6-9中任一项所述的装置,其特征在于,所述程序的信息 包括:程序的标识、程序的版本号。

说明书

说明书一种测试方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种测试方法及装置。
背景技术
中国移动是信息化体系建设比较发达的大型企业,业务运营支撑信息化系统规模庞大,结构复杂,内部的关联关系复杂。由于业务发展变更迅速,信息化系统也会进行频繁的版本变更,对系统的版本变更的交付测试验证是保证交付质量的重要手段。对系统的版本变更的交付测试,不仅要测试当前版本变更的功能,还要测试当前版本变更的功能或业务对其他功能或业务的影响。对于被影响的功能或业务,执行业务归回测试,以减少系统上线的质量漏洞。
现有技术中,由于主要采用手动测试的方式,并结合有限的自动化测试工具QTP(QuickTest Professional,回归测试和版本测试工具)的方式进行BOSS(Business Operations Support System,业务运营支撑系统)系统的测试。目前的测试方式过于依赖测试人员的主观判断、测试经验,会导致对BOSS系统的测试的准确率低、测试范围不全面的问题。
发明内容
本发明实施例提供了一种测试方法和装置,用以解决测试准确率低、测试范围不全面的问题。
一种测试方法,该方法包括:
获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序;根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息; 根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本;执行生成的测试脚本,得到测试结果。
可见,本发明实施例能够自动的定位待测试的程序,并能够自动的确定与待测试程序存在调用关系的其他程序,从而提高了测试的效率,减少了人为的失误;本发明实施例还能够针对待测试程序与其他程序之间的调用关系,自动的为待测试程序编写测试脚本,从而提高了测试的准确率,使测试更全面。
较佳的,检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插入程序的信息时被触发,所述第二数据库用于存储程序的信息。这样,本发明实施例可以通过自动触发的方式,触发测试开始,从而替代了现有技术中通过人为的事件去触发测试开始,使测试更加智能,从而提高了测试的效率和准确率。
较佳的,得到测试结果之后,若根据所述测试结果判定测试失败,则将所述待测试程序的信息保存到待测试程序列表;通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。这样,本发明实施例在测试失败之后,还能自动的将测试失败的待测试程序保存,以待对失败的待测试程序重新进行测试,从而提高了测试的准确率和效率。
较佳的,若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定测试成功,则删除所述待测试程序列表中当前测试成功的程序的信息。这样,本发明实施例能够在测试成功后,不再对测试成功的待测试程序再次进行测试,从而提高了测试的效率。
较佳的,所述程序的信息包括:程序的标识、程序的版本号。这样,本发明实施例能够通过程序的标识和程序的版本号等信息,准确的定位待测试程序,从而提高了测试的准确率。
一种测试装置,包括:
查询单元,用于获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序;根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息;
脚本编写单元,用于根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本;
脚本执行单元,用于执行生成的测试脚本,得到测试结果。
可见,本发明实施例能够自动的定位待测试的程序,并能够自动的确定与待测试程序存在调用关系的其他程序,从而提高了测试的效率,减少了人为的失误;本发明实施例还能够针对待测试程序与其他程序之间的调用关系,自动的为待测试程序编写测试脚本,从而提高了测试的准确率,使测试更全面。
较佳的,所述查询单元具体用于,检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插入程序的信息时被触发,所述第二数据库用于存储程序的信息。这样,本发明实施例可以通过自动触发的方式,触发测试开始,从而替代了现有技术中通过人为的事件去触发测试开始,使测试更加智能,从而提高了测试的效率和准确率。
较佳的,该装置还包括:测试分析单元,用于在得到测试结果之后,若根据所述测试结果判定测试失败,则将所述待测试程序的信息保存到待测试程序列表;所述查询单元还用于,通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。这样,本发明实施例在测试失败之后,还能自动的将测试失败的待测试程序保存,以待对失败的待测试程序重新进行测试,从而提高了测试的准确率和效率。
较佳的,所述测试分析单元还用于,若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定 测试成功,则删除所述待测试程序列表中当前测试成功的程序的信息。这样,本发明实施例能够在测试成功后,不再对测试成功的待测试程序再次进行测试,从而提高了测试的效率。
较佳的,所述程序的信息包括:程序的标识、程序的版本号。这样,本发明实施例能够通过程序的标识和程序的版本号等信息,准确的定位待测试程序,从而提高了测试的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的测试准备过程的流程示意图;
图2为本发明实施例提供的第一数据库和第二数据库进行联动约束的流程示意图;
图3为本发明实施例提供的测试过程的流程示意图;
图4为本发明实施例提供的一种测试装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以用于测试BOSS系统的版本变更、业务变更或功能变更、以及由于版本变更、业务变更或功能变更引起的其他相关功能的变更,本发明实施例可以对发生变更的业务或功能自动的执行业务回归测试,以减少系统上 线的质量漏洞。
本发明实施例可以自动的遍历BOSS系统中发生变更的程序或新增的程序,并自动的获取与该待测试程序存在调用关系的程序,自动的编写测试脚本,并触发测试执行;其中,本发明实施例可以包括:测试准备过程和测试过程。下面分别通过图1-图3对上述两个过程进行具体说明。图1示出了本发明实施例提供的测试准备过程的流程示意图。
如图1所示,步骤11:获取第一数据库和第二数据库,第一数据库用于存储BOSS系统中的程序之间的调用关系,第二数据库用于存储BOSS系统中的程序的信息。
具体实现时,第一数据库至少可以包括:程序文件所在的目录、程序的标识、程序中包含的函数名、程序的版本号、该程序与其他程序的调用关系或逻辑关系等信息,第一数据库是对BOSS系统的全部业务规则进行分析存储的数据库,特别的,第一数据库可以为BOSS系统中的BOSS系统结构化知识库;将BOSS系统结构化知识库中的代码文件信息以数据方式存储到ORACLE数据库中。
第二数据库至少可以包括:程序文件所在的目录、程序的标识、程序类型、程序中包含的函数名、方法名称、程序的版本号、程序源代码等信息,特别的,第二数据库可以为BOSS系统中的BOSS系统程序版本库;将BOSS系统程序版本库中的代码文件信息以数据方式存储到ORACLE(Oracle Database)数据库中。
步骤12:将第一数据库与第二数据库进行主键关联。
具体实现时,将第一数据库和第二数据库利用数据库的主键(Primary Key)进行关联。本发明实施例中的第一数据库和第二数据库存在多个共同项,如程序的标识、程序中包含的函数名、程序文件所在的目录等,本发明实施例可以将以上共同项中的任意一个设置为主键,即实现将第一数据库和第二数据库利用数据库的主键进行关联的过程,具体的,可以将第一数据库中的程序的标识 和第二数据库中的程序的标识设置为主键,从而将第一数据库和第二数据库进行关联。
步骤13:建立触发器,通过该触发器,触发对第一数据库和第二数据库的联动约束。
具体实现时,可以利用触发器(Trigger),触发对BOSS系统程序版本库和BOSS系统结构化知识库进行联动约束,即当程序的源代码发生变更,此时可以认为该程序进行了更新或升级,利用触发器触发BOSS系统结构化知识库中与该程序存在调用关系的程序的业务规则均发生变更,这样,能够保证BOSS系统结构化知识库中的程序均为最新版本。
上述步骤11~步骤13实现了测试准备过程,图2示出了本发明实施例提供的第一数据库和第二数据库进行联动约束的流程示意图。如图2所示,当BOSS系统程序版本库中的程序的标识为1-a的程序发生变更时,通过触发器触发BOSS系统结构化知识库中与程序的标识为1-a的程序存在调用关系的其他程序进行级联更新。
进一步的,在步骤13中的建立触发器之后,还可以建立待测试程序表,本发明实施例中的待测试程序表可以表示一种全智能测试触发开关数据表,可以利用数据库中的游标属性,遍历BOSS系统结构化知识库和BOSS系统程序版本库,查找到发生变更的程序的源代码,并将发生变更的程序(即为待测试程序)的信息保存到全智能测试触发开关数据表中,并通过触发器触发测试开始执行。
图3示出了本发明实施例提供的测试过程的流程示意图。如图3所示:
步骤31:获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序。
可选的,上述步骤31中的获得待测试程序的信息可以包括:检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插 入程序的信息时被触发,所述第二数据库用于存储程序的信息。
具体实现时,当测试事件被触发时,即当第二数据库中的程序的信息发生变更时,或者,当第二数据库中插入了新增的程序的信息时,通过遍历第二数据库的方式,从第二数据库中获取待测试的程序的信息。
具体的,当测试准备过程中的全智能测试触发开关数据表中新增了数据时,认为此时测试被触发,遍历BOSS系统程序版本库,获取BOSS系统程序版本库中的发生变更或新增的程序的标识、程序的版本号。
步骤32:根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息。
具体实现时,本发明实施例中的第一数据库与第二数据库已经进行了主键关联,因此,本发明实施例中的程序的信息一定为第一数据库与第二数据库中的共同的参数项。在第一数据库中查询与待测试程序存在调用关系的全部的其他程序,该调用关系可以包括:待测试程序调用其他程序的逻辑关系,或者,其他程序调用待测试程序的逻辑关系,以及,其他调用关系或逻辑关系。
可见,通过步骤31可以自动的确定发生变更的程序,并且能够自动的将发生变更的程序作为待测试程序,同时,一旦发现存在待测试的程序需要被测试,即可认为测试事件被触发,测试开始。通过步骤32可以自动的查询与待测试程序相关联的全部的程序,可以保证在测试执行时,不仅测试了待测试程序,还能够测试全部的与待测试程序存在调用关系的程序,从而保证了测试的全面性和完整性,解决了现有技术中由于手动测试造成的测试准确率过低和测试不全面的问题。
步骤33:根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本。
具体实现时,本发明实施例可以利用QTP测试工具生成测试脚本,具体过程可以如下:
QTP测试工具获取待测试程序的标识、程序文件所在目录、变更的函数名等信息,根据上述信息编写测试脚本的框架代码;
根据BOSS系统结构化知识库中的影响域分析,按照所影响的范围形成N个测试用例,根据以上测试用例,由QTP测试工具编写测试脚本。
步骤34:执行生成的测试脚本,得到测试结果。
具体实现时,执行上述脚本,得到测试结果,并按照预先生成的报告模板,输出测试结果报告,还可以将测试结果报告发送给指定的邮箱。
可选的,在上述步骤34中的得到测试结果之后,若根据所述测试结果判定测试失败,则将所述待测试程序的信息保存到待测试程序列表;通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。
具体实现时,执行生成的脚本,得到测试结果。若根据测试结果判定测试失败,则将本次测试的待测试程序的信息保存到待测试程序列表中,以待再次测试该程序以及与该程序相关的其他程序。本发明实施例可以根据预设周期,定时的获取待测试程序列表中保存的待测试程序的信息,并执行步骤32,直至对该待测试程序测试成功。
进一步的,若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定测试成功,并删除所述待测试程序列表中当前测试成功的程序的信息。
可选的,上述步骤31~步骤34中的序的信息可以包括:程序的标识、程序的版本号。
可见,本发明实施例提供了一种基于程序逻辑结构化的全智能测试技术,通过程序本身的源代码的变更触发测试工具自动的执行测试计划,有效提高了业务回归测试的覆盖度和准确度;利用测试工具代替人为执行测试,有效的缩短了测试周期,降低了测试的错误率,从而提高了系统交付测试的测试质量,减少了测试漏洞。
另一方面,本发明实施例中的基于程序逻辑结构化的全智能测试技术完全依赖对程序本身的调用关系或逻辑关系进行分析的测试手段,其测试执行的范围是最全面和最深入的。本发明实施例能够测试到程序在BOSS系统中的每一个关联程序,提高了测试的全面性和准确性。
基于相同的构思,本发明实施例还提供一种可应用于上述流程的测试装置。图4示出了本发明实施例提供的一种测试装置的结构示意图,如图4所示:
一种测试装置,包括:
查询单元41,用于获得待测试程序的信息,所述待测试程序包括源代码变更的程序或新增加的程序;根据所述待测试程序的信息查询第一数据库,获得与所述待测试程序存在调用关系的其他程序,所述第一数据库中存储有程序间的调用关系信息;
脚本编写单元42,用于根据所述待测试程序与所述其他程序之间的调用关系,为所述待测试程序生成测试脚本;
脚本执行单元43,用于执行生成的测试脚本,得到测试结果。
较佳的,所述查询单元41具体用于,检测到测试事件被触发时,根据被触发的测试事件获得待测试程序的信息,所述测试事件在第二数据库中的程序的信息发生变更时被触发,或者在所述第二数据库中插入程序的信息时被触发,所述第二数据库用于存储程序的信息。
较佳的,该装置还包括:测试分析单元,用于在得到测试结果之后,若根据所述测试结果判定测试失败,则将所述待测试程序的信息保存到待测试程序列表;所述查询单元41还用于,通过周期查询待测试程序列表,获取所述待测试程序列表中记录的待测试程序的信息,所述待测试程序列表中记录的待测试程序是当前时刻之前测试失败的程序。
较佳的,所述测试分析单元还用于,若所述待测试程序的信息是从所述待测试程序列表中获取到的,则在得到测试结果之后,若根据所述测试结果判定测试成功,则删除所述待测试程序列表中当前测试成功的程序的信息。
较佳的,所述程序的信息包括:程序的标识、程序的版本号。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种测试方法及装置.pdf_第1页
第1页 / 共12页
一种测试方法及装置.pdf_第2页
第2页 / 共12页
一种测试方法及装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种测试方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种测试方法及装置.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明实施例公开了一种测试方法和装置,涉及通信领域,用以解决现有技术中进行BOSS系统测试时,由于采用手动测试方式而导致测试的准确率低、测试不全面的问题。本发明实施例中,获得待测试程序的信息,待测试程序包括源代码变更的程序或新增加的程序;根据待测试程序的信息查询第一数据库,获得与待测试程序存在调用关系的其他程序,第一数据库中存储有程序间的调用关系信息;根据待测试程序与其他程序之间的调用关系,为待测。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1