CN116909928A - 测试案例生成方法、接口测试方法、系统、设备及介质 - Google Patents
测试案例生成方法、接口测试方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116909928A CN116909928A CN202311088042.0A CN202311088042A CN116909928A CN 116909928 A CN116909928 A CN 116909928A CN 202311088042 A CN202311088042 A CN 202311088042A CN 116909928 A CN116909928 A CN 116909928A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- test case
- case
- target interface
- 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 183
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000010998 test method Methods 0.000 title abstract description 6
- 238000012216 screening Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 239000000047 product Substances 0.000 description 7
- 230000001502 supplementing effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于接口测试技术领域,具体涉及一种测试案例生成方法接口测试方法、系统、设备及介质,方法包括如下步骤:获取facade下的目标接口及其入参数据类型;从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表;从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据;将所述入参数据组装为所述目标接口对应的测试案例。本发明有效的保证新接口的测试案例能及时补充到案例库中,避免疏漏;自动生成比较快捷,当参数量很多的情况下,能减少测试人员的工作量;有良好的拓展性,可以被开发用来自动组装单元测试等。
Description
技术领域
本发明属于测试技术领域,具体涉及一种测试案例生成方法接口测试方法、系统、设备及介质。
背景技术
测试人员在常规功能验证完成后,一般还需要对版本中的接口进行自动化案例补充,每日自动扫描接口,用于回归验证历史逻辑是否受到影响。但是,目前的实际情况是,面对日益快速的版本迭代,测试人员刚完成当前版本的测试任务,下个版本的工作又开始了,难免会遗漏新接口的自动案例补充,日积月累下,自动化案例覆盖代码的指标将直线下降,对系统来说,缺少了自动案例的回归扫描也会存在一定的风险项。
发明内容
本发明的目的在于提供一种能够对接口测试案例进行自动补充的测试案例生成方法接口测试方法、系统、设备及介质。
为实现上述目的及其他相关目的,本发明提供一种测试案例生成方法,包括如下步骤:
获取facade下的目标接口及所述目标接口的入参数据类型;
从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表;
从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据;
将所述入参数据组装为所述目标接口对应的测试案例。
本发明的技术效果在于,本发明利用同一facade下各接口入参格式相近的特性,当出现新的接口时,能够自动根据现有接口的入参组装新的测试用例,省去了人为补充测试用例的繁琐操作,有效的保证新接口的测试案例能及时补充到案例库中,避免疏漏;自动生成比较快捷,当参数量很多的情况下,能减少测试人员的工作量;有良好的拓展性,可以被开发用来自动组装单元测试等。
附图说明
图1是本发明的实施例所提供的测试案例生成方法的应用场景图;
图2是本发明的实施例所提供的测试案例生成方法的流程图;
图3是本发明的实施例所提供的目标接口确定方法的流程图;
图4是本发明的实施例所提供的接口测试方法的流程图;
图5是本发明的实施例所提供的接口测试案例生成装置的功能模块框图;
图6是本发明的实施例所提供的电子设备的结构框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1-6。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
图1示出了本发明的测试案例生成方法的较佳实施例的流程图。
所述测试案例生成方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
应用程序接口(API),又称为应用编程接口,是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。
接口的各项属性一般以接口文档的形式来表示,接口文档应该包括以下六项内容:接口名称:用来标识各个接口的简单说明,例如登录接口,获取图书列表接口等;接口URL:接口的调用地址;调用方式:接口的调用方式,例如GET或POST;参数格式:接口需要传递的参数,每个参数需包含参数名称、参数类型、是否必选、参数说明这4项内容;相应格式:接口的返回值的详细描述,一般包含数据名称、数据类型、说明这3项内容;返回实例:通过对象的形式,例举服务器返回数据的结构。
facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用,当需要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变得越来越复杂,大多数模式使用时都会产生更多更小的类,这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过facade层。客户程序与抽象类的实现部分之间存在着很大的依赖性。引入facade将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。当需要构建一个层次结构的子系统时,使用facade模式定义子系统中每层的入口点,如果子系统之间是相互依赖的,可以让它们仅通过facade进行通讯,从而简化了它们之间的依赖关系。facade模式有下面一些优点:它对客户屏蔽子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便;它实现了子系统与客户之间的松耦合关系,而子系统内部的功能组件往往是紧耦合的。松耦合关系使得子系统的组件变化不会影响到它的客户;facade模式有助于建立层次结构系统,也有助于对对象之间的依赖关系分层;facade模式可以消除复杂的循环依赖关系;这一点在客户程序与子系统是分别实现的时候尤为重要。在大型软件系统中降低编译依赖性至关重要。在子系统类改变时,希望尽量减少重编译工作以节省时间;用facade可以降低编译依赖性,限制重要系统中较小的变化所需的重编译工作;facade模式同样也有利于简化系统在不同平台之间的移植过程,因为编译一个子系统一般不需要编译所有其他的子系统;如果应用需要,它并不限制它们使用子系统类。因此你可以在系统易用性和通用性之间加以选择。
接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。
测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
作为测试人员,在常规功能验证完成后,绝大部分公司都会要求对版本中的接口进行自动化案例补充,每日自动扫描接口,用于回归验证历史逻辑是否受到影响,这种手段基本已成为行业的标杆。但是,目前的实际情况,面对日益快速的版本迭代,测试人员刚完成当前版本的测试任务,下个版本的工作又开始了,难免会遗漏新接口的自动案例补充,日积月累下,自动化案例覆盖代码的指标将直线下降,对系统来说,缺少了自动案例的回归扫描也会存在一定的风险项。
由于产品的不断版本迭代,针对同一产品的不同时期版本测试时,由于核心功能保持相对稳定的状态,因此对核心功能验证的大部分工作都是重复的工作,通过计算机程序来完成这类工作既高效又可靠;软件自动化测试通常是通过开发所需的软件测试工具以实现自动化;理想的自动化水平应该达到一种程度,就是它能够根据时间和成本的需求选取最适用于该系统的自动化测试方案;以此为指导思想实现的自动化程度越高,测试过程就越有效,越高效;因此只要选择的测试自动化工具是适合的,并且被正确地实现,自动化测试就能极大的发挥作用,提高测试效率,改进测试质量;自动化测试的目的是将测试人员从重复繁琐的手工操作中解放出来,把精力和时间投入到测试需求分析,测试用例设计和测试结果分析上,提高测试效率和质量。
回归测试是在软件产品发布新版本时,在旧版本已经测试完毕的情况下,在新版本中执行和旧版本一样的测试用例,用于确认代码缺陷是否已经成功被修复,并且没有因此引入其他代码缺陷。可以理解的是,只要有代码的修改,就有可能引入新的缺陷,哪怕出现新缺陷的功能点与此次修改内容看似无关。因此,确认bug已被正确的修复,并且没有因此引入新的bug,是保证版本质量的关键,由此可见回归测试的重要性。但由于回归测试需要对该版本的产品功能进行比较全面的覆盖,而产品开发周期时间有限,如果依靠手工来进行回归测试,效率低下且容易出错,产品质量得不到保证。引入自动化测试代替手工的回归测试则可以很好的解决上述问题,既提高测试效率,又能保证测试的可靠性,避免因为人为因素导致的测试结果不准确。
按照开发规范,同一个facade下的接口参数命名都是一样的,举例说明:同一个facade下,A接口入参的开始时间叫begintime,那么B接口的开始时间也会如此命名,而且同一个facade下的接口参数基本都相差不大,可能就内部实现逻辑的差异,所以新接口的入参组装是可以仿造已存在的接口参数,基于此,本发明设计了以下测试案例生成方法。
下面将结合图1、2来详细阐述本发明的测试案例生成方法,该测试案例生成方法例如可应用于自动测试案例库的案例补充和案例更新。
请参阅图2所示,一种测试案例生成方法,包括如下步骤:
S210:获取facade下的目标接口及所述目标接口的入参数据类型;所述入参例如可以包括请求头设置、普通类数据、文件等,其中请求头设置例如可以包括接口签名、请求ID等,普通类数据例如可以是字符或数值,以及数据的相关属性,例如是否必填、字符长度、边界值、特殊值等。
请参阅图3所示,在本发明的一个实施例中,所述步骤S210包括:
S310:解析得到facade中所有的接口。
S320:判断所述案例库中是否存在与各所述接口对应的测试案例。
S330:当所述案例库中缺少与其中一个所述接口对应的测试案例时,则将这一所述接口作为所述目标接口,并获取所述目标接口的入参数据类型。
可以理解的是,本实施例用于对新接口的测试案例进行补充。
在本发明的另一替代实施例中,所述步骤S210包括:
解析得到facade中所有的接口;
判断所述案例库中与各所述接口对应的测试案例是否需要更新;
当所述案例库中与其中一个所述接口对应的测试案例需要更新时,则将这一所述接口作为所述目标接口,并获取所述目标接口的入参数据类型。
请参阅图2所示,所述测试案例生成方法还包括:
S220:从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表;
在本发明的一个实施例中,所述步骤S220包括:
根据所述目标接口的入参数据类型,确定所述facade下与所述目标接口存在相同入参类型的现有接口;
调用案例库中与所述现有接口对应的入参数据列表。
在本发明的进一步实施例中,所述步骤S220之后还包括如下步骤:
对所述现有接口的入参数据列表进行去重操作,将去重后的入参数据组装为所述目标接口对应的测试案例。
请参阅图2所示,所述测试案例生成方法还包括:
S230:从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据;
请参阅图2所示,所述测试案例生成方法还包括:
S240:将所述入参数据组装为所述目标接口对应的测试案例。
如上所述,由于同一个facade下的接口参数命名都是一样的,而且同一个facade下的接口参数基本都相差不大,可能就内部实现逻辑的差异,所以新接口的入参组装是可以仿造已存在的接口参数,当出现新的接口时,能够自动根据现有接口的入参组装新的测试用例,省去了人为补充测试用例的繁琐操作,有效的保证新接口的测试案例能及时补充到案例库中,避免疏漏;自动生成比较快捷,当参数量很多的情况下,能减少测试人员的工作量;有良好的拓展性,可以被开发用来自动组装单元测试等。
以下结合具体示例,对上述方法进行说明,例如一种手机号绑定接口的接口文档如下:
参数
参数字段 | 说明 | 数据类型 | 长度 | 是否必填 | 备注 |
username | 用户名 | String | 64 | 是 | |
telephone number | 手机号 | Int | 16 | 否 |
返回值
返回字段 | 说明 | 数据类型 | 长度 | 备注 | |
code | 错误码 | String | 64 | ||
message | 错误信息 | String | 64 |
则目标接口的测试用例则是一个具体的用户名和手机号,此时可以从案例库中其它具有用户名的测试案例以及具有手机号的测试案例中分别提取处用户名信息和手机号信息,并将两者组装成新的测试案例,由于同一facade下相同类型数据的格式基本一致,因此能够测试案例的自动组装和生成。
请参阅图4所示,基于上述测试案例生成方法,本发明还提供一种接口测试方法,包括如下步骤:
S410:以预设的时间间隔循环扫描facade下的所有接口;
S420:根据所述接口调用案例库中的测试案例对各接口进行测试;
S430:当所述案例库中缺少其中一个所述接口的测试案例时,获取这一所述接口对应的入参数据类型;
S440:调用案例库中现有接口的入参数据列表;
S450:从所述现有接口的入参数据列表中筛选与所述入参数据类型对应的入参数据;
S460:将所述入参数据组装为新的测试案例,用所述新的测试案例对所述接口进行测试,并将所述新的测试案例存储在所述案例库中。
在进一步实施例中,所述步骤S460之后还包括:
当所述测试案例测试失败时,生成报警信息。
本发明针对目前快速迭代的版本导致案例库的自动测试案例越来越跟不上节奏的情况,也避免因接口未及时通过案例覆盖导致出现异常问题不能及时发现,设计一套自动进行案例补充的接口检查方法,该方法有效的保证新接口的测试案例能及时补充到案例库中,避免疏漏自动生成比较快捷,当参数量很多的情况下,能减少测试人员的工作量。
需要说明的是,案例库的自动测试案例都会有执行失败的情况,测试人员的工作之一也是分析案例失败原因,判断是环境,机器,参数,接口逻辑等等其中哪些导致的,本发明阐述的实现方法主要是用来自动补充测试人员遗漏的案例,当案例失败后,测试人员能第一时间发现并人工对其进行微调。
为实现上述目的及其他相关目的,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述方法的步骤。
为实现上述目的及其他相关目的,本发明还提供一种计算机可读存储介质,其上存储于计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。
需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
如图5所示,是本发明的接口测试案例生成装置的较佳的实施例的功能模块图。所述接口测试案例生成装置包括:识别模块51、数据调用模块52、数据筛选模块53和案例组装模块54。所述本发明所称的模块是指一种能够被处理器61所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器62中。
所述识别模块用于获取facade下的目标接口及所述目标接口的入参数据类型。
具体的,识别模块解析得到facade中所有的接口;判断所述案例库中是否存在与各所述接口对应的测试案例;当所述案例库中缺少与某个接口对应的测试案例时,则将该接口作为所述目标接口。
所述数据调用模块用于从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表。
具体的,数据调用模块根据所述目标接口的入参数据类型,确定所述facade下与所述目标接口存在相同入参类型的现有接口;调用案例库中与所述现有接口对应的入参数据列表。
所述数据筛选模块从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据。进一步的,所述数据筛选模块还能够对所述现有接口的入参数据列表进行去重操作
所述案例组装模块用于将所述入参数据组装为所述目标接口对应的测试案例。
需要说明的是,本实施例的接口测试案例生成装置是与上述测试案例生成方法相对应的装置,接口测试案例生成装置中的功能模块或者分别对应测试案例生成方法中的相应步骤。本实施例的接口测试案例生成装置可与测试案例生成方法相互相配合实施。相应地,本实施例的接口测试案例生成装置中提到的相关技术细节也可应用在上述测试案例生成方法中。
需要说明的是,上述的各功能模块实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的部分或全部步骤,或以上的各功能模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
本发明还提供一种接口测试装置,该接口测试装置例如可以包括接口扫描模块、测试模块和案例补充模块。所述本发明所称的模块是指一种能够被处理器61所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器62中。
所述接口扫描模块用于以预设的时间间隔循环扫描facade下的所有接口。
所述检测模块用于根据所述接口调用案例库中的测试案例对各接口进行测试。
所述案例补充模块用于执行如下操作:
当所述案例库中缺少某个接口的测试案例时,获取该接口对应的入参数据类型;调用案例库中现有接口的入参数据列表;从所述现有接口的入参数据列表中筛选与所述入参数据类型对应的入参数据;将所述入参数据组装为新的测试案例,用所述新的测试案例对所述接口进行测试,并将所述新的测试案例存储在所述案例库中。
同样的,本实施例的接口测试装置是与上述接口测试方法相对应的装置,接口测试装置中的功能模块或者分别对应接口测试方法中的相应步骤。本实施例的接口测试装置可与接口测试方法相互相配合实施。相应地,本实施例的接口测试装置中提到的相关技术细节也可应用在上述接口测试方法中。
如图6所示,是本发明实现测试案例生成方法的较佳实施例的电子设备的结构示意图。
所述电子设备可以包括存储器、处理器和总线,还可以包括存储在所述存储器中并可在所述处理器上运行的计算机程序,例如接口测试案例生成程序。
其中,存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。存储器在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于电子设备的应用软件及各类数据,例如接口测试案例生成程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行接口测试案例生成程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
所述处理器执行所述电子设备的操作系统以及安装的各类应用程序。所述处理器执行所述应用程序以实现上述各个测试案例生成方法实施例中的步骤,例如图所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备中的执行过程。例如,所述计算机程序可以被分割成识别模块、数据调用模块、数据筛选模块和案例组装模块。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述测试案例生成方法的部分功能。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
综上所述,本发明利用同一facade下各接口入参格式相近的特性,当出现新的接口时,能够自动根据现有接口的入参组装新的测试用例,省去了人为补充测试用例的繁琐操作,有效的保证新接口的测试案例能及时补充到案例库中,避免疏漏;自动生成比较快捷,当参数量很多的情况下,能减少测试人员的工作量;有良好的拓展性,可以被开发用来自动组装单元测试等。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种测试案例生成方法,其特征在于,包括如下步骤:
获取facade下的目标接口及所述目标接口的入参数据类型;
从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表;
从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据;
将所述入参数据组装为所述目标接口对应的测试案例。
2.根据权利要求1所述的测试案例生成方法,其特征在于,所述获取facade下的目标接口及所述目标接口的入参数据类型的步骤包括:
解析得到facade中所有的接口;
判断所述案例库中是否存在与各所述接口对应的测试案例;
当所述案例库中缺少与其中一个所述接口对应的测试案例时,则将这一所述接口作为所述目标接口,并获取所述目标接口的入参数据类型。
3.根据权利要求1所述的测试案例生成方法,其特征在于,所述获取facade下的目标接口及所述目标接口的入参数据类型的步骤包括:
解析得到facade中所有的接口;
判断所述案例库中与各所述接口对应的测试案例是否需要更新;
当所述案例库中与其中一个所述接口对应的测试案例需要更新时,则将这一所述接口作为所述目标接口,并获取所述目标接口的入参数据类型。
4.根据权利要求1所述的测试案例生成方法,其特征在于,所述从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表的步骤包括:
根据所述目标接口的入参数据类型,确定所述facade下与所述目标接口存在相同入参类型的现有接口;
调用案例库中与所述现有接口对应的入参数据列表。
5.根据权利要求1或4所述的测试案例生成方法,其特征在于,所述从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表的步骤之后还包括如下步骤:
对所述现有接口的入参数据列表进行去重操作,将去重后的入参数据组装为所述目标接口对应的测试案例。
6.一种接口测试方法,其特征在于,包括如下步骤:
以预设的时间间隔循环扫描facade下的所有接口;
根据所述接口调用案例库中的测试案例对各接口进行测试;
当所述案例库中缺少其中一个所述接口的测试案例时,获取这一所述接口对应的入参数据类型;
调用案例库中现有接口的入参数据列表;
从所述现有接口的入参数据列表中筛选与所述入参数据类型对应的入参数据;
将所述入参数据组装为新的测试案例,用所述新的测试案例对所述接口进行测试,并将所述新的测试案例存储在所述案例库中。
7.根据权利要求6所述的接口测试方法,其特征在于,所述用所述新的测试案例对所述接口进行测试的步骤之后还包括:
当所述测试案例测试失败时,生成报警信息。
8.一种接口测试案例生成装置,其特征在于,包括:
识别模块,用于获取facade下的目标接口及所述目标接口的入参数据类型;
数据调用模块,用于从案例库中调用所述facade下的现有接口对应的测试案例的入参数据列表;
数据筛选模块,用于从所述现有接口对应的测试案例的入参数据列表中筛选与所述目标接口的入参数据类型对应的入参数据;
案例组装模块,用于将所述入参数据组装为所述目标接口对应的测试案例。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储于计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311088042.0A CN116909928A (zh) | 2023-08-28 | 2023-08-28 | 测试案例生成方法、接口测试方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311088042.0A CN116909928A (zh) | 2023-08-28 | 2023-08-28 | 测试案例生成方法、接口测试方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909928A true CN116909928A (zh) | 2023-10-20 |
Family
ID=88351279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311088042.0A Pending CN116909928A (zh) | 2023-08-28 | 2023-08-28 | 测试案例生成方法、接口测试方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909928A (zh) |
-
2023
- 2023-08-28 CN CN202311088042.0A patent/CN116909928A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189479B (zh) | 一种用于处理器指令集的并行自动化验证方法 | |
CN110196809B (zh) | 接口测试方法及装置 | |
US8661414B2 (en) | Method and system for testing an order management system | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
WO2012052215A1 (en) | Software development | |
CN115422063A (zh) | 一种低代码接口自动化系统、电子设备及存储介质 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
EP2913757A1 (en) | Method, system, and computer software product for test automation | |
CN111488275A (zh) | Ui自动化测试方法、装置、存储介质及电子设备 | |
CN112527655B (zh) | 软件版本质量异常检测方法、装置、电子设备及存储介质 | |
CN113032256B (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
KR102111392B1 (ko) | 테스트 통합 관리시스템 및 그 제어방법 | |
CN112015436A (zh) | 短信平台部署方法及装置、计算设备、计算机存储介质 | |
CN116909928A (zh) | 测试案例生成方法、接口测试方法、系统、设备及介质 | |
CN114116470A (zh) | 一种自动化的静态模型检查方法及装置 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
US10296449B2 (en) | Recording an application test | |
CN111767222A (zh) | 数据模型的验证方法、装置、电子设备、存储介质 | |
CN117234946B (zh) | 项目库系统的自动化测试方法及相关设备 | |
CN113608996B (zh) | 一种镜像编译测试方法、系统、装置及可读存储介质 | |
CN111290749B (zh) | 一种数据处理方法、智能终端及存储介质 | |
CN117251187A (zh) | 内核更新、任务处理方法、计算设备及计算机存储介质 | |
CN116974910A (zh) | 区块链sdk的持续交付方法、装置、存储介质以及电子设备 |
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 |