一种用于确定程序文件所对应的测试数据的方法与设备技术

技术编号:17519620 阅读:49 留言:0更新日期:2018-03-23 18:17
本发明专利技术的目的是提供一种用于确定程序文件所对应的测试数据的方法与设备,其中,测试设备获取待处理的数据集合在程序文件中的一条或多条数据运行记录;根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息;根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。与现有技术相比,本发明专利技术通过获取数据集合的一条或多条数据运行记录,从而对所述数据集合的数据流拓扑信息进行建立或更新,确定对应的测试相关数据;从而根据所述数据流拓扑信息,覆盖与待处理的数据集合相对应的完整的数据运行记录,进而覆盖完整的测试相关数据,保证了测试相关数据的完整性与多样性,提高了测试相关数据的获取效率。

【技术实现步骤摘要】
一种用于确定程序文件所对应的测试数据的方法与设备
本专利技术涉及互联网
,尤其涉及一种用于确定程序文件所对应的测试数据的技术。
技术介绍
在测试过程中,特别是基于分布式数据系统的脚本模块测试时,最为重要且最为复杂的即为对于测试数据的准备和构造。如何能够利用最少的测试数据来覆盖最全面的代码分支或程序路径,往往是困扰测试者最大的问题。当前,对于测试数据的准备和构造主要有两种方法:利用机器学习对输入输出数据进行分类抽样和通过人工阅读代码构造数据。机器学习分类能够对数据进行聚类划分,抽取等价类中的代表数据,然而这类算法的对象是数据而不是程序本身,即所抽取的数据只能代表在输入输出数据中的覆盖率而不能代表是否能够覆盖程序所有的分支。这种情况在数据本身密度较大时出现的误差很大,而且对于多路输入之间的数据耦合关系无法正确覆盖到。人工代码阅读方案又是另一个极端,完全依据程序本身而脱离了数据的多样性,加之人工阅读的效率和准确性没有机器学习方法高,测试数据往往不能符合需求。
技术实现思路
本专利技术的目的是提供一种用于确定程序文件所对应的测试数据的方法与设备。根据本专利技术的一个方面,提供了一种用于确定程序文件所对应的测试数据的方法,其中,该方法包括以下步骤:a获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息;b根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;c根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。根据本专利技术的另一方面,还提供了一种用于确定程序文件所对应的测试数据的测试设备,其中,该设备包括:获取装置,用于获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息;更新装置,用于根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;确定装置,用于根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。与现有技术相比,本专利技术通过获取待处理的数据集合在程序文件中的一条或多条数据运行记录,根据所述数据运行记录,对所述数据集合在所述程序文件中的数据流拓扑信息进行建立或更新,根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据;从而根据所述数据流拓扑信息,覆盖与待处理的数据集合相对应的完整的数据运行记录,进而覆盖完整的测试相关数据,保证了测试相关数据的完整性与多样性,提高了测试相关数据的获取效率。而且,本专利技术还可以通过新增、删除、重新映射的方式,对数据流拓扑信息进行更新,从而提高更新效率,并保证了测试相关数据的完整性与多样性。而且,本专利技术还可以从所述数据集合中选取对应的测试数据,以对所更新的程序路径进行测试,从而既可以对所更新的程序路径的可用性进行测试,也可以用作后续测试中的测试数据,保证了测试相关数据的完整性与有效性,提高了测试相关数据的获取效率。而且,本专利技术还可以基于预定的权重条件,对所述路径信息的路径权重信息进行确定;进一步地,还可以确定所述路径信息相对应的频次信息;进一步地,还可以结合所述路径权重信息,确定与所述程序路径信息相对应的测试数据;从而可以对路径信息进行进一步的处理,按照如频次、位置等信息,确定所述路径权重信息,完善了所述数据流拓扑信息,进而根据所述路径权重信息确定所述测试数据,保证了测试相关数据的完整性与多样性,提高了测试相关数据的获取效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示出根据本专利技术一个方面的一种用于确定程序文件所对应的测试数据的测试设备示意图;图2示出根据本专利技术一个优选实施例的一种用于确定程序文件所对应的测试数据的测试设备示意图;图3示出根据本专利技术另一个方面的一种用于确定程序文件所对应的测试数据的方法流程图;图4示出根据本专利技术一个优选实施例的一种用于确定程序文件所对应的测试数据的方法流程图;图5示出根据本专利技术的一个方面的一种用于确定程序文件所对应的数据流拓扑信息的样例程序示意图;图6和图7示出根据本专利技术的一个方面的一种用于确定程序文件所对应的数据流拓扑信息的样例程序更新示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本专利技术作进一步详细描述。图1示出根据本专利技术一个方面的一种用于确定程序文件所对应的测试数据的测试设备示意图;其中,所述测试设备包括获取装置11、更新装置12、确定装置13。具体地,获取装置11获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息;更新装置12根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;确定装置13根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。在此,所述测试设备包括但不限于网络设备、用户设备、或网络设备与用户设备通过网络相集成所构成的设备。其中,所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述用户设备其包括但不限于任何一种可与用户通过键盘、遥控器、触摸板、或声控设备进行人机交互的电子产品,例如计算机、智能手机、或PDA等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。本领域技术人员应能理解,其他的测试设备同样适用于本专利技术,也应包含在本专利技术保护范围以内,并在此以引用方式包含于此。上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行数据运行记录的获取、数据流拓扑信息的建立或更新、测试相关数据的确定等,直至测试设备停止获取待处理的数据集合在程序文件中的一条或多条数据运行记录。其中,获取装置11获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息。具体地,获取装置11通过基于各种通信协议(CommunicationsProtocol),与其他能够提供所述数据运行记录的设备,如数据运行记录数据库进行交互,获取待处理的数据集合在程序文件中的一条或多条数据运行记录;或者利用能够提供所述数据运行记录的脚本,如shell、awk等脚本,对所述待处理的数据集合进行跟踪,获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述跟踪并获取的方式例如通过记录所述数本文档来自技高网...
一种用于确定程序文件所对应的测试数据的方法与设备

【技术保护点】
一种用于确定程序文件所对应的测试数据的方法,其中,该方法包括以下步骤:a获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息;b根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;c根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。

【技术特征摘要】
1.一种用于确定程序文件所对应的测试数据的方法,其中,该方法包括以下步骤:a获取待处理的数据集合在程序文件中的一条或多条数据运行记录,其中,所述数据运行记录包括所述数据集合中对应数据单元的地址相关信息;b根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;c根据所述数据流拓扑信息,确定对应于所述程序文件的测试相关数据。2.根据权利要求1所述的方法,其中,所述步骤b包括:-根据所述数据运行记录,更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息,所述程序路径与所述地址相关信息相对应;其中,所述更新包括以下至少任一项:-新增所述数据流拓扑信息中的路径信息;-删除所述数据流拓扑信息中的路径信息;-将所述数据流拓扑信息中的路径信息进行重新映射。3.根据权利要求1或2所述的方法,其中,所述步骤c包括:-对于所述数据流拓扑信息中更新的路径信息,从所述数据集合中选取对应的测试相关数据,以供测试所述程序文件中与所述更新的路径信息相对应的程序路径。4.根据权利要求1所述的方法,其中,该方法还包括:-基于预定的权重确定条件,确定与所述数据流拓扑信息中一条或多条与所述程序文件中程序路径相对应的路径信息相对应的路径权重信息;其中,所述步骤b包括:-根据所述数据运行记录,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含一条或多条与所述程序文件中程序路径相对应的路径信息以及与所述路径信息相对应的路径权重信息,所述程序路径与所述地址相关信息相对应;其中,所述预定的权重确定条件包括以下至少任一项:-根据所述路径信息在所述程序路径中的位置信息;-根据所述路径信息所对应的频次信息。5.根据权利要求4所述的方法,其中,所述步骤b包括:-根据所述数据运行记录,确定一条或多条与所述程序文件中程序路径相对应的路径信息,其中,所述程序路径与所述地址相关信息相对应;-根据所述路径信息,建立或更新所述数据集合在所述程序文件中的数据流拓扑信息,其中,所述数据流拓扑信息包含与所述路径信息相对应的频次信息。6.根据权利要求4或5所述的方法,其中,所述步骤c包括:-根据所述数据流拓扑信息,结合与所述路径信息相对应的路径权重信息,确定与所述程序路径信息相对应的测试相关数据。7.一种用于确定程序文件所对应的测试数据的测...

【专利技术属性】
技术研发人员:徐健王昭赵辉刘哲文
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1