CN112905437B - 一种测试用例的方法、装置及存储介质 - Google Patents

一种测试用例的方法、装置及存储介质 Download PDF

Info

Publication number
CN112905437B
CN112905437B CN201911134959.3A CN201911134959A CN112905437B CN 112905437 B CN112905437 B CN 112905437B CN 201911134959 A CN201911134959 A CN 201911134959A CN 112905437 B CN112905437 B CN 112905437B
Authority
CN
China
Prior art keywords
use case
case
information
field
target
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.)
Active
Application number
CN201911134959.3A
Other languages
English (en)
Other versions
CN112905437A (zh
Inventor
廖海珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911134959.3A priority Critical patent/CN112905437B/zh
Publication of CN112905437A publication Critical patent/CN112905437A/zh
Application granted granted Critical
Publication of CN112905437B publication Critical patent/CN112905437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本申请实施例提供一种测试用例的方法、装置及存储介质,所述方法包括:执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;保存并输出所述用例的执行结果。本方案能够提高验证服务接口的效率。

Description

一种测试用例的方法、装置及存储介质
技术领域
本申请实施例涉及测试技术领域,尤其涉及一种测试用例的方法、装置及存储介质。
背景技术
目前主要采用Java的JUnit或者TestNG、Python的单元测试(unittest)等测试工具对后端服务器的服务接口进行自动化测试。
在对现有技术的研究和实践过程中,本申请实施例的发明人发现,上述测试工具在具体实际应用中要求对应在代码上实现各参数的输入以及输出的校验。由于在实际项目中,很多接口制定的协议非公开且非明文,所以导致这些测试工具在应用中可直接使用的范围就很有限。都需要对这些测试工具进行大量修改,才能在特定范围内正常使用。由此可见,目前针对服务接口的自动化测试方式可拓展性较差,无法应用于多种测试场景。
发明内容
本申请实施例提供了一种测试用例的方法、装置及存储介质,能够提高通过网络页面配置用例,达到自动化测试各服务接口的目的,快速的验证服务接口的正确性。
第一方面中,本申请实施例提供一种测试用例的方法,所述方法包括:
执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
向后端服务器发送所述用例请求字段信息;
接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
获取所述目标用例对应的校验字段信息;
若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;
保存并输出所述用例的执行结果。
一种可能的设计中,所述执行至少一个待测试的目标用例之前,所述方法还包括:
从网络页面获取输入的至少一个用例,以及各用例的用例信息和用例请求字段;
在所述网络页面上分别为各用例设置用例标识、用例级别和用例描述信息;
根据各用例的用例信息和请求字段、各用例的用例标识、用例级别以及用例描述信息,生成用例测试信息,所述用例测试信息用于执行所述目标用例。
一种可能的设计中,所述校验字段信息包括用例标识、字段名和字段值之间的映射关系;所述若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述用例测试失败,包括:
从所述模拟测试数据中确定目标用例的用例标识和校验信息;
根据用例标识和所述映射关系确定与用例标识对应的字段信息;
分别将所述目标用例的校验信息与用例标识对应的字段信息进行对比;
若所述校验信息与所述字段信息完全一致,则确定所述用例测试通过;
若所述校验信息中存在与所述字段信息不一致的信息,则确定所述用例测试失败。
一种可能的设计中,所述执行至少一个待测试的目标用例之前,所述方法还包括:
设置模拟字段和模拟字段值;
以所述模拟字段和用例标识为关键字,以及以所述模拟字段值为键值,保存所述模拟字段、用例标识和所述模拟字段值之间的映射关系;
生成模拟任务,所述模拟任务用于模拟所述用例被执行时的执行环境和执行结果。
一种可能的设计中,设置用例请求字段,所述请求字段包括请求字段名和请求字段值;
以所述请求字段名和用例标识为关键字,以及以所述请求字段值为键值,保存所述请求字段名、用例标识和所述请求字段值之间的映射关系;
生成所述用例请求字段信息。
一种可能的设计中,所述执行至少一个待测试的用例时,所述方法还包括:
生成测试任务和用例执行记录,所述测试任务包括启动时刻、结束时刻、执行的用例数量、目标用例的执行状态为失败的数量、以及目标用例的执行状态为成功的数量;
基于所述目标用例执行所述测试任务;
其中,所述用例执行记录包括用例的执行时间、用例的执行时长、执行请求、校验字段、目标用例执行时的实际响应以及目标用例执行失败的原因;
获取所述测试任务的任务执行结果,并输出所述任务执行结果。
一种可能的设计中,所述方法还包括:
生成定时任务;
选择待关联至所述定时任务的多个用例;
按照每个用例的执行时间的先后顺序,分别将各用例关联至所述定时任务,以生成用例集。
一种可能的设计中,所述方法还包括:
接收用户在所述网络页面输入的创建指令,所述创建指令包括至少两个用例标识;
根据所述创建指令从所述网络页面获取至少两个候选用例,所述至少两个候选用例与所述至少两个用户标识对应;
将所述至少两个候选用例分别进行编码,得到预设数据结构的数据集;
根据所述预设数据结构的数据集得到用例集。
第二方面中,本申请实施例提供一种用于测试用例的装置,具有实现对应于上述第一方面提供的测试用例的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述装置包括:
执行模块,用于执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
收发模块,用于向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
处理模块,用于获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;记录并通过所述收发模块输出所述用例的执行结果。
一种可能的设计中,所述处理模块在所述执行模块执行至少一个待测试的目标用例之前,还用于:
通过所述收发模块从网络页面获取输入的至少一个用例,以及各用例的用例信息和用例请求字段;
在所述网络页面上分别为各用例设置用例标识、用例级别和用例描述信息;
根据各用例的用例信息和请求字段、各用例的用例标识、用例级别以及用例描述信息,生成用例测试信息,所述用例测试信息用于执行所述目标用例。
一种可能的设计中,所述校验字段信息包括用例标识、字段名和字段值之间的映射关系;所述处理模块具体用于:
从所述模拟测试数据中确定目标用例的用例标识和校验信息;
根据用例标识和所述映射关系确定与用例标识对应的字段信息;
分别将所述目标用例的校验信息与用例标识对应的字段信息进行对比;
若所述校验信息与所述字段信息完全一致,则确定所述用例测试通过;
若所述校验信息中存在与所述字段信息不一致的信息,则确定所述用例测试失败。
一种可能的设计中,所述处理模块在所述执行模块执行至少一个待测试的目标用例之前,还用于:
设置模拟字段和模拟字段值;
以所述模拟字段和用例标识为关键字,以及以所述模拟字段值为键值,保存所述模拟字段、用例标识和所述模拟字段值之间的映射关系;
生成模拟任务,所述模拟任务用于模拟所述用例被执行时的执行环境和执行结果。
一种可能的设计中,设置用例请求字段,所述请求字段包括请求字段名和请求字段值;
以所述请求字段名和用例标识为关键字,以及以所述请求字段值为键值,保存所述请求字段名、用例标识和所述请求字段值之间的映射关系;
生成所述用例请求字段信息。
一种可能的设计中,所述处理模块在所述执行模块执行至少一个待测试的用例时,还用于:
生成测试任务和用例执行记录,所述测试任务包括启动时刻、结束时刻、执行的用例数量、目标用例的执行状态为失败的数量、以及目标用例的执行状态为成功的数量;
基于所述目标用例执行所述测试任务;
其中,所述用例执行记录包括用例的执行时间、用例的执行时长、执行请求、校验字段、目标用例执行时的实际响应以及目标用例执行失败的原因;
获取所述测试任务的任务执行结果,并输出所述任务执行结果。
一种可能的设计中,所述处理模块还用于:
生成定时任务;
选择待关联至所述定时任务的多个用例;
按照每个用例的执行时间的先后顺序,分别将各用例关联至所述定时任务,以生成用例集。
一种可能的设计中,所述处理模块还用于:
通过所述收发模块接收用户在所述网络页面输入的创建指令,所述创建指令包括至少两个用例标识;
根据所述创建指令从网络页面获取至少两个候选用例,所述至少两个候选用例与所述至少两个用户标识对应;
将所述至少两个候选用例分别进行编码,得到预设数据结构的数据集;
根据所述预设数据结构的数据集得到用例集。
本申请实施例又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述第一方面所述的方法。
本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
相较于现有技术,本申请实施例提供的方案中,在网络页面配置用例,在网络页面执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;保存并输出所述用例的执行结果。本方案能够在网络页面实现用例配置流程,突破服务接口协议封闭性的限制,只需要在用例的请求字段信息中指定封装用例测试要用到的服务接口,就能够实现自动化测试,无需针对封闭式的接口协议进行大量修改,即可达到自动化测试各服务接口的目的,还能够提高验证服务接口的效率。
附图说明
图1为本申请实施例中用户在网络页面设置用例的流程示意图;
图2为本申请实施例中测试用例的方法的一种流程示意图;
图3a为本申请实施例中目标用例的一种设置界面示意图;
图3b为本申请实施例中用例请求字段信息的一种设置界面示意图;
图4a为本申请实施例中设置模拟任务的一种设置界面意图;
图4b为本申请实施例中测试用例的方法的一种流程示意图;
图4c为本申请实施例中校验字段信息的一种示意图;
图4d为本申请实施例中测试用例的方法的一种流程示意图;
图5是本申请实施例中分布式系统的一种结构示意图;
图6是本申请实施例中用于测试用例的装置的一种结构示意图;
图7是本申请实施例中执行测试用例的方法的计算机设备的结构示意图;
图8是本申请实施例中执行测试用例的方法的服务器的结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例供了一种测试用例的方法、装置及存储介质,可用于前端服务器侧,前端服务器侧可用于验证服务器接口的正确性。一些实施方式中,如图1所示,图1为用户在网络页面设置用例的流程,用户在网络页面的用例输入包括:用例信息、用例请求信息和校验字段信息的输入。其中,网络页面也可称作网站页面、网页等类似名词,本申请实施例不对此作区分和限定。
具体来说,用户在网络页面输入用例的基本信息,指定每个用例在测试时对应的服务接口,后台服务器根据用例的基本信息即可生成用例信息并保存在数据库中。在保存用例信息后,用户在网络页面设置用例相关的请求信息,后台服务器根据用例相关的请求信息即可生成对应该用例的用例请求信息并保存到数据库中。在保存用例请求信息后,用户在网络页面输入与该用例相关的校验信息,后台服务器根据这些与该用例相关的校验信息生成该用例对应的校验字段信息并保存在数据库中。数据库可以是区块链数据库。
其中,用例信息包括用例编号、用例描述、被测服务接口和用例级别等信息。用例请求信息包括字段名、字段值以及关联的用例标识,用例请求信息中的字段名、字段值以及用例标识以Key-Value形式保存。校验字段信息包括校验的字段名、校验的字段值以及关联的用例标识,校验字段信息中的字段名、字段值以及用例标识以Key-Value形式保存。
参照图2,以下介绍本申请实施例所提供的一种测试用例的方法,本申请实施例包括:
201、执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息。
其中,待测试的目标用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。目标用例包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。在本申请实施例中,用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
在本申请实施例中,所述目标用例用于测试验证服务接口的正确性。例如图3a所示的目标用例的一种设置界面示意图,以用于Ug服务测试的用例为例,在用例列表中设置用例编号为801,用例名为Ug服务测试,用例级别为高(High),用例描述为测试排序是否正确。可在图3a所示的设置界面上增加、删除或修改用例的具体设置。
测试任务是指是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。测试任务包括启动时间,结束时间,执行用例个数,成功个数,失败个数等信息。当用户在网络页面选择用例集或者用例执行时,后端服务器则会生成一条对应的测试任务。同理用例执行完后,也会也会对应测试任务中每个用例生成对应的用例执行记录,用例执行记录包括用例执行时间,执行耗时,执行请求,校验字段,真实响应,出错原因等信息。
用例请求字段信息用于指示执行用例时所需要的相关信息,例如,本次待执行的用例标识(identify,ID)、字段名或者字段值等。例如图3b所示的用例请求字段信息的一种设置界面示意图,以针对用例ID为1的用例为例,为该用例设置多个字段名和字段值,例如,设置字段名“sResquestId”、字段值“824”,并建立用例ID“1”、字段名“sResquestId”、字段值“824”之间的映射关系,将该映射关系以Key-Value形式保存。可在图3b所示的设置界面上增加、删除或修改用例请求字段信息中的字段名、字段值或者用例ID。
一些实施方式中,执行至少一个测试用例之前,所述方法还包括:
设置模拟字段和模拟字段值;
以所述模拟字段为关键字以及以所述模拟字段值为键值保存所述模拟字段和所述模拟字段值;
生成模拟任务,所述模拟任务用于模拟所述用例被执行时的执行环境和执行结果。
可选的,还可以设置请求标识(identify,ID),如图4a所示,分别对应每个用例ID均设置模拟(mock)字段名和mock字段值,并将用例ID、mock字段名和mock字段值以Key-Value形式保存。
一些实施方式中,执行至少一个待测试的用例之后,所述方法还包括:
获取至少一个用例,以及各用例的用例信息和用例请求字段;
分别为各用例设置用例标识、用例级别和用例描述信息;
根据各用例的用例信息和请求字段、各用例的用例标识、用例级别以及用例描述信息,生成用例测试信息。
一些实施方式中,执行至少一个待测试的用例时,所述方法还包括:
生成测试任务和用例执行记录,所述测试任务包括启动时刻、结束时刻、执行的用例数量、目标用例的执行状态为失败的数量、以及目标用例的执行状态为成功的数量;
基于所述目标用例执行所述测试任务;
其中,所述用例执行记录包括用例的执行时间、用例的执行时长、执行请求、校验字段、目标用例执行时的实际响应以及目标用例执行失败的原因;
获取所述测试任务的任务执行结果,并输出所述任务执行结果。
202、向后端服务器发送用例请求字段,接收所述后端服务器基于所述用例请求字段返回的模拟测试数据。
其中,所述模拟测试数据包括至少一个用例的校验值。
203、获取校验字段信息。
其中,校验字段信息用于校验测试数据中的字段。一些实施方式中,校验字段信息可以保存在校验模板中,为保证在执行目标用例后可以对字段进行校验,还需要配置支持校验模板的校验逻辑。在执行目标用例后,加载校验逻辑,即可对各字段进行校验操作。
一些实施方式中,所述校验字段信息包括字段名和字段值,还包括用例ID。例如图4c所示的校验字段信息的一种示意图,针对用例ID为1的用例,为该用例设置了两个校验的映射关系,即针对字段名为“iRet”的字段名,对应的字段值为“0”,字段名“iRet”与字段值为“0”之间存在一个映射关系;针对字段名为“eUGDataSourceType”的字段名,对应的字段值为“32”,字段名为“eUGDataSourceType”与字段值为“32”存在一个映射关系。同时,为提高获取校验字段信息的效率,还可以分别为校验字段信息中的每个映射关系均设置一个独立的标识,例如,针对字段名“iRet”与字段值为“0”之间的映射关系,设置标识为“1”,针对字段名为“eUGDataSourceType”与字段值为“32”的映射关系,设置标识为“2”,以此类推,不做赘述。
204、将所述模拟测试数据和所述校验字段信息进行对比,若所述校验字段信息与所述模拟测试数据匹配,则确定所述用例测试通过;若所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述用例测试失败。
其中,匹配的方式可以是计算相似度,例如可计算目标用例的校验信息与用例标识对应的字段信息的余弦相似度或者欧式距离等,本申请实施例不对计算相似度的方式作限定。
具体来说,从所述模拟测试数据中确定目标用例的用例标识和校验信息;根据用例标识和所述映射关系确定与用例标识对应的字段信息;分别将所述目标用例的校验信息与用例标识对应的字段信息进行对比;若所述校验信息与所述字段信息完全一致,则确定所述用例测试通过;若所述校验信息中存在与所述字段信息不一致的信息,则确定所述用例测试失败。
205、保存并输出所述用例的执行结果。
其中,用例的执行结果便于后续定位测试失败的位置确认。
为便于理解,下面以模拟测试为例,如图4d所示,用户在网络页面启动用例的测试任务,在网络页面加载用例执行逻辑,通过用例执行逻辑循环每个用例,从数据库中读取用例请求字段,从数据库获取封装好的服务接口请求数据(即上述请求字段信息),通过用例执行逻辑向后端服务器发送请求字段信息,后端服务器向模拟服务器请求与请求字段信息对应的模拟数据,模拟服务器向后端服务器发送模拟数据,后端服务器将模拟数据转发给加载了用例执行逻辑的网络页面。通过用例执行逻辑比较模拟数据和校验字段信息,并将用例执行结果和任务执行结果保存至数据库中。最后,将用例执行结果和任务执行结果发送到网络页面,以显示给用户。
与现有机制相比,本申请实施例中,在网络页面配置用例,在网络页面执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;保存并输出所述用例的执行结果。本方案能够在网络页面实现用例配置流程,突破服务接口协议封闭性的限制,只需要在用例的请求字段信息中指定封装用例测试要用到的服务接口,就能够实现自动化测试,无需针对封闭式的接口协议进行大量修改,即可达到自动化测试各服务接口的目的,还能够提高验证服务接口的效率。
可选的,在本申请实施例的一些实施例中,可以在网络页面上设计编写用例,生成用例集,然后自动执行自动化测试。具体来说,本申请实施例还包括:
接收用户在所述网络页面输入的创建指令,所述创建指令包括至少两个用例标识;
根据所述创建指令从网络页面获取至少两个候选用例,所述至少两个候选用例与所述至少两个用户标识对应;
将所述至少两个候选用例分别进行编码,得到预设数据结构的数据集;
根据所述预设数据结构的数据集得到用例集。
一些实施方式中,预设数据结构可为字符串,数字,二进制流等协议接口格式,本申请实施例不对此作限定。
可选的,在本申请实施例的一些实施例中,还可以设置定时任务,具体来说,生成定时任务;选择待关联至所述定时任务的多个用例;按照每个用例的执行时间的先后顺序,分别将各用例关联至所述定时任务,以生成用例集。用户可在网络页面选择对应的用例集,设置启动时间、启动间隔,这样定时任务就可以自动执行,从而实现自动化测试。
本申请实施例中,上述执行结果可保存在区块链中。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
本申请实施例中执行测试用例的方法的装置(也可称作前端服务器)可以是区块链系统中的节点。本申请实施例中的用于测试用例的装置可以是如图5所示的一种区块链系统中的节点。
图1至图4c中任一所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图6-图8所对应的实施例,后续类似之处不再赘述。
以上对本申请实施例中一种测试用例的方法进行说明,以下对执行上述测试用例的方法的装置、计算机设备和服务器分别进行介绍。
参阅图6,如图6所示的一种用于测试用例的装置60的结构示意图,其可应用于测试服务接口的正确性。本申请实施例中的用于测试用例的装置60能够实现对应于上述图1所对应的实施例中所执行的测试用例的方法的步骤。用于测试用例的装置60实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述用于测试用例的装置60可包括执行模块601、收发模块602和处理模块603,所述执行模块601、所述收发模块602和所述处理模块603的功能实现可参考图1至图4c中任一所对应的实施例中所执行的操作,此处不作赘述。例如,所述处理模块可用于控制所述收发模块的发送、接收等操作,以及控制所述执行模块的执行操作。
一些实施方式中,所述执行模块601可用于执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
所述收发模块602可用于向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
所述处理模块603可用于获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;记录并通过所述收发模块602输出所述用例的执行结果。
与现有机制相比,本申请实施例中,执行模块601执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;收发模块602向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;处理模块603获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;保存并输出所述用例的执行结果。本方案能够提高验证服务接口的效率。
一些实施方式中,所述处理模块603在所述执行模块601执行至少一个待测试的目标用例之前,还用于:
通过所述收发模块602从网络页面获取输入的至少一个用例,以及各用例的用例信息和用例请求字段;
在所述网络页面上分别为各用例设置用例标识、用例级别和用例描述信息;
根据各用例的用例信息和请求字段、各用例的用例标识、用例级别以及用例描述信息,生成用例测试信息,所述用例测试信息用于执行所述目标用例。
一些实施方式中,所述校验字段信息包括用例标识、字段名和字段值之间的映射关系;所述处理模块603具体用于:
从所述模拟测试数据中确定目标用例的用例标识和校验信息;
根据用例标识和所述映射关系确定与用例标识对应的字段信息;
分别将所述目标用例的校验信息与用例标识对应的字段信息进行对比;
若所述校验信息与所述字段信息完全一致,则确定所述用例测试通过;
若所述校验信息中存在与所述字段信息不一致的信息,则确定所述用例测试失败。
一些实施方式中,所述处理模块603在所述执行模块601执行至少一个待测试的目标用例之前,还用于:
设置模拟字段和模拟字段值;
以所述模拟字段和用例标识为关键字,以及以所述模拟字段值为键值,保存所述模拟字段、用例标识和所述模拟字段值之间的映射关系;
生成模拟任务,所述模拟任务用于模拟所述用例被执行时的执行环境和执行结果。
一些实施方式中,设置用例请求字段,所述请求字段包括请求字段名和请求字段值;
以所述请求字段名和用例标识为关键字,以及以所述请求字段值为键值,保存所述请求字段名、用例标识和所述请求字段值之间的映射关系;
生成所述用例请求字段信息。
一些实施方式中,所述处理模块在所述执行模块执行至少一个待测试的用例时,还用于:
生成测试任务和用例执行记录,所述测试任务包括启动时刻、结束时刻、执行的用例数量、目标用例的执行状态为失败的数量、以及目标用例的执行状态为成功的数量;
基于所述目标用例执行所述测试任务;
其中,所述用例执行记录包括用例的执行时间、用例的执行时长、执行请求、校验字段、目标用例执行时的实际响应以及目标用例执行失败的原因;
获取所述测试任务的任务执行结果,并输出所述任务执行结果。
一些实施方式中,所述处理模块603还用于:
生成定时任务;
选择待关联至所述定时任务的多个用例;
按照每个用例的执行时间的先后顺序,分别将各用例关联至所述定时任务,以生成用例集。
一些实施方式中,所述处理模块603还用于:
通过所述收发模块602接收用户在所述网络页面输入的创建指令,所述创建指令包括至少两个用例标识;
根据所述创建指令从网络页面获取至少两个候选用例,所述至少两个候选用例与所述至少两个用户标识对应;
将所述至少两个候选用例分别进行编码,得到预设数据结构的数据集;
根据所述预设数据结构的数据集得到用例集。
上面从模块化功能实体的角度对本申请实施例中的用于测试用例的装置60进行了描述,下面从硬件处理的角度分别对本申请实施例中的后端服务器进行描述。需要说明的是,图6所示的装置可以具有如图7所示的结构,当图6所示的装置具有如图7所示的结构时,图7中的处理器和收发器能够实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图7中的中央存储器存储处理器执行上述搜索方法时需要调用的计算机程序。在本申请实施例图6所示的实施例中的收发模块602所对应的实体设备可以为收发器、射频电路、通信模块和输入输出接口等类似设备,执行模块601和处理模块603对应的实体设备可以为处理器。
图8是本申请实施例提供的一种服务器结构示意图,该服务器820可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:centralprocessing units,英文简称:CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器820上执行存储介质830中的一系列指令操作。
服务器820还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器820的结构。例如,例如上述实施例中由图8所示的搜索装置80所执行的步骤可以基于该图8所示的服务器结构。例如,所述处理器822通过调用存储器832中的指令,执行以下操作:
执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
通过所述输入输出接口858向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;记录并通过所述输入输出接口858输出所述用例的执行结果
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。

Claims (11)

1.一种测试用例的方法,其特征在于,所述方法包括:
接收在网络页面中对用例的请求字段信息中指定封装用例测试要用到的服务接口;
执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
向后端服务器发送所述用例请求字段信息;
接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
获取所述目标用例对应的校验字段信息;
若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;
保存并输出所述用例的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述执行至少一个待测试的目标用例之前,所述方法还包括:
从网络页面获取输入的至少一个用例,以及各用例的用例信息和用例请求字段;
在所述网络页面上分别为各用例设置用例标识、用例级别和用例描述信息;
根据各用例的用例信息和请求字段、各用例的用例标识、用例级别以及用例描述信息,生成用例测试信息,所述用例测试信息用于执行所述目标用例。
3.根据权利要求2所述的方法,其特征在于,所述校验字段信息包括用例标识、字段名和字段值之间的映射关系;所述若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述用例测试失败,包括:
从所述模拟测试数据中确定目标用例的用例标识和校验信息;
根据用例标识和所述映射关系确定与用例标识对应的字段信息;
分别将所述目标用例的校验信息与用例标识对应的字段信息进行对比;
若所述校验信息与所述字段信息完全一致,则确定所述用例测试通过;
若所述校验信息中存在与所述字段信息不一致的信息,则确定所述用例测试失败。
4.根据权利要求3所述的方法,其特征在于,所述执行至少一个待测试的目标用例之前,所述方法还包括:
设置模拟字段和模拟字段值;
以所述模拟字段和用例标识为关键字,以及以所述模拟字段值为键值,保存所述模拟字段和所述模拟字段值之间的映射关系;
生成模拟任务,所述模拟任务用于模拟所述用例被执行时的执行环境和执行结果。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述执行至少一个待测试的目标用例之前,所述方法还包括:
设置用例请求字段,所述请求字段包括请求字段名和请求字段值;
以所述请求字段名和用例标识为关键字,以及以所述请求字段值为键值,保存所述请求字段名、用例标识和所述请求字段值之间的映射关系;
生成所述用例请求字段信息。
6.根据权利要求1所述的方法,其特征在于,所述执行至少一个待测试的用例时,所述方法还包括:
生成测试任务和用例执行记录,所述测试任务包括启动时刻、结束时刻、执行的用例数量、目标用例的执行状态为失败的数量、以及目标用例的执行状态为成功的数量;
基于所述目标用例执行所述测试任务;
其中,所述用例执行记录包括用例的执行时间、用例的执行时长、执行请求、校验字段、目标用例执行时的实际响应以及目标用例执行失败的原因;
获取所述测试任务的任务执行结果,并输出所述任务执行结果。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户在所述网络页面输入的创建指令,所述创建指令包括至少两个用例标识;
根据所述创建指令从所述网络页面获取至少两个候选用例,所述至少两个候选用例与所述至少两个用户标识对应;
将所述至少两个候选用例分别进行编码,得到预设数据结构的数据集;
根据所述预设数据结构的数据集得到用例集。
8.根据权利要求1所述的方法,其特征在于,所述执行结果保存在区块链节点上。
9.一种用于测试用例的装置,其特征在于,所述装置包括:
收发模块,用于接收在网络页面中对用例的请求字段信息中指定封装用例测试要用到的服务接口;
执行模块,用于执行至少一个待测试的目标用例,以获取所述目标用例对应的用例请求字段信息;
所述收发模块,用于向后端服务器发送所述用例请求字段信息;接收所述后端服务器基于所述用例请求字段信息返回的模拟测试数据;
处理模块,用于获取所述目标用例对应的校验字段信息;若确定所述校验字段信息与所述模拟测试数据匹配,则确定所述目标用例测试通过;若确定所述校验字段信息中存在与所述模拟测试数据不匹配的字段,则确定所述目标用例测试失败;记录并通过所述收发模块输出所述用例的执行结果。
10.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
CN201911134959.3A 2019-11-19 2019-11-19 一种测试用例的方法、装置及存储介质 Active CN112905437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911134959.3A CN112905437B (zh) 2019-11-19 2019-11-19 一种测试用例的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911134959.3A CN112905437B (zh) 2019-11-19 2019-11-19 一种测试用例的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112905437A CN112905437A (zh) 2021-06-04
CN112905437B true CN112905437B (zh) 2023-10-13

Family

ID=76103384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911134959.3A Active CN112905437B (zh) 2019-11-19 2019-11-19 一种测试用例的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112905437B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434596A (zh) * 2021-06-24 2021-09-24 中国工商银行股份有限公司 一种分布式数据库测试数据的生成方法及装置
CN113609014A (zh) * 2021-08-04 2021-11-05 深圳鼎盛电脑科技有限公司 一种接口字段校验方法、装置、存储介质及电子设备
CN114676062A (zh) * 2022-04-06 2022-06-28 北京百度网讯科技有限公司 用于接口的差异数据测试方法及装置、电子设备和介质
CN114978944B (zh) * 2022-05-13 2024-06-04 北京百度网讯科技有限公司 压力测试方法、装置及计算机程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193681A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 数据校验方法及装置
CN108664396A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 银行交互接口验证方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193681A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 数据校验方法及装置
CN108664396A (zh) * 2018-05-08 2018-10-16 平安普惠企业管理有限公司 银行交互接口验证方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN112905437A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112905437B (zh) 一种测试用例的方法、装置及存储介质
CN105871838B (zh) 一种第三方账号的登录控制方法及用户中心平台
US8079017B2 (en) Automated QS interface testing framework
US9483386B2 (en) Information interaction test device and method based on automatic generation of associated test cases
CN105556919B (zh) 使用服务请求票据进行多因素认证
TW200837558A (en) Objective assessment of application crashes from a customer environment
CN109067732A (zh) 物联网设备及数据接入系统、方法及计算机可读存储介质
CN111694749A (zh) 接口自动测试方法、装置、计算机设备及可读存储介质
CN111813788A (zh) 信息的查询方法和装置、信息的同步方法和装置
CN111931220A (zh) 区块链网络的共识处理方法、装置、介质及电子设备
CN111506358B (zh) 更新容器配置的方法及装置
CN107003931A (zh) 将测试验证从测试执行分离
CN110825776B (zh) 空气质量检测报告处理方法、装置及计算设备、存储介质
CN109766678A (zh) 面向移动端设备指纹识别认证方法、系统、介质及设备
CN113037505B (zh) 一种可信Web应用的实现方法及系统
CN112291321A (zh) 业务处理方法、装置及系统
CN117131545A (zh) 数据处理方法及装置、存储介质、终端
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
US20230101077A1 (en) Verification device, verification system, verification method, and computer readable medium
CN113672514A (zh) 测试方法、装置、服务器及存储介质
CN112580307A (zh) 多数据源取数方法、装置、系统和可读存储介质
CN109344621A (zh) 一种安全基线检测方法、装置、设备及可读存储介质
CN106933888A (zh) 数据库配置管理系统
CN110650063A (zh) 一种集中式的银行第三方软件仿真系统及方法
CN109165208A (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
GR01 Patent grant
GR01 Patent grant