CN112882922B - 一种测试方法和相关装置 - Google Patents

一种测试方法和相关装置 Download PDF

Info

Publication number
CN112882922B
CN112882922B CN201911218711.5A CN201911218711A CN112882922B CN 112882922 B CN112882922 B CN 112882922B CN 201911218711 A CN201911218711 A CN 201911218711A CN 112882922 B CN112882922 B CN 112882922B
Authority
CN
China
Prior art keywords
interface
test
test case
preset
test result
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
CN201911218711.5A
Other languages
English (en)
Other versions
CN112882922A (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.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies 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 Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN201911218711.5A priority Critical patent/CN112882922B/zh
Publication of CN112882922A publication Critical patent/CN112882922A/zh
Application granted granted Critical
Publication of CN112882922B publication Critical patent/CN112882922B/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

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

一种测试方法和相关装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试方法和相关装置。
背景技术
目前,在开发过程中,都会将一个项目拆分成多个子项目,并将这些子项目分配给不同的开发人员进行处理,以加快项目进程。但是,不同子项目进度不同。也就是说,当某个开发人员已完成某个子项目时,与该子项目相关联的其他子项目并未完成。在这种情况下,为了可以对该子项目的功能进行测试,人们将该子项目定义为测试组件(Module UnderTesting,MUT)或测试服务(Service Under Testing,SUT),并提出了测试桩(Test Stub,TS)和模拟服务(Mock Service,MS)。通过使用测试桩或模拟服务来替代与该子项目相关联的其他子项目,实现测试该子项目的功能。
然而,在现有技术中,在对某个子项目进行测试时,可能会涉及到同一测试桩接口或同一模拟服务接口被多次调用的情况。由于该子项目中可能会涉及到业务逻辑不清晰的多个功能,导致无法灵活管理同一测试桩接口或同一模拟服务接口的调用。
发明内容
本发明实施例提供了一种测试方法和相关装置,实施本发明实施例,实现灵活管理同一测试桩接口或同一模拟服务接口的调用。
本发明第一方面提供了一种测试方法,包括:
获取第一测试用例标识;
确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果。
可选的,在一种可能的实施方式中,所述方法还包括:生成预设测试结果更新界面;在所述预设测试结果更新界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;在所述预设测试结果更新界面上检测到更新操作时,从所述预设测试结果更新界面上获取预设第二测试结果以及与所述预设第二测试结果关联的第二URL对应的参数信息,所述预设第二测试结果不同于所述预设第一测试结果,与所述预设第二测试结果关联的第二URL对应的参数信息不同于与所述预设第一测试结果关联的所述第一URL对应的参数信息;调用预设测试结果更新接口对所述预设第二测试结果以及所述第二URL对应的参数信息进行处理,以在所述预设测试结果库中将所述预设第一测试结果替换为所述预设第二测试结果以及将所述第一URL对应的参数信息替换为所述第二URL对应的参数信息。
可选的,在一种可能的实施方式中,所述方法还包括:生成预设测试结果删除界面;在所述预设测试结果删除界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;在所述预设测试结果删除界面上检测到删除操作时,调用预设测试结果删除接口对所述预设第一测试结果以及所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中删除所述预设第一测试结果以及所述第一URL对应的参数信息。
本发明第二方面提供了一种服务器,包括:
获取模块,用于获取第一测试用例标识;
第一确定模块,用于确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
第二确定模块,用于根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
处理模块,用于根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果。
本发明第三方面提供了一种测试的电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行一种测试方法任一项方法中的步骤的指令。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现一种测试方法任一项所述的方法。
可以看出,上述技术方案中,获取第一测试用例标识,为后续确定测试用例脚本做准备;确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序,为后续确定每个测试用例对应的第一接口和第二接口做准备;根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口,通过确定每个测试用例对应的第一接口和第二接口,避免在执行每个测试用例时出现接口调用错误的问题;根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果,根据第一测试顺序调用接口避免了由于业务逻辑不清晰出现的接口调用错误的问题,也实现灵活管理同一测试桩接口或同一模拟服务接口的调用,同时,根据第一测试顺序调用接口实现串行执行测试用例,减少了服务器的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1A为本发明实施例提供的一种测试方法的流程示意图;
图1B为本发明实施例提供的一种有向图的示意图;
图1C为本发明实施例提供的又一种测试方法示意图;
图2A为本发明实施例提供的又一种测试方法的流程示意图;
图2B为本发明实施例提供的一种与预设测试结果对应的标识的示意图;
图2C为本发明实施例提供的一种预设测试结果库的示意图;
图3为本发明实施例提供的一种服务器的示意图。
具体实施方式
本申请实施例的执行主体例如可以是服务器,也可以是本地数据处理设备。其中,服务器例如可以是平板电脑、笔记本电脑、掌上电脑、MID、台式电脑或其他服务器设备。在本申请中不做限制。
参见图1A,图1A为本发明实施例提供的一种测试方法的流程示意图。其中,如图1A所示,本发明实施例提供的一种测试方法可以包括:
101、获取第一测试用例标识;
其中,第一测试用例标识可以是第一测试用例号。进一步的,所述获取第一测试用例标识,包括:在测试用例标识获取界面上检测到提交操作时,获取所述第一测试用例标识。
可以理解的,用户可以在测试用例标识获取界面上选取第一测试用例标识,当用户进行提交操作时,服务器可以获取用户选取的第一测试用例标识。
102、确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
其中,至少一个测试用例中的每个测试用例包括URL对应的参数信息,统一资源定位符(uniform resource locator,URL)为网络地址。进一步的,URL对应的参数信息包括参数名和与参数名对应的值。当参数名不同时,与参数名对应的值也不同。
举例来说,Key=xioaming,Key为参数名,xioaming为与参数名对应的值。
103、根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
其中,第一接口集包括所述至少一个测试用例确定每个测试用例对应的第一接口,第二接口集包括所述至少一个测试用例确定每个测试用例对应的第二接口。进一步的,第一接口集中的所有第一接口可以相同,也可以不相同。
可选的,在一种可能的实施方式中,每个测试用例包括URL对应的参数信息,所述根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,包括:获取所述至少一个测试用例中每个测试用例包括的URL对应的参数信息;根据所述至少一个测试用例中每个测试用例包括的URL对应的参数信息,确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集。
进一步的,测试组件接口是封装测试组件形成的接口,测试服务接口是封装测试服务形成的接口,测试桩接口是封装测试桩形成的接口,模拟服务接口是封装模拟服务形成的接口。进一步的,测试组件或测试服务表示测试对象,测试桩或模拟服务为与测试对象有关联关系的组件。
可以理解的,在第一接口为测试组件接口时,第二接口为测试桩接口;在第一接口为测试服务接口时,第二接口为模拟服务接口。举例来说,第三测试用例为所述至少一个测试用例中的任意一个测试用例,在第三测试用例对应的第一接口为测试组件接口时,第三测试用例对应的第二接口为测试桩接口,在第三测试用例对应的第一接口为测试服务接口时,第三测试用例对应的第二接口为模拟服务接口。进一步的,每个测试用例对应的第二接口是根据每个测试用例对应的第一接口和每个测试用例包括的URL对应的参数信息确定的。
可以看出,上述技术方案中,获取所述至少一个测试用例中每个测试用例包括的URL对应的参数信息,为后续根据所述至少一个测试用例中每个测试用例包括的URL对应的参数信息确定每个测试用例对应的第一接口和第二接口做准备;根据所述至少一个测试用例中每个测试用例包括的URL对应的参数信息,确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,实现基于测试用例包括的URL对应的参数信息确定接口,避免在执行每个测试用例时出现接口调用错误的问题。
104、根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果;
其中,所述第一测试顺序是在检测所述至少一个测试用例所构成的有向图未构成闭环时确定的,所述有向图的每个顶点为一个测试用例,所述有向图中的每个有向边的指向代表执行顺序。
进一步的,所述有向图中的每个有向边是在每个有向边连接的2个顶点有关联关系时形成的,所述关联关系可以由用户进行添加。其中,所述第一测试顺序以稀疏的所述有向图的形式进行存储,稀疏指不包括无关联关系的测试用例。
举例来说,在关联关系添加界面上检测到关联关系添加结束时,服务器在关联关系添加界面上获取有向图;服务器检测该有向图有无构成闭环;若是,服务器则弹出窗口,在该窗口上显示用户要重新设计关联关系的提示信息;若否,服务器以稀疏的该有向图的形式进行存储。
参见图1B,图1B为本发明实施例提供的一种有向图的示意图。其中,如图1B所示,可以看到,测试用例4分别与测试用例3和测试用例5连接,且,连接测试用例4与测试用例3的有向边的指向为测试用例4指向测试用例3,即,先执行测试用例4、再执行测试用例3,也就是说,测试用例4和测试用例3有关联关系。进一步的,测试用例3分别与测试用例2和测试用例8连接,且,连接测试用例3与测试用例8的有向边的指向为测试用例8指向测试用例3,即,先执行测试用例8、再执行测试用例3,也就是说,测试用例8和测试用例3有关联关系,测试用例8与测试用例9连接,且,连接测试用例8与测试用例9的有向边的指向为测试用例8指向测试用例9,即,先执行测试用例8、再执行测试用例9,也就是说,测试用例8和测试用例9有关联关系。连接测试用例3与测试用例2的有向边的指向为测试用例3指向测试用例2,即,先执行测试用例3、再执行测试用例2,也就是说,测试用例3和测试用例2有关联关系。进一步的,测试用例2与测试用例1连接,且,连接测试用例2与测试用例1的有向边的指向为测试用例2指向测试用例1,即,先执行测试用例2、再执行测试用例1,也就是说,测试用例2和测试用例1有关联关系。进一步的,测试用例2与测试用例7连接,且,连接测试用例2与测试用例7的有向边的指向为测试用例2指向测试用例7,即,先执行测试用例2、再执行测试用例7,也就是说,测试用例2和测试用例7有关联关系。进一步的,连接测试用例4与测试用例5的有向边的指向为测试用例4指向测试用例5,即,先执行测试用例4、再执行测试用例5,也就是说,测试用例4和测试用例5有关联关系。另外,测试用例5与测试用例6连接,且,连接测试用例5与测试用例6的有向边的指向为测试用例5指向测试用例6,即,先执行测试用例5、再执行测试用例6,也就是说,测试用例5和测试用例6有关联关系。进一步的,测试用例10和测试用例11均未与任何测试用例连接,即,测试用例10和测试用例11均与其他测试用例无关联关系。进一步的,在该有向图进行存储时,测试用例10和测试用例11不会被存储,也就是说,只会存储测试用例1至测试用例9。
可以看出,上述技术方案中,获取第一测试用例标识,为后续确定测试用例脚本做准备;确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序,为后续确定每个测试用例对应的第一接口和第二接口做准备;根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口,通过确定每个测试用例对应的第一接口和第二接口,避免在执行每个测试用例时出现接口调用错误的问题;根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果,根据第一测试顺序调用接口避免了由于业务逻辑不清晰出现的接口调用错误的问题,也实现灵活管理同一测试桩接口或同一模拟服务接口的调用,同时,根据第一测试顺序调用接口实现串行执行测试用例,减少了服务器的开销。
可选的,在一种可能的实施方式中,所述方法还包括:在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时,将所述有向图中每个测试用例的执行状态确定为等待状态,所述第二测试用例为所述至少一个测试用例中的任意一个测试用例;在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时且在执行所述第二测试用例的过程中未发生错误,将所述第二测试用例的执行状态从等待状态修改为准备状态。
进一步的,在未检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时,将所述有向图中每个测试用例的执行状态确定为未准备状态。
其中,处于等待状态的测试用例对应的颜色为灰色,即,在界面上显示处于等待状态的测试用例时,处于等待状态的测试用例对应的颜色为灰色;处于准备状态的测试用例对应的颜色为绿色,即,在界面上显示处于准备状态的测试用例时,处于准备状态的测试用例对应的颜色为绿色;处于未准备状态的测试用例对应的颜色为红色,即,在界面上显示处于未准备状态的测试用例时,处于未准备状态的测试用例对应的颜色为红色。
可以看出,上述技术方案中,在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时,将所述有向图中每个测试用例的执行状态确定为等待状态,所述第二测试用例为所述至少一个测试用例中的任意一个测试用例,实现调整每个测试用例的执行状态,为后续执行状态发生变化时进行调整做准备;在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时且在执行所述第二测试用例的过程中未发生错误,将所述第二测试用例的执行状态从等待状态修改为准备状态,通过调整测试用例的执行状态避免了重复执行。
可选的,在一种可能的实施方式中,所述根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,包括:根据所述第一测试顺序对所述至少一个测试用例中的每个测试用例进行预设操作,以得到所述测试结果集;其中,所述预设操作包括以下步骤:获取当前处理的测试用例,以得到第一测试用例;获取所述第一测试用例中第一URL对应的参数信息;根据所述第一URL对应的参数信息从所述第一接口集和所述第二接口集中确定所述第一测试用例对应的第一接口和所述第一测试用例对应的第二接口;调用所述第一测试用例对应的第一接口对所述第一URL对应的参数信息进行处理,以向所述第一测试用例对应的第二接口传输所述第一URL对应的参数信息;调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果。
其中,第一URL对应的参数信息包括参数名和与参数名对应的值。
其中,预设测试结果库包括多个URL一一对应的多个参数信息,每个参数信息包括参数名和与参数名对应的值。当参数名不同时,与参数名对应的值也不同,每个参数信息关联一个预设测试结果。
可以看出,上述技术方案中,根据第一测试顺序调用接口避免了由于接口调用复杂出现的接口调用错误的问题,也实现将测试组件、测试服务、测试桩和模拟服务封装成接口,并通过调用测试组件接口、测试服务接口、测试桩接口和模拟服务接口来完成测试,同时,根据第一测试顺序调用接口实现串行执行测试用例,减少了服务器的开销。
进一步的,参见图1C,图1C为本发明实施例提供的又一种测试方法的流程示意图。其中,如图1C所示,假设至少一个测试用例包括测试用例1至测试用例n,则测试用例1至测试用例n中的每个测试用例均对应第一接口和第二接口。比如,测试用例1对应MUT接口1和TS接口1,或者,测试用例1对应SUT接口1和MS接口1。进一步的,MUT接口1至MUT接口n可以相同,也可以不相同;SUT接口1至SUT接口n可以相同,也可以不相同。即,测试对象可以是同一个,也可以不是同一个。进一步的,当MUT接口1至MUT接口n相同时或者SUT接口1至SUT接口n相同时,根据第一测试顺序对至少一个测试用例中的每个测试用例进行预设操作,以得到测试结果集,具体的,可以是先调用TS接口1或MS接口1实现得到测试用例1对应的测试结果,然后,再调用TS接口2或MS接口2实现得到测试用例2对应的测试结果,最后,调用TS接口n或MS接口n实现得到测试用例n对应的测试结果;也可以是先调用TS接口2或MS接口2实现得到测试用例2对应的测试结果,然后,再调用TS接口n或MS接口n实现得到测试用例n对应的测试结果,最后,调用TS接口1或MS接口1实现得到测试用例1对应的测试结果。也就是说,第一测试顺序可以随机确定。
进一步的,当MUT接口1至MUT接口n不同时或者SUT接口1至SUT接口n不同时,根据第一测试顺序对至少一个测试用例中的每个测试用例进行预设操作,以得到测试结果集,具体的,比如,调用测试用例1对应的MUT接口1或SUT接口1对测试用例1包括的URL对应的参数信息进行处理,以向测试用例1对应的TS接口1或MS接口1传输URL对应的参数信息,调用测试用例1对应的TS接口1或MS接口1对URL对应的参数信息进行处理,以根据URL对应的参数信息从预设测试结果库中获取测试用例1对应的测试结果,紧接着,再获取测试用例2对应的测试结果,最后获取测试用例n对应的测试结果。
进一步的,所述第一接口集中所有的第一接口相同,所述根据所述第一URL对应的参数信息从所述第一接口集和所述第二接口集中确定所述第一测试用例对应的第一接口和所述第一测试用例对应的第二接口,包括:根据所述第一URL对应的参数信息从所述第二接口集中确定所述第一测试用例对应的第二接口;从所述第一接口集选取任意一个第一接口作为所述第一测试用例对应的第一接口。
可选的,在一种可能的实施方式中,所述调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果,包括:调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以向预设测试结果查询接口传输所述第一URL对应的参数信息;调用预设测试结果查询接口对所述第一URL对应的参数信息进行处理,以在所述预设测试结果库查询与所述第一URL对应的参数信息关联存储的所述预设第一测试结果,以得到所述第一测试结果。
可以看出,上述技术方案中,调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以向预设测试结果查询接口传输所述第一URL对应的参数信息,实现了将第一URL对应的参数信息传递给预设测试结果查询接口,为后续调用预设测试结果查询接口获取第一URL对应的参数信息关联存储的预设第一测试结果做准备;调用预设测试结果查询接口对所述第一URL对应的参数信息进行处理,以在所述预设测试结果库查询与所述第一URL对应的参数信息关联存储的所述预设第一测试结果,以得到所述第一测试结果,实现了调用预设测试结果查询接口获取第一URL对应的参数信息关联存储的预设第一测试结果,同时,通过接口调用获取测试结果避免了非法用户获取预设测试结果库中存储的预设测试结果。
参见图2A,图2A为本发明实施例提供的又一种测试方法的流程示意图。其中,如图2A所示,在所述调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果之前,所述方法还包括:
201、生成预设测试结果添加界面;
202、显示所述预设测试结果添加界面,所述预设测试结果添加界面包括预设测试结果添加区;
203、在所述预设测试结果添加界面检测到添加操作时,从所述预设测试结果添加区中获取预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;
其中,服务器还可以从所述预设测试结果添加区中获取与所述预设第一测试结果对应的标识。进一步的,与所述预设第一测试结果对应的标识可以是与所述预设第一测试结果对应的序号。
进一步的,与所述预设第一测试结果对应的标识还对应测试用例号、用户号、接口号和案例号,其中,测试用例号对应于测试用例,用户号对应于添加关联关系的用户,接口号为TS接口号或MS接口号,案例号是根据调用TS接口号或MS接口号时所涉及的执行步骤生成的。
举例来说,针对用一个测试用例,即测试用例号相同的测试用例,进一步的,即MUT接口或SUT接口相同时,不同用户,可以选择不同的TS接口或MS接口进行测试。
参见图2B,图2B为本发明实施例提供的一种与预设测试结果对应的标识的示意图,从测试用例号1至测试用例号N,每个测试用例号可以关联多个用户号,每个用户号可以关联多个接口号,每个接口号包括多个案例号。进一步的,服务器按照层级结构加载测试用例号1至测试用例号N所关联的信息。比如,针对测试用例号1,服务器先加载用户号1关联的接口号1,即将接口号1包括的案例1至案例N加载接收后,服务器再加载用户号1关联的接口号2,直到用户号N关联的信息加载结束后,再针对测试用例号2进行加载。进一步,服务器可以基于定时器加载测试用例号1至测试用例号N所关联的信息,该定时器的周期可以由用户设置,也可以配置在服务器中。同时,服务器可以获取新的测试用例号,新的测试用例号可以关联多个用户号,每个用户号可以关联多个接口号,每个接口号包括多个案例号,服务器可以基于定时器加载新的测试用例号。
204、调用预设测试结果添加接口对所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中关联存储所述预设第一测试结果以及所述第一URL对应的参数信息。
其中,在一种可能的实施方式中,所述调用预设测试结果添加接口对所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中关联存储所述预设第一测试结果以及所述第一URL对应的参数信息,包括:调用预设测试结果添加接口对所述预设第一测试结果、与所述预设第一测试结果关联的所述第一URL对应的参数信息以及与所述预设第一测试结果对应的标识进行处理,以在所述预设测试结果库中根据与所述预设第一测试结果对应的标识关联存储所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息。即,在预设测试结果库中将所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息插入到与所述预设第一测试结果对应的标识,且关联存储所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息。
可以看出,上述技术方案中,调用预设测试结果添加接口对所述预设第一测试结果、与所述预设第一测试结果关联的所述第一URL对应的参数信息以及与所述预设第一测试结果对应的标识进行处理,以在所述预设测试结果库中根据与所述预设第一测试结果对应的标识关联存储所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息,实现了在预设测试结果库中根据与预设测试结果对应的标识关联存储预设测试结果以及与预设测试结果关联的URL对应的参数信息,同时,通过接口调用存储测试结果避免了非法用户在预设测试结果库中存储预设测试结果。
举例来说,参见图2C为本发明实施例提供的一种预设测试结果库的示意图。其中,如图2C所示,服务器可以调用预设测试结果添加接口、预设测试结果查询接口、预设测试结果更新接口和预设测试结果删除接口分别对预设测试结果库进行处理,以实现添加、查询、更新或删除预设测试结果以及与预设测试结果关联的URL对应的参数信息。进一步的,图2C中,参数信息对应了Key-Value(1)至Key-Value(n),其中,Key为参数名,Value为参数名对应的值。参数名不同时,与参数名对应的值也不同。
可选的,在一种可能的实施方式中,所述方法还包括:生成预设测试结果更新界面;在所述预设测试结果更新界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;在所述预设测试结果更新界面上检测到更新操作时,从所述预设测试结果更新界面上获取预设第二测试结果以及与所述预设第二测试结果关联的第二URL对应的参数信息,所述预设第二测试结果不同于所述预设第一测试结果,与所述预设第二测试结果关联的第二URL对应的参数信息不同于与所述预设第一测试结果关联的所述第一URL对应的参数信息;调用预设测试结果更新接口对所述预设第二测试结果以及所述第二URL对应的参数信息进行处理,以在所述预设测试结果库中将所述预设第一测试结果替换为所述预设第二测试结果以及将所述第一URL对应的参数信息替换为所述第二URL对应的参数信息。
其中,所述预设第二测试结果为所述预设第一测试结果更新后的测试结果,第二URL对应的参数信息为所述第一URL对应的参数信息更新后的参数信息。
进一步的,所述调用预设测试结果更新接口对所述预设第二测试结果以及所述第二URL对应的参数信息进行处理,以在所述预设测试结果库中将所述预设第一测试结果替换为所述预设第二测试结果以及将所述第一URL对应的参数信息替换为所述第二URL对应的参数信息,包括:调用预设测试结果更新接口对所述预设第二测试结果以及所述第二URL对应的参数信息进行处理,以在所述预设测试结果库中根据与所述预设第一测试结果对应的标识将所述预设第一测试结果替换为所述预设第二测试结果以及将所述第一URL对应的参数信息替换为所述第二URL对应的参数信息。
可以看出,上述技术方案中,生成预设测试结果更新界面,为用户提供可视化界面,方便为后续更新预设测试结果和URL对应的参数信息做准备;在所述预设测试结果更新界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息,便于用户在界面上查看;在所述预设测试结果更新界面上检测到更新操作时,从所述预设测试结果更新界面上获取预设第二测试结果以及与所述预设第二测试结果关联的第二URL对应的参数信息,所述预设第二测试结果不同于所述预设第一测试结果,与所述预设第二测试结果关联的第二URL对应的参数信息不同于与所述预设第一测试结果关联的所述第一URL对应的参数信息,获取更新后的预设测试结果和URL对应的参数信息,为后续更新预设测试结果库中的相应信息做准备;调用预设测试结果更新接口对所述预设第二测试结果以及所述第二URL对应的参数信息进行处理,以在所述预设测试结果库中将所述预设第一测试结果替换为所述预设第二测试结果以及将所述第一URL对应的参数信息替换为所述第二URL对应的参数信息,实现了在预设测试结果库中更新预设测试结果以及与预设测试结果关联的URL对应的参数信息,同时,通过接口调用更新测试结果避免了非法用户在预设测试结果库中更新预设测试结果。
可选的,在一种可能的实施方式中,所述方法还包括:生成预设测试结果删除界面;在所述预设测试结果删除界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;在所述预设测试结果删除界面上检测到删除操作时,调用预设测试结果删除接口对所述预设第一测试结果以及所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中删除所述预设第一测试结果以及所述第一URL对应的参数信息。
其中,所述在所述预设测试结果删除界面上检测到删除操作时,调用预设测试结果删除接口对所述预设第一测试结果以及所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中删除所述预设第一测试结果以及所述第一URL对应的参数信息,包括:在所述预设测试结果删除界面上检测到删除操作时,调用预设测试结果删除接口对所述预设第一测试结果以及所述第一URL对应的参数信息进行处理,以根据与所述预设第一测试结果对应的标识在所述预设测试结果库中删除所述预设第一测试结果以及所述第一URL对应的参数信息。
可以看出,上述技术方案中,生成预设测试结果删除界面,为用户提供可视化界面,方便为后续删除预设测试结果和URL对应的参数信息做准备;在所述预设测试结果删除界面上显示所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息,便于用户在界面上查看;在所述预设测试结果删除界面上检测到删除操作时,调用预设测试结果删除接口对所述预设第一测试结果以及所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中删除所述预设第一测试结果以及所述第一URL对应的参数信息,实现了在预设测试结果库中删除预设测试结果以及与预设测试结果关联的URL对应的参数信息,同时,通过接口调用删除测试结果避免了非法用户在预设测试结果库中删除预设测试结果。
参见图3,图3为本发明实施例提供的一种服务器的示意图。其中,如图3所示,本发明的一个实施例提供的一种服务器300可以包括:
获取模块301,用于获取第一测试用例标识;
第一确定模块302,用于确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
其中,所述第一测试顺序是在检测所述至少一个测试用例所构成的有向图未构成闭环时确定的,所述有向图的每个顶点为一个测试用例,所述有向图中的每个有向边的指向代表执行顺序。
第二确定模块303,用于根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
可选的,在一种可能的实施方式中,每个测试用例包括URL对应的参数信息,第二确定模块303,具体用于获取所述至少一个测试用例中每个测试用例包括的URL对应的参数信息;根据所述至少一个测试用例中每个测试用例包括的URL对应的参数信息,确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集。
处理模块304,用于根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果;
可选的,在一种可能的实施方式中,处理模块304,具体用于根据所述第一测试顺序对所述至少一个测试用例中的每个测试用例进行预设操作,以得到所述测试结果集;其中,所述预设操作包括以下步骤:获取当前处理的测试用例,以得到第一测试用例;获取所述第一测试用例中第一URL对应的参数信息;根据所述第一URL对应的参数信息从所述第一接口集和所述第二接口集中确定所述第一测试用例对应的第一接口和所述第一测试用例对应的第二接口;调用所述第一测试用例对应的第一接口对所述第一URL对应的参数信息进行处理,以向所述第一测试用例对应的第二接口传输所述第一URL对应的参数信息;调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果。
可选的,在一种可能的实施方式中,处理模块304,还用于生成预设测试结果添加界面;显示所述预设测试结果添加界面,所述预设测试结果添加界面包括预设测试结果添加区;在所述预设测试结果添加界面检测到添加操作时,从所述预设测试结果添加区中获取预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;调用预设测试结果添加接口对所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中关联存储所述预设第一测试结果以及所述第一URL对应的参数信息。
可选的,在一种可能的实施方式中,处理模块304,具体用于调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以向预设测试结果查询接口传输所述第一URL对应的参数信息;调用预设测试结果查询接口对所述第一URL对应的参数信息进行处理,以在所述预设测试结果库查询与所述第一URL对应的参数信息关联存储的所述预设第一测试结果,以得到所述第一测试结果。
可选的,在一种可能的实施方式中,处理模块304,还用于在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时,将所述有向图中每个测试用例的执行状态确定为等待状态,所述第二测试用例为所述至少一个测试用例中的任意一个测试用例;在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时且在执行所述第二测试用例的过程中未发生错误,将所述第二测试用例的执行状态从等待状态修改为准备状态。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种测试方法,其特征在于,包括:
获取第一测试用例标识;
确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果。
2.根据权利要求1所述的方法,其特征在于,每个测试用例包括URL对应的参数信息,所述根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,包括:
获取所述至少一个测试用例中每个测试用例包括的URL对应的参数信息;
根据所述至少一个测试用例中每个测试用例包括的URL对应的参数信息,确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,包括:
根据所述第一测试顺序对所述至少一个测试用例中的每个测试用例进行预设操作,以得到所述测试结果集;
其中,所述预设操作包括以下步骤:
获取当前处理的测试用例,以得到第一测试用例;
获取所述第一测试用例中第一URL对应的参数信息;
根据所述第一URL对应的参数信息从所述第一接口集和所述第二接口集中确定所述第一测试用例对应的第一接口和所述第一测试用例对应的第二接口;
调用所述第一测试用例对应的第一接口对所述第一URL对应的参数信息进行处理,以向所述第一测试用例对应的第二接口传输所述第一URL对应的参数信息;
调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果。
4.根据权利要求3所述的方法,其特征在于,在所述调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果之前,所述方法还包括:
生成预设测试结果添加界面;
显示所述预设测试结果添加界面,所述预设测试结果添加界面包括预设测试结果添加区;
在所述预设测试结果添加界面检测到添加操作时,从所述预设测试结果添加区中获取预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息;
调用预设测试结果添加接口对所述预设第一测试结果以及与所述预设第一测试结果关联的所述第一URL对应的参数信息进行处理,以在所述预设测试结果库中关联存储所述预设第一测试结果以及所述第一URL对应的参数信息。
5.根据权利要求3或4所述的方法,其特征在于,所述调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以根据所述第一URL对应的参数信息从预设测试结果库中获取所述第一测试用例对应的第一测试结果,包括:
调用所述第一测试用例对应的第二接口对所述第一URL对应的参数信息进行处理,以向预设测试结果查询接口传输所述第一URL对应的参数信息;
调用预设测试结果查询接口对所述第一URL对应的参数信息进行处理,以在所述预设测试结果库查询与所述第一URL对应的参数信息关联存储的所述预设第一测试结果,以得到所述第一测试结果。
6.根据权利要求1-3任意一项所述的方法,其特征在于,所述第一测试顺序是在检测所述至少一个测试用例所构成的有向图未构成闭环时确定的,所述有向图的每个顶点为一个测试用例,所述有向图中的每个有向边的指向代表执行顺序。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时,将所述有向图中每个测试用例的执行状态确定为等待状态,所述第二测试用例为所述至少一个测试用例中的任意一个测试用例;
在检测到所述有向图中的第二测试用例被所述第二测试用例对应的第一接口处理时且在执行所述第二测试用例的过程中未发生错误,将所述第二测试用例的执行状态从等待状态修改为准备状态。
8.一种服务器,其特征在于,包括:
获取模块,用于获取第一测试用例标识;
第一确定模块,用于确定与所述第一测试用例标识对应的测试用例脚本,所述测试用例脚本包括至少一个测试用例以及第一测试顺序,所述第一测试顺序为执行所述至少一个测试用例的顺序;
第二确定模块,用于根据所述至少一个测试用例确定每个测试用例对应的第一接口和第二接口,以得到第一接口集和第二接口集,每个第一接口包括以下一种:测试组件接口和测试服务接口,每个第二接口包括以下一种:测试桩接口和模拟服务接口;
处理模块,用于根据所述第一测试顺序分别调用所述第一接口集和所述第二接口集对所述至少一个测试用例进行处理,以得到测试结果集,所述测试结果集包括所述至少一个测试用例中每个测试用例对应的测试结果。
9.一种测试的电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现权利要求1-7任一项所述的方法。
CN201911218711.5A 2019-11-29 2019-11-29 一种测试方法和相关装置 Active CN112882922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911218711.5A CN112882922B (zh) 2019-11-29 2019-11-29 一种测试方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911218711.5A CN112882922B (zh) 2019-11-29 2019-11-29 一种测试方法和相关装置

Publications (2)

Publication Number Publication Date
CN112882922A CN112882922A (zh) 2021-06-01
CN112882922B true CN112882922B (zh) 2023-11-17

Family

ID=76039460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911218711.5A Active CN112882922B (zh) 2019-11-29 2019-11-29 一种测试方法和相关装置

Country Status (1)

Country Link
CN (1) CN112882922B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018014580A1 (zh) * 2016-07-20 2018-01-25 平安科技(深圳)有限公司 数据接口测试方法、装置、服务器和存储介质
CN110347596A (zh) * 2019-07-02 2019-10-18 腾讯科技(深圳)有限公司 一种测试方法、装置、系统、电子设备及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018014580A1 (zh) * 2016-07-20 2018-01-25 平安科技(深圳)有限公司 数据接口测试方法、装置、服务器和存储介质
CN110347596A (zh) * 2019-07-02 2019-10-18 腾讯科技(深圳)有限公司 一种测试方法、装置、系统、电子设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于TestBed的雷达软件接口测试研究与应用;史莹莹;程方铎;费清春;;信息化研究(第06期);全文 *
基于模块关联性的测试用例维护方法;郭学品;钟声;;电脑编程技巧与维护(第10期);全文 *

Also Published As

Publication number Publication date
CN112882922A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN108153670B (zh) 一种接口测试方法、装置及电子设备
CN108108297B (zh) 自动化测试的方法和装置
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
US20160283353A1 (en) Automated software testing
US9652220B2 (en) Zero down-time deployment of new application versions
CN109684188B (zh) 测试方法和装置
US8311794B2 (en) Testing executable logic
CN112199300B (zh) 一种接口测试方法、装置、电子设备及存储介质
CN112256318B (zh) 一种用于依赖产品的构建方法及设备
CN110659206A (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN111309624B (zh) 测试方法、装置、设备及存储介质
CN111538659A (zh) 业务场景的接口测试方法、系统、电子设备和存储介质
CN111221721B (zh) 一种单元测试案例自动化录制和执行方法及装置
US11347533B2 (en) Enhanced virtual machine image management system
CN112882922B (zh) 一种测试方法和相关装置
CN112860308A (zh) 接口定义的配置方法、业务处理方法、服务器及存储介质
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN116301866A (zh) 基于自定义软件的云渲染方法、装置、设备及存储介质
CN114896317A (zh) 一种数据结构转换方法、装置、电子设备及存储介质
US10152466B2 (en) Comparing user interfaces
US20170161359A1 (en) Pattern-driven data generator
CN113011858A (zh) 审计项目配置、执行方法和装置
CN113947391B (zh) 基于web的采招系统管理方法、装置、设备及存储介质
CN117493151A (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