一种测试功能链生成方法与装置的制作方法

文档序号:6440121阅读:137来源:国知局
专利名称:一种测试功能链生成方法与装置的制作方法
技术领域
本发明涉及软件集成测试技术领域,具体而言,涉及一种测试功能链生成方法与
直O
背景技术
目前,具有复杂业务、应用背景的软件系统,在进行集成测试(结合测试)前的规划阶段,很难梳理、设计出符合业务应用场景的集成测试规划。基本上通过人为干预的方式,依靠人工对系统业务的理解,将一些相关功能组合在一起,实现业务功能的关联测试。 该方式受人为因素影响较多,集成测试规划设计人员,对业务理解的程度直接影响测试的充分性及覆盖率,通常是依靠业务能力比较强的软件工程师对业务理解,充分参考他们的意见,整理出有哪些业务路线,同时列出这些路线上涉及的业务功能,作为集成测试规划的成果。这种方式往往要进行多次评审,人工成本较高,且需要反复修改,耗时间。并且,国内外的一些大型电子商务、仓库物流、贩卖管理等行业的企业级应用系统,由于其业务繁杂,能掌握全部业务背景的技术人员非常有限,目前这类项目的集成测试,都普遍存在考虑不周、覆盖不全的实际问题,如何能够进行更全面、充分以及尽可能百分百的覆盖到业务功能,并在一定业务背景下展开的集成测试,是急需解决的技术问题。

发明内容
考虑到上述背景技术,本发明的所要解决的技术问题之一是提供一种测试功能链生成装置,本发明所要解决的技术问题之二是提供一种测试功能链生成方法,能够应用于具有复杂业务的应用场景,提高测试效率。根据本发明的一个方面,提供了一种测试功能链生成装置,包括关系表生成单元,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据所述操作关系数据提取出关键信息,将所述关键信息保存在关系表中,以生成所述关系表并传送至组合单元;所述组合单元,连接至所述关系表生成单元,基于所述关系表中的所述关键信息识别出所述功能之间的上下游关系,按照所述上下游关系将具有联系的功能组合成所述测试功能链。在上述技术方案中,优选地,还可以包括比较单元,在所述组合单元组合成的所述测试功能链为多组时,比较所述测试功能链之间是否有重复的路径,将比较结果传送至删除单元;所述删除单元,根据比较结果去除具有重复路径的测试功能链。在上述技术方案中,优选地,所述关键信息包括功能名称、所读取的数据表以及所写入的数据表。在上述技术方案中,优选地,所述组合单元可以包括递归子单元,根据所述关系表中与每个功能对应的所述关键信息循环递归每个功能,定义对数据表进行读操作的功能是对所述数据表进行写入操作的功能的下游功能,按照所述定义查找出所述功能之间的上下游关系。
在上述技术方案中,优选地,所述操作关系数据可以包括读操作数据、插入操作数据、更新操作数据和删除操作数据,其中,所述插入操作数据、所述更新操作数据和所述删除操作数据属于写操作数据。根据本发明的又一方面,还提供了一种测试功能链生成方法,包括步骤202,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据所述操作关系数据提取出关键信息,将所述关键信息保存在关系表中,以生成所述关系表;步骤204,基于所述关系表中的所述关键信息识别出所述功能之间的上下游关系,按照所述上下游关系将具有联系的功能组合成所述测试功能链。在上述技术方案中,优选地,还可以包括在组合成的所述测试功能链为多组的情况下,比较所述测试功能链之间是否有重复的路径,根据比较结果去除具有重复路径的测试功能链。在上述技术方案中,优选地,在所述步骤202中,所述关键信息包括功能名称、所读取的数据表以及所写入的数据表,将与每个功能对应的所述关键信息写入所述关系表中。在上述技术方案中,优选地,在所述步骤204中,根据所述关系表中与每个功能对应的所述关键信息循环递归每个功能,定义对数据表进行读操作的功能是对所述数据表进行写入操作的功能的下游功能,按照所述定义查找出所述功能之间的上下游关系。在上述技术方案中,优选地,所述操作关系数据可以包括读操作数据、插入操作数据、更新操作数据和删除操作数据,其中,所述插入操作数据、所述更新操作数据和所述删除操作数据属于写操作数据。通过计算机程序,提取功能设计书文档中记录的对数据表的操作关系,将功能名称以及对应的操作关系数据保存在关系表中,识别出关系表中各功能之间的上下游关系, 将具有上下游关系的功能组合成功能链,以供集成测试,解决了软件工程师根据经验来组合功能链所出现的问题,不仅提高功能覆盖率,还使数据处理结果更准确,减少出错率,提高了规划效率。


图1示出了根据本发明的实施例的测试功能链生成装置的框图;图2示出了根据本发明的实施例的测试功能链生成方法的流程图;以及图3示出了根据本发明的实施例的测试功能链生成方法的流程图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。图1示出了根据本发明的实施例的测试功能链生成装置的框图。如图1所示,根据本发明的实施例的测试功能链生成装置100包括关系表生成单元102,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据操作关系数据提取出关键信息,将关键信息保存在关系表中,以生成关系表并传送至组合单元 104 ;组合单元104,连接至关系表生成单元102,基于关系表中的关键信息识别出功能之间的上下游关系,按照上下游关系将具有联系的功能组合成测试功能链。在此应该理解,功能可以例如画面功能、批处理程序、Web服务功能等。在上述技术方案中,优选地,还可以包括比较单元106,在组合单元104组合成的测试功能链为多组时,比较测试功能链之间是否有重复的路径,将比较结果传送至删除单元108 ;删除单元108,根据比较结果去除具有重复路径的测试功能链。其中,关键信息可以包括功能名称、所读取的数据表以及所写入的数据表。在上述技术方案中,优选地,组合单元104可以包括递归子单元1042,根据关系表中与每个功能对应的关键信息循环递归每个功能,定义对数据表进行读操作的功能是对数据表进行写入操作的功能的下游功能,按照定义查找出功能之间的上下游关系。应该理解,操作关系数据可以包括读操作数据、插入操作数据、更新操作数据和删除操作数据,其中,插入操作数据、更新操作数据和删除操作数据属于写操作数据。根据本发明的测试功能链生成装置从功能对数据表的操作层面入手,符合实际的应用场景,根据对数据表的操作关系自动生成测试功能链,保证了集成测试的覆盖率,避免了人工组合功能测试功能链所产生的问题。图2示出了根据本发明的实施例的测试功能链生成方法的流程图。如图2所示,根据本发明的实施例的测试功能链生成方法,包括步骤202,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据操作关系数据提取出关键信息,将关键信息保存在关系表中,以生成关系表;步骤204,基于关系表中的关键信息识别出功能之间的上下游关系,按照上下游关系将具有联系的功能组合成测试功能链。
在上述技术方案中,优选地,还可以包括在组合成的测试功能链为多组的情况下,比较测试功能链之间是否有重复的路径,根据比较结果去除具有重复路径的测试功能链。在此,应该理解,关键信息可以包括功能名称、所读取的数据表以及所写入的数据表,将与每个功能对应的关键信息写入关系表中。在上述技术方案中,优选地,在步骤204中,根据关系表中与每个功能对应的关键信息循环递归每个功能,定义对数据表进行读操作的功能是对数据表进行写入操作的功能的下游功能,按照定义查找出功能之间的上下游关系。在上述技术方案中,优选地,操作关系数据可以包括读操作数据、插入操作数据、 更新操作数据和删除操作数据,其中,插入操作数据、更新操作数据和删除操作数据属于写操作数据。通过计算机程序,提取功能设计书文档中记录的对数据表的操作关系,将功能名称以及对应的操作关系数据保存在关系表中,识别出关系表中各功能之间的上下游关系, 将具有上下游关系的功能组合成功能链,以供集成测试,解决了软件工程师根据经验来组合功能链所出现的问题,不仅提高功能覆盖率,还使数据处理结果更准确,减少出错率,提高了规划效率。图3示出了根据本发明的实施例的测试功能链生成方法的流程图。
5
如图3所示,在步骤302,参数初始化,例如存放设计书文档的路径、出异常时需要写入的日志文件等。在步骤304,与每一个功能(例如画面功能、批处理程序、Web服务功能等)对应的设计书文档中记述有对数据表(业务表)的操作关系(CRUD),将功能名称、该功能所读取的数据表、该功能所写入(包括插入操作、更新操作、删除操作)的数据表等这样的关键信息从设计书文档中提取出,将提取的关键信息列出二维列表得到关系表,可以例如下表1 所示
功能名称读取的数据表写的数据表功能A数据表4数据表Il I数据表2 11数据表3功能B数据表11 I数据表2功能C数据表3数据表5表1上表1中有三个功能分别为A、B、C,比如,功能A所写的数据表有三个数据表1、 数据表2、数据表3,它们中间由符号“ I I,,分隔,功能A所读取的数据表有一个数据表4。在步骤306,根据每个功能对应的读表与写表关系数据,将具有上下游关联关系的功能组合成功能链,例如,与A功能对应的设计书文档中记录对表1有插入或更新的操作, 与B功能对应的设计书文档中记录对表1有读取的操作,那么就认为A功能与B功能存在上、下游关系,且A功能是B功能的上游功能,按照这种定义规则,递归每一个功能,找出每个功能的上下游功能,将具有上下游关系的一组功能按照上下游关系组合成一个功能链。以上表1为例,可以生成两组功能链,都以功能A为上游机能链一功能A—功能B;链二 功能A—功能C。在步骤308,循环结束后,去除具有重复路径的功能链,即保留具有最长路径的功能链和没有重复路径的功能链。还是以表1为例,如果还存在一组链三功能A —功能B —功能D,由于链一与链三存在着重复路径,因此,链一将被从功能链的列表中去除,保留路径较长的链三以及没有重复路径的链二。根据上述方法,能够根据各个功能(例如,画面功能、批处理程序、Web服务功能) 对表的操作关系(CRUD),将存在上、下游关联关系的功能组成一组功能链,然后将这些功能链作为集成或结合测试的规划内容,后续作为集成测试设计的指导,并且还能够分辨出哪些是具有重复路径的测试功能链,避免测试任务的重复,最后得到测试功能链之间是个独立的功能链,可以涵盖所有涉及的测试路径,不会漏掉可能涉及的功能,保证了测试覆盖率。本领域内的技术人员应该理解,上述各实施例中的数据表包括但不限于数据库表。根据本发明的技术方案适用于业务相对复杂,操作路径比较长并且存在关联关系的功能点非常多的应用场景。其次,其从各个功能对表的操作层面入手,这点不仅不会偏离业务方向,而且符合实际的应用场景,最关键的是能够保证覆盖率,既然是做集成测试的规划,如果规划的阶段无法保证覆盖率,那么将严重影响后续的测试实施。因此,根据本发明的技术方案至少具有如下优点1、基于功能设计书记录的对数据表的操作关系,自动组合得到具有上下游关系的功能链,不受人为因素影响,返工的可能性小,节省时间,很容易形成最终成果物集成测试规划。2、将具有上下游关系的功能组合在一起,保障了集成测试的覆盖率,并且符合实际的应用场景。3、对后续集成测试设计、实施的具有指导意义,由于基于功能设计书文档中记录的对数据表的操作关系数据得到了测试功能链,因此,该测试功能链的准确性高,自动组合而成,使处理效率提高,减小了规划成本,为后续实施阶段赢得了时间。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种测试功能链生成装置,其特征在于,包括关系表生成单元,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据所述操作关系数据提取出关键信息,将所述关键信息保存在关系表中,以生成所述关系表并传送至组合单元;所述组合单元,连接至所述关系表生成单元,基于所述关系表中的所述关键信息识别出所述功能之间的上下游关系,按照所述上下游关系将具有联系的功能组合成所述测试功能链。
2.根据权利要求1所述的测试功能链生成装置,其特征在于,还包括比较单元,在所述组合单元组合成的所述测试功能链为多组时,比较所述测试功能链之间是否有重复的路径,将比较结果传送至删除单元;所述删除单元,根据比较结果去除具有重复路径的测试功能链。
3.根据权利要求1所述的测试功能链生成装置,其特征在于,所述关键信息包括功能名称、所读取的数据表以及所写入的数据表。
4.根据权利要求3所述的测试功能链生成装置,其特征在于,所述组合单元包括递归子单元,根据所述关系表中与每个功能对应的所述关键信息循环递归每个功能, 定义对数据表进行读操作的功能是对所述数据表进行写入操作的功能的下游功能,按照所述定义查找出所述功能之间的上下游关系。
5.根据权利要求1至4中任一项所述的测试功能链生成装置,其特征在于,所述操作关系数据包括读操作数据、插入操作数据、更新操作数据和删除操作数据,其中,所述插入操作数据、所述更新操作数据和所述删除操作数据属于写操作数据。
6.一种测试功能链生成方法,其特征在于,包括步骤202,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据所述操作关系数据提取出关键信息,将所述关键信息保存在关系表中,以生成所述关系表;步骤204,基于所述关系表中的所述关键信息识别出所述功能之间的上下游关系,按照所述上下游关系将具有联系的功能组合成所述测试功能链。
7.根据权利要求7所述的测试功能链生成方法,其特征在于,还包括在组合成的所述测试功能链为多组的情况下,比较所述测试功能链之间是否有重复的路径,根据比较结果去除具有重复路径的测试功能链。
8.根据权利要求7所述的测试功能链生成方法,其特征在于,在所述步骤202中,所述关键信息包括功能名称、所读取的数据表以及所写入的数据表,将与每个功能对应的所述关键信息写入所述关系表中。
9.根据权利要求8所述的测试功能链生成方法,其特征在于,在所述步骤204中,根据所述关系表中与每个功能对应的所述关键信息循环递归每个功能,定义对数据表进行读操作的功能是对所述数据表进行写入操作的功能的下游功能,按照所述定义查找出所述功能之间的上下游关系。
10.根据权利要求6至9中任一项所述的测试功能链生成方法,其特征在于,所述操作关系数据包括读操作数据、插入操作数据、更新操作数据和删除操作数据,其中,所述插入操作数据、所述更新操作数据和所述删除操作数据属于写操作数据。
全文摘要
本发明提供了一种测试功能链生成装置,包括关系表生成单元,读取与功能对应的设计书文档中所记录的对数据表的操作关系数据并根据所述操作关系数据提取出关键信息,将所述关键信息保存在关系表中,以生成所述关系表并传送至组合单元;所述组合单元,连接至所述关系表生成单元,基于所述关系表中的所述关键信息识别出所述功能之间的上下游关系,按照所述上下游关系将具有联系的功能组合成所述测试功能链。本发明还提供了一种测试功能链生成方法。根据本发明的技术方案,能够应用于复杂的应用场景,保证测试覆率,不受人为影响因素,提高了功能测试效率并减少测试成本。
文档编号G06F11/36GK102495801SQ20111040025
公开日2012年6月13日 申请日期2011年12月7日 优先权日2011年12月7日
发明者凌嘉, 杜旭明 申请人:方正国际软件(北京)有限公司, 方正国际软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1