CN117493151A - 项目测试方法、装置、存储介质以及电子设备 - Google Patents
项目测试方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN117493151A CN117493151A CN202210887117.0A CN202210887117A CN117493151A CN 117493151 A CN117493151 A CN 117493151A CN 202210887117 A CN202210887117 A CN 202210887117A CN 117493151 A CN117493151 A CN 117493151A
- Authority
- CN
- China
- Prior art keywords
- test case
- data
- current interface
- interface
- testing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 380
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000010586 diagram Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010998 test method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
Abstract
本发明公开了一种项目测试方法、装置、存储介质以及电子设备。该方法包括:确定待测试的目标项目的所有待测数据;根据待测数据的数据关系生成待测数据的数据关系图;获取所有接口中每一个接口的接口参数;将每一个接口作为当前接口,根据当前接口的当前接口参数,从历史用例库中查找用于测试当前接口的第一测试用例,在查找到第一测试用例的情况下,将第一测试用例作为测试当前接口的第二测试用例;在未查找到第一测试用例的情况下,根据当前接口参数生成第二测试用例,并将第二测试用例存储在历史用例库中,以得到用于测试所有接口的测试用例集;使用测试用例集对目标项目进行测试。本发明解决了项目的测试效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种项目测试方法、装置、存储介质以及电子设备。
背景技术
在对计算机的代码项目进行测试的过程中,通常需要执行多个测试用例对项目进行测试。
然而,现有技术中,通常是由工作人员针对不同的项目配置测试用例,以对项目进行测试。然而,该方法需要付出大量的人工,对项目进行测试的测试效率低。
发明内容
本发明实施例提供了一种项目测试方法、装置、存储介质以及电子设备,以至少解决项目的测试效率低的技术问题。
根据本发明实施例的一个方面,提供了一种项目测试方法,包括:确定待测试的目标项目的所有待测数据;根据上述待测数据的数据关系生成上述待测数据的数据关系图,其中,上述数据关系图中包括上述待测数据所使用到的所有接口;获取上述所有接口中每一个接口的接口参数;将每一个接口作为当前接口,根据上述当前接口的当前接口参数,从历史用例库中查找用于测试上述当前接口的第一测试用例,在查找到上述第一测试用例的情况下,将上述第一测试用例作为测试上述当前接口的第二测试用例;在未查找到上述第一测试用例的情况下,根据上述当前接口参数生成上述第二测试用例,并将上述第二测试用例存储在上述历史用例库中,以得到用于测试上述所有接口的测试用例集;使用上述测试用例集对上述目标项目进行测试。
根据本发明实施例的另一方面,提供了一种项目测试装置,包括:确定模块,用于确定待测试的目标项目的所有待测数据;第一生成模块,用于根据上述待测数据的数据关系生成上述待测数据的数据关系图,其中,上述数据关系图中包括上述待测数据所使用到的所有接口;获取模块,用于获取上述所有接口中每一个接口的接口参数;第二生成模块,用于将每一个接口作为当前接口,根据上述当前接口的当前接口参数,从历史用例库中查找用于测试上述当前接口的第一测试用例,在查找到上述第一测试用例的情况下,将上述第一测试用例作为测试上述当前接口的第二测试用例;在未查找到上述第一测试用例的情况下,根据上述当前接口参数生成上述第二测试用例,并将上述第二测试用例存储在上述历史用例库中,以得到用于测试上述所有接口的测试用例集;测试模块,用于使用上述测试用例集对上述目标项目进行测试。
作为一种可选的示例,上述当前接口参数中包括特殊要求参数,上述第二生成模块包括:处理单元,用于根据上述当前接口的上述特殊要求参数,确定用于测试上述当前接口所需要的输入数据;将上述输入数据作为测试用例中携带的数据,生成上述当前接口的上述第二测试用例。
作为一种可选的示例,上述处理单元还用于:确定上述当前接口的上述特殊要求参数所规定的数据长度、数据类型与数据数量;生成上述数据数量个符合上述数据类型与上述数据长度的数据;将生成的数据作为用于测试上述当前接口的上述输入数据。
作为一种可选的示例,上述处理单元还用于:根据上述特殊要求参数,确定第一输入数据与第二输入数据,其中,在上述第一输入数据生成的第一测试用例测试上述当前接口的情况下,上述当前接口反馈正确结果,在上述第二输入数据生成的第二测试用例测试上述当前接口的情况下,上述当前接口反馈错误结果。
作为一种可选的示例,上述处理单元还用于:将上述输入数据填入测试用例模板中的第一位置,得到上述当前接口的上述第二测试用例,其中,上述第一位置为上述测试用例模板的预留位置,上述第一位置的初始数据为空。
作为一种可选的示例,上述第二生成模块包括:查找单元,用于从上述历史用例库中查找上述当前接口的各个版本的测试用例;确定单元,用于将最新版本的上述测试用例作为上述第一测试用例。
作为一种可选的示例,上述查找单元还用于:在上述历史用例库中查找到上述当前接口的上述第一测试用例的情况下,在上述第一测试用例的版本与上述当前接口的版本不符的情况下,确定未查找到上述第一测试用例。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述项目测试方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的项目测试方法。
在本发明实施例中,采用了确定待测试的目标项目的所有待测数据;根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;获取所述所有接口中每一个接口的接口参数;将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;使用所述测试用例集对所述目标项目进行测试的方法,由于在上述方法中,在对目标项目进行测试的过程中,可以获取目标项目的所有待测数据,并生成数据关系图,根据数据关系图确定所有接口,获取每一个接口的接口参数,然后根据接口参数来生成测试用例,得到测试用例集,使用测试用例集对目标项目进行测试,不再需要人工培植每一个项目的测试用例,从而实现了提高对项目的测试效率的目的,进而解决了项目的测试效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的项目测试方法的流程图;
图2是根据本发明实施例的一种可选的项目测试方法的系统示意图;
图3是根据本发明实施例的一种可选的项目测试装置的结构示意图;
图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的第一方面,提供了一种项目测试方法,可选地,如图1所示,上述方法包括:
S102,确定待测试的目标项目的所有待测数据;
S104,根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;
S106,获取所述所有接口中每一个接口的接口参数;
S108,将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;
S110,使用所述测试用例集对所述目标项目进行测试。
可选的,本实施例可以应用在软硬件开发、测试的过程中。本实施例可以单个项目测试或者多个项目并行测试。如果为多个项目,则将每一个项目作为目标项目进行测试。对于每一个目标项目,获取目标项目的待测数据,根据所述待测数据的数据关系生成所述待测数据的数据关系图,从数据关系图中获取目标项目的待测数据的所有接口。接口包括但不限于单个功能的接口或者互相之间可以调用的接口。接口对应接口参数,接口参数可以但不限于包括接口的接口标志、接口所属分类等。
每一个接口都有接口的接口参数。根据每一个接口的接口参数,生成每一个接口的第二测试用例,得到所有接口的测试用例集。通过测试用例集对目标项目进行测试。
可选的,本实施例中,对于每一个接口,该接口可以是被测试过的接口。可以从历史用例库中查找是否存在该接口的测试用例。如果已经存在该接口的测试用例,则可以从历史用例库中获取该接口的测试用例。如果历史用例库中未包含该接口的测试用例,则可以生成该接口的测试用例。将生成的测试用例存储在历史用例库中。如果历史用例库中单个接口的测试用例数量小于第一阈值,则可以为该接口生成测试用例,保证测试用例的数量至少在第一阈值。如果有测试用例删除,则可以生成新的测试用例。
通过本实施例,在对目标项目进行测试的过程中,可以获取目标项目的每一个接口的接口参数,然后根据接口参数来生成测试用例,得到测试用例集,使用测试用例集对目标项目进行测试,不再需要人工培植每一个项目的测试用例,从而实现了提高对项目的测试效率的目的。
作为一种可选的示例,所述当前接口参数中包括特殊要求参数,所述根据所述当前接口参数,生成用于测试所述当前接口的第二测试用例包括:
根据当前接口的特殊要求参数,确定用于测试当前接口所需要的输入数据;
将输入数据作为测试用例中携带的数据,生成当前接口的第二测试用例。
可选的,本实施例中,在接口参数中可以包括特殊要求参数。特殊要求参数可以用于指示生成的测试用例的特殊要求。例如,特殊要求参数可以使用不同的数字、字母、符号以及三者的至少两者的组合来表示。不同的特殊要求参数可以表示不同的特殊要求。特殊要求可以规定生成的测试用例中携带的数据。根据特殊要求,生成符合要求的输入数据作为第二测试用例中携带的数据。
作为一种可选的示例,根据特殊要求参数,确定用于测试当前接口所需要的输入数据包括:
确定当前接口的特殊要求参数所规定的数据长度、数据类型与数据数量;
生成数据数量个符合数据类型与数据长度的数据;
将生成的数据作为用于测试当前接口的输入数据。
可选的,本实施例中,特殊要求参数可以包括输入数据的数据长度、数据类型与数据数量。数据长度可以指输入数据的字节长度与字符长度。字节长度为每一个字符的字节数,字符长度为字符的数量。数据类型可以为字母、数字、文本、符号等至少一种类型。数据数量可以为要求输入的字符串的数量。例如,输入一个字符串或者间隔输入两个字符串等。通过特殊要求参数的要求,生成符合要求的输入数据作为测试用例中的数据,从而形成测试用例。
作为一种可选的示例,根据特殊要求参数,确定用于测试当前接口所需要的输入数据包括:
根据特殊要求参数,确定第一输入数据与第二输入数据,其中,在第一输入数据生成的测试用例测试当前接口的情况下,当前接口反馈正确结果,在第二输入数据生成的测试用例测试当前接口的情况下,当前接口反馈错误结果。
可选的,本实施例中,每一个特殊要求参数可以对应生成一个或多个测试用例。如果生成一个测试用例,则根据特殊要求参数的要求来生成第一输入数据,得到一个测试用例。如果一个特殊要求参数生成多个测试用例,则可以按照特殊要求参数生成一个测试用例,同时生成多个违反特殊要求参数的测试用例。例如,特殊要求参数要求输入字母类型的数据,生成一个字母类型的数据作为一个测试用例中的数据,生成数字类型的数据作为另一个测试用例中的数据。得到的一个测试用例是符合特殊要求参数的要求的,得到的另一个测试用例并不符合特殊要求参数的要求。
作为一种可选的示例,将输入数据作为测试用例中携带的数据,生成当前接口的第二测试用例包括:
将输入数据填入测试用例模板中的第一位置,得到当前接口的第二测试用例,其中,第一位置为测试用例模板的预留位置,第一位置的初始数据为空。
可选的,本实施例中,在生成第二测试用例时,可以使用测试用例模板生成测试用例。测试用例模板可以为在第一位置预留数据写入位置的模板文件。除了第一位置之外的其他位置的代码内容可以在每一个测试用例中共用。第一位置可以填入根据特殊要求参数生成的输入数据。根据填入的输入数据的不同,得到不同的测试用例。本实施例可以配置不同的测试用例模板,以生成不同类型的测试用例。
作为一种可选的示例,所述从历史用例库中查找用于测试所述当前接口的第一测试用例包括:
从所述历史用例库中查找所述当前接口的各个版本的测试用例;
将最新版本的所述测试用例作为所述第一测试用例。
可选的,本实施例中,当从历史用例库中查找用于测试所述当前接口的第一测试用例时,可以先查找当前接口的所有版本的测试用例。当前接口的测试用例的版本可以分先后,按照时间顺序进行排序。查找到当前接口的所有测试用例后,将最新版本的测试用例作为第一测试用例。
作为一种可选的示例,上述方法还包括:
在历史用例库中查找到当前接口的第一测试用例的情况下,在第一测试用例的版本与当前接口的版本不符的情况下,确定未查找到第一测试用例。
可选的,本实施例中,测试用例库中的测试用例携带版本号。版本号用于标志测试用例的版本。如果接口的版本与测试用例的版本不符,则生成与接口的版本相符的测试用例。测试用例库中每一个版本的接口可以对应第一阈值个相同版本的测试用例,如果数量不够,可以生成对应版本的测试用例存储在历史用例库中。
图2是本实施例的系统示意图。图2中,当目标项目被测试时,获取目标项目的所有接口,解析接口参数,获取接口信息、类型和特殊要求等。根据解析到的数据,生成测试用例,使用测试用例测试目标项目。测试用例可以存储历史用例集,可以按照版本进行存储。
本实施例中,可以基于Json、excel配置自适应验证测试,通过接口参数json、excel配置算法生成测试数据关系图,关系图可以为接口和接口数据的关系。定义json或者固定的excel格式,包括接口信息,参数,类型,特殊要求,默认值等。接收接口参数json或者excel,解析生成对象、形成接口集合,并获取接口集合中各个接口的测试用例集合以及各个接口所属参数集合的参数类型、参数测试数据、参数类型配对集合。
利用上述得到的测试数据关系图,再通过用例生成算法,生成测试用例进行测试并生成测试报告。首先根据筛选接口是否存在历史用例,如不存在则采用采用等价类法、边界值法对接口生成相应验证用例,并存入历史库中。如存在时,在历史用例中筛选出符合最新接口的用例集。根据接口参数特殊性生成对应测试的测试用例集。将所有接口生成用例进行集合,形成现执行版本用例集。按接口集合顺序形成的执行顺序。跟执行算法执行用例集,并返回测试报告。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本申请实施例的另一方面,还提供了一种项目测试装置,如图3所示,包括:
确定模块302,用于确定待测试的目标项目的所有待测数据;
第一生成模块304,用于根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;
获取模块306,用于获取所述所有接口中每一个接口的接口参数;
第二生成模块308,用于将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;
测试模块310,用于使用所述测试用例集对所述目标项目进行测试。
可选的,本实施例可以应用在软硬件开发、测试的过程中。本实施例可以单个项目测试或者多个项目并行测试。如果为多个项目,则将每一个项目作为目标项目进行测试。对于每一个目标项目,获取目标项目的待测数据,根据所述待测数据的数据关系生成所述待测数据的数据关系图,从数据关系图中获取目标项目的待测数据的所有接口。接口包括但不限于单个功能的接口或者互相之间可以调用的接口。接口对应接口参数,接口参数可以但不限于包括接口的接口标志、接口所属分类等。
每一个接口都有接口的接口参数。根据每一个接口的接口参数,生成每一个接口的第二测试用例,得到所有接口的测试用例集。通过测试用例集对目标项目进行测试。
可选的,本实施例中,对于每一个接口,该接口可以是被测试过的接口。可以从历史用例库中查找是否存在该接口的测试用例。如果已经存在该接口的测试用例,则可以从历史用例库中获取该接口的测试用例。如果历史用例库中未包含该接口的测试用例,则可以生成该接口的测试用例。将生成的测试用例存储在历史用例库中。如果历史用例库中单个接口的测试用例数量小于第一阈值,则可以为该接口生成测试用例,保证测试用例的数量至少在第一阈值。如果有测试用例删除,则可以生成新的测试用例。
通过本实施例,在对目标项目进行测试的过程中,可以获取目标项目的每一个接口的接口参数,然后根据接口参数来生成测试用例,得到测试用例集,使用测试用例集对目标项目进行测试,不再需要人工培植每一个项目的测试用例,从而实现了提高对项目的测试效率的目的。
作为一种可选的示例,所述当前接口参数中包括特殊要求参数,所述第二生成模块包括:
处理单元,用于根据所述当前接口的所述特殊要求参数,确定用于测试所述当前接口所需要的输入数据;
将所述输入数据作为测试用例中携带的数据,生成所述当前接口的所述第二测试用例。
可选的,本实施例中,在接口参数中可以包括特殊要求参数。特殊要求参数可以用于指示生成的测试用例的特殊要求。例如,特殊要求参数可以使用不同的数字、字母、符号以及三者的至少两者的组合来表示。不同的特殊要求参数可以表示不同的特殊要求。特殊要求可以规定生成的测试用例中携带的数据。根据特殊要求,生成符合要求的输入数据作为第二测试用例中携带的数据。
作为一种可选的示例,所述处理单元还用于:
确定所述当前接口的所述特殊要求参数所规定的数据长度、数据类型与数据数量;
生成所述数据数量个符合所述数据类型与所述数据长度的数据;
将生成的数据作为用于测试所述当前接口的所述输入数据。
可选的,本实施例中,特殊要求参数可以包括输入数据的数据长度、数据类型与数据数量。数据长度可以指输入数据的字节长度与字符长度。字节长度为每一个字符的字节数,字符长度为字符的数量。数据类型可以为字母、数字、文本、符号等至少一种类型。数据数量可以为要求输入的字符串的数量。例如,输入一个字符串或者间隔输入两个字符串等。通过特殊要求参数的要求,生成符合要求的输入数据作为测试用例中的数据,从而形成测试用例。
作为一种可选的示例,上述处理单元还用于:
根据所述特殊要求参数,确定第一输入数据与第二输入数据,其中,在所述第一输入数据生成的第一测试用例测试所述当前接口的情况下,所述当前接口反馈正确结果,在所述第二输入数据生成的第二测试用例测试所述当前接口的情况下,所述当前接口反馈错误结果。
可选的,本实施例中,每一个特殊要求参数可以对应生成一个或多个测试用例。如果生成一个测试用例,则根据特殊要求参数的要求来生成第一输入数据,得到一个测试用例。如果一个特殊要求参数生成多个测试用例,则可以按照特殊要求参数生成一个测试用例,同时生成多个违反特殊要求参数的测试用例。例如,特殊要求参数要求输入字母类型的数据,生成一个字母类型的数据作为一个测试用例中的数据,生成数字类型的数据作为另一个测试用例中的数据。得到的一个测试用例是符合特殊要求参数的要求的,得到的另一个测试用例并不符合特殊要求参数的要求。
作为一种可选的示例,上述处理单元还用于:
将所述输入数据填入测试用例模板中的第一位置,得到所述当前接口的所述第二测试用例,其中,所述第一位置为所述测试用例模板的预留位置,所述第一位置的初始数据为空。
可选的,本实施例中,在生成第二测试用例时,可以使用测试用例模板生成测试用例。测试用例模板可以为在第一位置预留数据写入位置的模板文件。除了第一位置之外的其他位置的代码内容可以在每一个测试用例中共用。第一位置可以填入根据特殊要求参数生成的输入数据。根据填入的输入数据的不同,得到不同的测试用例。本实施例可以配置不同的测试用例模板,以生成不同类型的测试用例。
作为一种可选的示例,上述第二生成模块包括:
查找单元,用于从所述历史用例库中查找所述当前接口的各个版本的测试用例;
确定单元,用于将最新版本的所述测试用例作为所述第一测试用例。
可选的,本实施例中,当从历史用例库中查找用于测试所述当前接口的第一测试用例时,可以先查找当前接口的所有版本的测试用例。当前接口的测试用例的版本可以分先后,按照时间顺序进行排序。查找到当前接口的所有测试用例后,将最新版本的测试用例作为第一测试用例。
作为一种可选的示例,上述查找单元还用于:
在历史用例库中查找到当前接口的第一测试用例的情况下,在第一测试用例的版本与当前接口的版本不符的情况下,确定未查找到第一测试用例。
可选的,本实施例中,测试用例库中的测试用例携带版本号。版本号用于标志测试用例的版本。如果接口的版本与测试用例的版本不符,则生成与接口的版本相符的测试用例。测试用例库中每一个版本的接口可以对应第一阈值个相同版本的测试用例,如果数量不够,可以生成对应版本的测试用例存储在历史用例库中。
本实施例的其他示例请参见上述示例,在此不在赘述。
图4是根据本申请实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器402、通信接口404、存储器406和通信总线408,其中,处理器402、通信接口404和存储器406通过通信总线408完成相互间的通信,其中,
存储器406,用于存储计算机程序;
处理器402,用于执行存储器406上所存放的计算机程序时,实现如下步骤:
确定待测试的目标项目的所有待测数据;
根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;
获取所述所有接口中每一个接口的接口参数;
将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;
使用所述测试用例集对所述目标项目进行测试。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器406中可以但不限于包括上述项目测试装置中的确定模块302、第一生成模块304、获取模块306、第二生成模块308以及测试模块310。此外,还可以包括但不限于上述请求的处理装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述项目测试方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图4其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述项目测试方法中的步骤。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种项目测试方法,其特征在于,包括:
确定待测试的目标项目的所有待测数据;
根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;
获取所述所有接口中每一个接口的接口参数;
将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;
使用所述测试用例集对所述目标项目进行测试。
2.根据权利要求1所述的方法,其特征在于,所述当前接口参数中包括特殊要求参数,所述根据所述当前接口参数,生成用于测试所述当前接口的第二测试用例包括:
根据所述当前接口的所述特殊要求参数,确定用于测试所述当前接口所需要的输入数据;
将所述输入数据作为测试用例中携带的数据,生成所述当前接口的所述第二测试用例。
3.根据权利要求2所述的方法,其特征在于,根据所述特殊要求参数,确定用于测试所述当前接口所需要的输入数据包括:
确定所述当前接口的所述特殊要求参数所规定的数据长度、数据类型与数据数量;
生成所述数据数量个符合所述数据类型与所述数据长度的数据;
将生成的数据作为用于测试所述当前接口的所述输入数据。
4.根据权利要求2所述的方法,其特征在于,根据所述特殊要求参数,确定用于测试所述当前接口所需要的输入数据包括:
根据所述特殊要求参数,确定第一输入数据与第二输入数据,其中,在所述第一输入数据生成的测试用例测试所述当前接口的情况下,所述当前接口反馈正确结果,在所述第二输入数据生成的测试用例测试所述当前接口的情况下,所述当前接口反馈错误结果。
5.根据权利要求2所述的方法,其特征在于,所述将所述输入数据作为测试用例中携带的数据,生成所述当前接口的所述第二测试用例包括:
将所述输入数据填入测试用例模板中的第一位置,得到所述当前接口的所述第二测试用例,其中,所述第一位置为所述测试用例模板的预留位置,所述第一位置的初始数据为空。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述从历史用例库中查找用于测试所述当前接口的第一测试用例包括:
从所述历史用例库中查找所述当前接口的各个版本的测试用例;
将最新版本的所述测试用例作为所述第一测试用例。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述历史用例库中查找到所述当前接口的所述第一测试用例的情况下,在所述第一测试用例的版本与所述当前接口的版本不符的情况下,确定未查找到所述第一测试用例。
8.一种项目测试装置,其特征在于,包括:
确定模块,用于确定待测试的目标项目的所有待测数据;
第一生成模块,用于根据所述待测数据的数据关系生成所述待测数据的数据关系图,其中,所述数据关系图中包括所述待测数据所使用到的所有接口;
获取模块,用于获取所述所有接口中每一个接口的接口参数;
第二生成模块,用于将每一个接口作为当前接口,根据所述当前接口的当前接口参数,从历史用例库中查找用于测试所述当前接口的第一测试用例,在查找到所述第一测试用例的情况下,将所述第一测试用例作为测试所述当前接口的第二测试用例;在未查找到所述第一测试用例的情况下,根据所述当前接口参数生成所述第二测试用例,并将所述第二测试用例存储在所述历史用例库中,以得到用于测试所述所有接口的测试用例集;
测试模块,用于使用所述测试用例集对所述目标项目进行测试。
9.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210887117.0A CN117493151A (zh) | 2022-07-26 | 2022-07-26 | 项目测试方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210887117.0A CN117493151A (zh) | 2022-07-26 | 2022-07-26 | 项目测试方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117493151A true CN117493151A (zh) | 2024-02-02 |
Family
ID=89671365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210887117.0A Pending CN117493151A (zh) | 2022-07-26 | 2022-07-26 | 项目测试方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493151A (zh) |
-
2022
- 2022-07-26 CN CN202210887117.0A patent/CN117493151A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984388B (zh) | 一种生成自动化测试用例的方法及终端设备 | |
CN111177005A (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN107729227B (zh) | 应用程序测试范围确定方法、系统、服务器和存储介质 | |
CN110188135B (zh) | 文件生成方法及设备 | |
CN110221968A (zh) | 软件测试方法及相关产品 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN108920359B (zh) | 应用程序的测试方法、装置、存储介质和电子装置 | |
CN113467868B (zh) | 一种创建设备资源的方法和装置 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN110083526A (zh) | 应用程序测试方法、装置、计算机装置及存储介质 | |
CN113157315A (zh) | 一种软件不同版本的差异信息识别方法、装置、设备及介质 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112433941A (zh) | 一种测试分析方法、装置、设备和存储介质 | |
CN112799953A (zh) | 一种接口测试方法及装置、计算机设备及存储介质 | |
CN113360300A (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN109672608B (zh) | 根据时间发送消息的方法 | |
CN112948233A (zh) | 一种接口测试方法、装置、终端设备及介质 | |
CN117493151A (zh) | 项目测试方法、装置、存储介质以及电子设备 | |
CN114896161A (zh) | 基于人工智能的文件构造方法、装置、计算机设备及介质 | |
CN114879985A (zh) | 一种证书文件的安装方法、装置、设备及存储介质 | |
CN115004667B (zh) | 信息推送方法、装置、电子设备及计算机可读介质 | |
CN113886906A (zh) | Cad图纸的加载方法、字体文件替换方法、装置和存储介质 | |
CN111258899A (zh) | 用例生成方法、装置、电子设备和计算机可读存储介质 | |
CN110865932A (zh) | 一种程序内部接口测试方法、系统、终端及存储介质 | |
CN117472724A (zh) | 自动测试方法、装置、存储介质以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |