测试用例生成方法和装置制造方法及图纸

技术编号:14350278 阅读:108 留言:0更新日期:2017-01-04 21:03
本公开公开了一种测试用例生成方法和装置。所述方法包括:从源代码文件中提取类中所包含的方法的方法信息;根据所述方法信息生成所述类的测试用例。这样,用自动生成的方法代替了传统手动输入的方法生成测试用例,从而提高了测试用例的生成效率,提高了测试效率,节省了用户的工作量,提升了用户体验。

【技术实现步骤摘要】

本公开涉及计算机领域,具体地,涉及一种测试用例生成方法和装置
技术介绍
目前,随着计算机技术的不断发展,计算机软件的应用越来越广泛。在对计算机软件进行测试时,用户通常会手动输入所需的数据,设计制作测试用例。测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通常制作测试用例耗时较长,使得软件的测试效率较低。
技术实现思路
本公开的目的是提供一种简单易行的测试用例生成方法和装置。为了实现上述目的,本公开提供一种测试用例生成方法。所述方法包括:从源代码文件中提取类中所包含的方法的方法信息;根据所述方法信息生成所述类的测试用例。可选地,所述从源代码文件中提取类中所包含的方法的方法信息的步骤包括:检测在编辑所述源代码文件过程中的保存操作;当检测到当前保存操作时,从源代码文件中提取上一次保存操作之后更新的、类中所包含的方法的方法信息。可选地,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述方法信息生成结构化文件;根据所述结构化文件生成所述类的测试用例。可选地,所述方法信息包括参数类型,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述参数类型生成参数值;根据所述参数值生成所述类的测试用例。可选地,所述方法信息包括返回类型,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述返回类型生成返回值的断言值;根据所述返回值的断言值生成所述类的测试用例。本公开还提供一种测试用例生成装置。所述装置包括:提取模块,用于从源代码文件中提取类中所包含的方法的方法信息;生成模块,用于根据所述方法信息生成所述类的测试用例。通过上述技术方案,从源代码文件中提取出方法信息,并自动地将方法信息生成的数据写入测试用例中,生成测试用例。这样,用自动生成的方法代替了传统手动输入的方法生成测试用例,从而提高了测试用例的生成效率,提高了测试效率,节省了用户的工作量,提升了用户体验。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是一示例性实施例提供的测试用例生成方法的流程图;图2是另一示例性实施例提供的测试用例生成方法的流程图;图3是又一示例性实施例提供的测试用例生成方法的流程图;图4是又一示例性实施例提供的测试用例生成方法的流程图;图5是又一示例性实施例提供的测试用例生成方法的流程图;以及图6是一示例性实施例提供的测试用例生成装置的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。图1是一示例性实施例提供的测试用例生成方法的流程图。如图1所示,所述方法包括以下步骤。在步骤S11中,从源代码文件中提取类中所包含的方法的方法信息。其中,类中可以包括多个方法。方法信息是指表示该方法的特征的数据,可以用于生成测试用例所需的数据。例如方法信息可以包括以下中的一者或多者:方法签名、参数名称、参数类型、以及返回类型。在步骤S12中,根据所述方法信息生成所述类的测试用例。如上所示,根据方法信息可以生成测试用例所需的数据(例如,测试用例的方法名称、参数值、返回值的断言值等)。可以依据预定的算法,根据方法信息生成这些数据,并将这些数据自动输入预定的程序中,生成测试用例。例如,可以将源代码文件中提取的方法的方法签名直接作为测试用例中的方法名称。通过上述技术方案,从源代码文件中提取出方法信息,并自动地将方法信息生成的数据写入测试用例中,生成测试用例。这样,用自动生成的方法代替了传统手动输入的方法生成测试用例,从而提高了测试用例的生成效率,提高了测试效率,节省了用户的工作量,提升了用户体验。具体地,可以在源代码的编辑全部完成之后,一次性地,从源代码文件中提取出方法信息,存储在内存或指定的文件中。也可以在用户编辑源代码的同时,对方法信息进行提取。图2是另一示例性实施例提供的测试用例生成方法的流程图。如图2所示,在图1的基础上,所述从源代码文件中提取类中所包含的方法的方法信息的步骤(步骤S11)可以包括以下步骤。在步骤S111中,检测在编辑所述源代码文件时的保存操作。其中,在编辑源代码时,用户可能会手动地对所编辑的文档进行保存。例如,通过键盘中的“Ctrl+S”快捷键进行保存,通过鼠标右键选择“保存”按键进行保存,或者,通过文档中设定的自动保存功能进行保存。这些都属于在编辑源代码文件时的保存操作。在步骤S112中,当检测到当前保存操作时,从源代码文件中提取上一次保存操作之后更新的、类中所包含的方法的方法信息。当检测到保存操作时,有可能编辑的源代码文件已经有更新。该实施例中,选择在该时机对源代码文件中的方法信息进行一次提取。并且,每次只提取上一次保存操作至当前保存操作期间更新的方法信息。具体地,可以将上一次保存操作后的源代码文件进行临时存储。在检测到当前保存操作时,将当前源代码文件和上一次保存操作后的源代码文件进行比对,将所更新的方法信息进行提取。该实施例中,方法信息在编辑源代码文件的同时能够在后台被自动提取,不需要用户再额外进行提取的动作,节省了用户的工作量,提高了工作效率,对方法信息也进行了很好的数据备份。方法信息被提取出来后,可以存储在一些文件中。该文件能够存储方法信息的数据,并且其数据能够依据一定的程序被从中提取出。图3是又一示例性实施例提供的测试用例生成方法的流程图。如图3所示,在图1的基础上,根据方法信息生成所述类的测试用例的步骤(步骤S12)可以包括以下步骤。在步骤S121中,根据方法信息生成结构化文件(例如XML文件)。在步骤S122中,根据结构化文件生成所述类的测试用例。该实施例中,将方法信息存储在结构化文件当中,以利于方法信息的准确定位与存储,从而利于生成测试用例时,数据的准确提取。这样,就增大了方法信息的存储效率,也增大了测试用例的生成效果。以下是一示例性实施例提供的结构化文件中存储的方法信息。上述数据为两个方法的方法信息。其中,对于每个方法(method),存储有该方法的方法签名(methodname)、返回类型(returnType)、参数名称(parametername)、参数类型(type)。在方法信息包括参数类型时,可以由系统根据参数类型自动生成测试用例所需的参数值。图4是又一示例性实施例提供的测试用例生成方法的流程图。如图4所示,在图1的基础上,根据方法信息生成所述类的测试用例的步骤(步骤S12)可以包括以下步骤。在步骤S123中,根据所述参数类型生成参数值。相关技术中,在手动输入参数值生成测试用例时,用户可以根据参数类型自己确定参数值来输入,当数据量较大时,只能挑选其中的少量参数进行手动输入,因此,效率很低。在该实施例中,系统可以根据参数类型自动生成用于测试用例的参数值。并且,可以以枚举、随机数等方式生成。例如,系统根据参数类型自动生成参数的序列值{0,1,2,…,10000本文档来自技高网...
测试用例生成方法和装置

【技术保护点】
一种测试用例生成方法,其特征在于,所述方法包括:从源代码文件中提取类中所包含的方法的方法信息;根据所述方法信息生成所述类的测试用例。

【技术特征摘要】
1.一种测试用例生成方法,其特征在于,所述方法包括:从源代码文件中提取类中所包含的方法的方法信息;根据所述方法信息生成所述类的测试用例。2.根据权利要求1所述的方法,其特征在于,所述从源代码文件中提取类中所包含的方法的方法信息的步骤包括:检测在编辑所述源代码文件过程中的保存操作;当检测到当前保存操作时,从源代码文件中提取上一次保存操作之后更新的、类中所包含的方法的方法信息。3.根据权利要求1所述的方法,其特征在于,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述方法信息生成结构化文件;根据所述结构化文件生成所述类的测试用例。4.根据权利要求1所述的方法,其特征在于,所述方法信息包括参数类型,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述参数类型生成参数值;根据所述参数值生成所述类的测试用例。5.根据权利要求1所述的方法,其特征在于,所述方法信息包括返回类型,所述根据所述方法信息生成所述类的测试用例的步骤包括:根据所述返回类型生成返回值的断言值;根据所述返回值的断言值生成所述类的测试用例。6.一种测试用例生成装置,...

【专利技术属性】
技术研发人员:谢新强张德阳纪勇
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

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

1