对软件系统进行测试的方法和装置.pdf

上传人:111****112 文档编号:968086 上传时间:2018-03-22 格式:PDF 页数:15 大小:625.38KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910081501.6

申请日:

2009.04.09

公开号:

CN101515250A

公开日:

2009.08.26

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 11/36登记生效日:20151229变更事项:专利权人变更前权利人:腾讯科技(深圳)有限公司变更后权利人:深圳市腾讯计算机系统有限公司变更事项:地址变更前权利人:518028 广东省深圳市福田区赛格科技园2栋东403室变更后权利人:518057 广东省深圳市南山区高新区高新南一路飞亚达大厦5-10楼|||授权|||实质审查的生效|||公开

IPC分类号:

G06F11/36

主分类号:

G06F11/36

申请人:

腾讯科技(深圳)有限公司

发明人:

母天石

地址:

518028广东省深圳市福田区赛格科技园2栋东403室

优先权:

专利代理机构:

北京凯特来知识产权代理有限公司

代理人:

郑立明

PDF下载: PDF下载
内容摘要

本发明提供了一种对软件系统进行测试的方法和装置。该方法主要包括:获取并保存软件系统的源程序中的各个文件之间的调用关系信息,根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例。然后,利用所述测试用例对所述软件系统进行测试。

权利要求书

1、  一种对软件系统进行测试的方法,其特征在于,包括:
获取并保存软件系统的源程序中的各个文件之间的调用关系信息;
根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例;
利用所述测试用例对所述软件系统进行测试。

2、
  根据权利要求1所述的对软件系统进行测试的方法,其特征在于,所述的获取并保存软件系统的源程序中的各个文件之间的调用关系信息,具体包括:
获取软件系统的源程序中的各个文件,按照预定的时间间隔,对所述源程序进行更新;
利用扫描算法,生成所述源程序中的各个文件的两两之间的调用关系,该调用关系包括一个文件在其它文件中的出现位置和次数信息。

3、
  根据权利要求2所述的对软件系统进行测试的方法,其特征在于,所述的利用扫描算法,生成所述源程序中的各个文件的两两之间的调用关系,该调用关系包括一个文件在其它文件中的出现位置和次数信息,具体包括:
以一个基本文件作为关键字,在作为相关文件的其它文件中从第一行开始进行遍历,所述关键字每出现一次,便记录相应的行数,在遍历结束后,获取所述基本文件在所述相关文件中总共的出现位置和次数信息。

4、
  根据权利要求1所述的对软件系统进行测试的方法,其特征在于,所述的方法还包括:
根据所述调用关系表生成树型的调用关系嵌套图,该调用关系嵌套图显示了所述软件系统中的每个文件分别和其它那些文件有调用关系。

5、
  根据权利要求1所述的对软件系统进行测试的方法,其特征在于,所述的软件系统的源程序中的各个文件包括:应用程序、模板文件或脚本文件。

6、
  根据权利要求1至5任一项所述的对软件系统进行测试的方法,其特征在于,所述的根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例,具体包括:
当需要编写一个待测文件的相关测试用例时,以该待测文件为索引,查询所述调用关系表,获取该待测文件对应的所有调用关系信息,其中包括各个相关文件信息,以及该待测文件在各个相关文件中的出现位置与次数信息;
根据所述待测文件对应的所有的调用关系信息,以及具体的测试要求,生成与所述待测文件和相关文件相关的测试用例。

7、
  根据权利要求6所述的对软件系统进行测试的方法,其特征在于,所述的生成与所述待测文件和相关文件相关的测试用例,具体包括:
分别生成与所述待测文件和每一个相关文件相关的测试用例;
或者,
生成与所述待测文件和多个相关文件相关的测试用例。

8、
  一种对软件系统进行测试的装置,其特征在于,包括:
调用关系信息获取模块,用于获取并保存软件系统的源程序中的各个文件之间的调用关系信息;
测试用例生成模块,用于根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例;
测试处理模块,用于利用所述测试用例生成模块所生成的测试用例对所述软件系统进行测试。

9、
  根据权利要求8所述的对软件系统进行测试的装置,其特征在于,所述的调用关系信息获取模块包括:
源程序获取模块,用于获取软件系统的源程序中的各个文件,按照预定的时间间隔,对所述源程序进行更新;
调用关系信息生成模块,用于利用扫描算法,生成所述源程序中的各个文件的两两之间的调用关系,该调用关系主要包括一个文件在其它文件中的出现位置和次数。

10、
  根据权利要求8或9所述的对软件系统进行测试的装置,其特征在于,所述的测试用例生成模块包括:
调用关系信息查询模块,用于当需要编写一个待测文件的相关测试用例时,以该待测文件为索引,查询所述调用关系表,获取该待测文件对应的所有调用关系信息,其中包括各个相关文件信息,以及该待测文件在各个相关文件中的出现位置与次数信息;
测试用例获取模块,用于根据所述待测文件对应的所有的调用关系信息,以及具体的测试要求,生成与所述待测文件和相关文件相关的测试用例。

说明书

对软件系统进行测试的方法和装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种对软件系统进行测试的方法和装置。
背景技术
一个网络应用系统(比如QQMail系统)的源程序主要包括:基础数据库、应用程序,模板文件(template)和脚本文件。上述应用程序主要包括:CGI(common gateway interface,通用网管接口)程序,ASP(ActiveServer Page,动态服务器页面)程序等,上述脚本文件主要包括:JavaScipt文件、VBscript文件等。
在用户终端上显示的web页面的生成过程主要包括:先由应用程序从基础数据库中提取用户数据,并将该用户数据填充到模板文件中,形成web页面的静态显示部分。然后,再将上述模板文件对应的脚本文件也填充到模板文件中,该脚本文件将构成web页面的客户端数据验证等动态效果部分。最后,将完整的web页面显示给用户终端。
目前,在对网络应用系统编写测试用例时,完成依靠测试人员的手工编写,并且测试用例的覆盖范围也需要尽可能全面,测试用例的数量非常庞大,因此,测试人员的重复工作量巨大,容易使测试人员陷入匮乏的体力劳动中,造成整个测试工作的效率低下。
发明内容
本发明的实施例提供了一种对软件系统进行测试的方法和装置,以解决现有技术测试工作的效率低下的问题。
一种对软件系统进行测试的方法,包括:
获取并保存软件系统的源程序中的各个文件之间的调用关系信息;
根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例;
利用所述测试用例对所述软件系统进行测试。
一种对软件系统进行测试的装置,包括:
调用关系信息获取模块,用于获取并保存软件系统的源程序中的各个文件之间的调用关系信息;
测试用例生成模块,用于根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例;
测试处理模块,用于利用所述测试用例生成模块所生成的测试用例对所述软件系统进行测试。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例可以使测试人员利用文件之间的调用关系信息,快速地编写一个具体的应用程序、模板文件或脚本文件相关的测试用例。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种对软件系统进行测试的方法的处理流程图;
图2为本发明实施例一提供的一种软件系统的调用关系嵌套图;
图3为实施例二提供的一种对软件系统进行测试的装置的具体实现结构图。
具体实施方式
在本发明实施例中,获取并保存软件系统的源程序中的各个文件之间的调用关系信息,根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例。然后,利用所述测试用例对所述软件系统进行测试。
进一步地,获取软件系统的源程序中的各个文件,按照预定的时间间隔,对所述源程序进行更新;利用扫描算法,生成所述源程序中的各个文件的两两之间的调用关系,该调用关系包括一个文件在其它文件中的出现位置和次数信息。
进一步地,以一个基本文件作为关键字,在作为相关文件的其它文件中从第一行开始进行遍历,所述关键字每出现一次,便记录相应的行数,在遍历结束后,获取所述基本文件在所述相关文件中总共的出现位置和次数信息。
进一步地,根据所述调用关系表生成树型的调用关系嵌套图,该调用关系嵌套图显示了所述软件系统中的每个文件分别和其它那些文件有调用关系。
进一步地,所述的软件系统的源程序中的各个文件包括:应用程序、模板文件或脚本文件。
进一步地,当需要编写一个待测文件的相关测试用例时,以该待测文件为索引,查询所述调用关系表,获取该待测文件对应的所有调用关系信息,其中包括各个相关文件信息,以及该待测文件在各个相关文件中的出现位置与次数信息;根据所述待测文件对应的所有的调用关系信息,以及具体的测试要求,生成与所述待测文件和相关文件相关的测试用例。
进一步地,分别生成与所述待测文件和每一个相关文件相关的测试用例;或者,生成与所述待测文件和多个相关文件相关的测试用例。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供的一种对软件系统进行测试的方法的处理流程如图1所示,包括如下处理步骤:
步骤11、获取并保存网络应用系统的源程序,并对该源程序进行及时更新。
测试人员需要获取并保存网络应用系统(比如QQMail系统)的源程序,其中包括:基础数据库、应用程序,模板文件和脚本文件。按照预定的时间间隔,对该源程序进行及时更新,在更新过程中,最好保留各个版本的源程序。
在实际应用中,测试人员可以每天对上述源程序更新一次,将源程序保存在以每天天时间命名的文件夹中。
步骤12、生成源程序中的应用程序、模板文件和脚本文件的两两之间的调用关系表和调用关系嵌套图,并对该调用关系表、调用关系嵌套图进行及时更新。
利用扫描算法,生成上述源程序中的应用程序、模板文件和脚本文件的两两之间的调用关系,该调用关系主要包括一个文件在另外一个文件中的出现位置和次数。
下面以上述应用程序为CGI程序,脚本文件为JavaScipt文件为例来说明本发明实施例。
一个CGI程序A.cpp在一个模板文件B.html中的调用关系的生成过程如下:以A.cpp为关键字,在B.html的源代码中从第一行开始进行遍历,关键字A.cpp每出现一次,便记录相应的行数。遍历结束后,获得上述A.cpp分别在B.html的第150行和893行各出现一次。然后,将上述A.cpp在一个模板文件B.html中的调用关系保存在如下述表1所示的调用关系表中。
表1:调用关系表

  源程序  相关文件类型  相关文件  出现位置与次数  A.cpp  template  B.html  2(150,893)  C.html  Js  D.js  3(23,580,784)

在实际应用中,当上述源程序发生了更新后,上述调用关系表中相应文件之间的调用关系信息也需要进行相应的更新。
根据上述调用关系表可以生成一个树型的调用关系嵌套图,该调用关系嵌套图可以直观地体现网络应用系统中的每个应用程序、模板文件和脚本文件分别和其它那些文件有调用关系。
比如,一个软件系统的调用关系嵌套图可以如图2所示,其中,addr_clone文件为一个节点,该节点有三个子节点addr_clonepage.html、pop_finpage.html和addr_clone.html,于是,addr_clone文件分别和addr_clonepage.html、pop_finpage.html和addr_clone.html有调用关系。
在实际应用中,当上述调用关系表发生了更新后,上述调用关系嵌套图中相应文件之间的调用关系信息也需要进行相应的更新。
步骤13、根据上述调用关系表和调用关系嵌套图,生成和具体的应用程序、模板文件或脚本文件相关的测试用例。
当需要编写一个具体的作为待测文件的应用程序、模板文件或脚本文件相关的测试用例时,可以以该待测文件为索引,查询上述调用关系表,获取该应用程序、模板文件或脚本文件对应的所有的调用关系信息,其中包括各个相关文件类型、相关文件和出现位置与次数信息。
然后,测试人员根据上述调用关系信息,以及具体的测试要求,生成上述待测文件与每个相关文件之间的相关测试用例,并将该相关测试用例进行保存。
上述相关测试用例可以挂在上述调用关系嵌套图中的相应子节点下,这样每生成的一条测试用例即与具体的文件调用关系联系起来。
比如,在上述图2所示的调用关系嵌套图中,addr_clone文件后面的(1)表示该文件目前总共对应一个测试用例,addr_clonepage.html后面的(1)表示addr_clone文件和addr_clonepage.html文件之间对应一个测试用例。而图2中的addr_clonepage.html后面的(0)表示该文件目前没有对应测试用例。
之后,当测试人员需要获取上述待测文件的相关测试用例时,可以根据该待测文件查询上述调用关系嵌套图,获取已经创建的相关测试用例,从而避免了测试人员重复创造测试用例。
在实际应用中,还可以根据需要生成上述待测文件同时与多个相关文件之间的相关测试用例,即生成多个文件之间的相关测试用例。
当上述源程序中部分文件有更新时,例如当前有A.cpp和B.html这两个文件有修改,测试人员以A.cpp和B.html做为查询条件,查询上述调用关系表,获取A.cpp和B.html的相关调用关系信息,只需要对该相关调用关系信息进行相应的更新。然后,根据更新后的上述相关调用关系信息,重新生成A.cpp和B.html的相关测试用例,并且对上述调用关系嵌套图中的和A.cpp和B.html相关的部分进行更新。
在实际应用中,可以根据上述保留的各个版本的源程序,获取同一个文件在不同时间段内的区别特征,例如,查询A.cpp在090201与090210的区别,可以生成diff(代码差异化)文件。测试人员可以利用该区别特征进行相关的分析。
步骤14、利用上述生成的测试用例对软件系统进行测试。
在获取了上述测试用例后,便可以按照测试用例上的执行步骤与检查点,逐一对软件系统进行测试。
实施例二
本发明实施例还提供了一种对软件系统进行测试的装置,其具体结构如图3所示,包括如下模块:
调用关系信息获取模块31,用于获取并保存软件系统的源程序中的各个文件之间的调用关系信息;
测试用例生成模块32,用于根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例;
测试处理模块33,用于利用所述测试用例生成模块所生成的测试用例对所述软件系统进行测试。
所述的调用关系信息获取模块31具体包括:
源程序获取模块311,用于获取软件系统的源程序,该源程序中包括:应用程序,模板文件和脚本文件,按照预定的时间间隔,对所述源程序进行更新;
调用关系信息生成模块312,用于利用扫描算法,生成所述源程序中的各个文件的两两之间的调用关系,该调用关系主要包括一个文件在其它文件中的出现位置和次数。
所述的测试用例生成模块32包括:
调用关系信息查询模块321,用于当需要编写一个待测文件的相关测试用例时,以该待测文件为索引,查询所述调用关系表,获取该待测文件对应的所有的调用关系信息,其中包括各个相关文件信息,以及该待测文件在各个相关文件中的出现位置与次数信息;
测试用例获取模块322,用于根据所述待测文件对应的所有的调用关系信息,以及具体的测试要求,生成与所述待测文件和相关文件相关的测试用例。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本发明实施例可以使测试人员利用文件之间的调用关系信息,快速地编写一个具体的应用程序、模板文件或脚本文件相关的测试用例。既保证了测试用例范围的有效性,也节省了大量无用的时间,真正做到了事半功倍。
本发明实施例可以使测试人员根据待测的应用程序、模板文件或脚本文件查询已经创建的相关测试用例,避免测试人员重复创造测试用例,可以理解为测试用例创建是一次性投入成本,完成一次即可。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

对软件系统进行测试的方法和装置.pdf_第1页
第1页 / 共15页
对软件系统进行测试的方法和装置.pdf_第2页
第2页 / 共15页
对软件系统进行测试的方法和装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《对软件系统进行测试的方法和装置.pdf》由会员分享,可在线阅读,更多相关《对软件系统进行测试的方法和装置.pdf(15页珍藏版)》请在专利查询网上搜索。

本发明提供了一种对软件系统进行测试的方法和装置。该方法主要包括:获取并保存软件系统的源程序中的各个文件之间的调用关系信息,根据所述源程序中的待测文件查询所述各个文件之间的调用关系信息,获取所述待测文件与源程序中的其他文件之间的调用关系信息,根据该调用关系信息生成与所述待测文件和其他文件相关的测试用例。然后,利用所述测试用例对所述软件系统进行测试。 。

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

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


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