CN107193747A - 代码测试方法、装置和计算机设备 - Google Patents
代码测试方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN107193747A CN107193747A CN201710393013.3A CN201710393013A CN107193747A CN 107193747 A CN107193747 A CN 107193747A CN 201710393013 A CN201710393013 A CN 201710393013A CN 107193747 A CN107193747 A CN 107193747A
- Authority
- CN
- China
- Prior art keywords
- environment
- address
- result
- mentioned
- fresh code
- 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.)
- Granted
Links
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/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本申请实施例公开了一种代码测试方法、装置和计算机设备,上述代码测试方法,包括:获取测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址;获取所述同步线上环境和所述新代码环境运行所述至少两个请求串的结果;将获取的结果中特定结果对应的请求串发送到测试平台;在所述测试平台的界面展示所述特定结果对应的请求串的运行结果,根据所述运行结果确定所述新代码存在的缺陷。本申请实施例可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
Description
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种代码测试方法、装置和计算机设备。
背景技术
对于提供接口的服务,接口的输出相对稳定,但由于代码会频繁改动,因此一般采用diffy来对代码进行测试,diffy是一种开源的自动化测试工具,可以通过搭建自己的环境,对接收到的请求结果进行分析。
特别是在代码重构中,diffy测试能快速通过返回结果的差异来推断代码存在问题,并且通过构造大量请求串(query)可以覆盖大部分业务逻辑,从而验证代码的正确性。
但是,现有相关技术中,对于如何快速并直观地发现上述返回结果的差异并未提供相应的解决方案。
发明内容
本申请的实施例提供一种代码测试方法、装置和计算机设备,可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供一种代码测试方法,包括:
根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供所述同步线上环境和所述新代码环境运行所述至少两个请求串;
获取所述同步线上环境和所述新代码环境运行所述至少两个请求串的结果;
将获取的结果中特定结果对应的请求串发送到测试平台,以供所述测试平台运行所述特定结果对应的请求串;
在所述测试平台的界面展示所述特定结果对应的请求串的运行结果,根据所述运行结果确定所述新代码存在的缺陷。
其中在一种实施方式中,所述根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址包括:
根据测试脚本中同步线上环境的地址和新代码环境的地址,将所述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
其中在一种实施方式中,所述在所述测试平台的界面展示所述特定结果对应的请求串的运行结果包括:
在所述测试平台的界面中,以特定的方式展示所述同步线上环境和所述新代码环境运行所述特定结果对应的请求串的结果的差异,并且在所述测试平台的界面中展示的所述差异是去噪声后的。
其中在一种实施方式中,所述根据所述运行结果确定所述新代码存在的缺陷包括:根据展示的差异确定所述新代码存在的缺陷。
第二方面,本申请实施例提供一种代码测试装置,包括:
发送模块,用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供所述同步线上环境和所述新代码环境运行所述至少两个请求串;
获取模块,用于获取所述同步线上环境和所述新代码环境运行所述至少两个请求串的结果;
所述发送模块,还用于将所述获取模块获取的结果中特定结果对应的请求串发送到测试平台,以供所述测试平台运行所述特定结果对应的请求串;
展示模块,用于在所述测试平台的界面展示所述特定结果对应的请求串的运行结果;
确定模块,用于根据所述展示模块展示的运行结果确定所述新代码存在的缺陷。
其中在一种实施方式中,还包括:
所述发送模块,具体用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将所述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
其中在一种实施方式中,还包括:
所述展示模块,具体用于在所述测试平台的界面中,以特定的方式展示所述同步线上环境和所述新代码环境运行所述特定结果对应的请求串的结果的差异,并且在所述测试平台的界面中展示的所述差异是去噪声后的。
其中在一种实施方式中,还包括:
所述确定模块,具体用于根据所述展示模块展示的差异确定所述新代码存在的缺陷。
第三方面,本申请实施例提供一种计算机设备,包括:
一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
第四方面,本申请实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上所述的方法。
本申请实施例提供的代码测试方法、装置和计算机设备中,根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串,获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果,然后将获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串,最后在上述测试平台的界面展示上述特定结果对应的请求串的运行结果,根据上述运行结果确定上述新代码存在的缺陷,从而可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请代码测试方法一个实施例的流程图;
图2为本申请代码测试方法另一个实施例的流程图;
图3为本申请代码测试方法再一个实施例的流程图;
图4为本申请代码测试方法再一个实施例的流程图;
图5为本申请代码测试装置一个实施例的结构示意图;
图6为本申请计算机设备一个实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请代码测试方法一个实施例的流程图,如图1所示,上述代码测试方法可以包括:
步骤101,根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串。
本实施例中,在服务器端的功能测试中,首先,部署两套环境,一套是同步线上环境,即与线上环境同步的环境,另一套是新代码环境。
上述两套环境的统一资源定位符(Uniform Resource Locator;以下简称:URL)地址携带在测试脚本中,在运行上述测试脚本的时候,就可以根据上述测试脚本中同步线上环境的地址和新代码环境的地址,分别将至少两个请求串发送到同步线上环境的地址和新代码环境的地址。
本实施例中,发送到同步线上环境的至少两个请求串所请求的内容与发送到新代码环境的至少两个请求串所请求的内容是相同的。
步骤102,获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果。
本实施例中,在上述同步线上环境和上述新代码环境运行上述至少两个请求串之后,服务器可以获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果。
步骤103,将获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串。
本实施例中,服务器获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果之后,遍历获取的结果,然后将获取的结果中特定结果对应的请求串发送到测试平台,再由上述测试平台运行上述特定结果对应的请求串。
在本实施例中,服务器可以在将获取的结果遍历完毕之后,将上述获取的结果中所有特定结果对应的请求串一并发送到上述测试平台;或者服务器可以在遍历获取的结果的过程中,每发现一个特定结果,就将上述特定结果对应的请求串发送到上述测试平台;或者,服务器还可以在遍历获取的结果的过程中,发现预定数量的特定结果之后,将上述预定数量的特定结果对应的请求串发送到上述测试平台,其中,上述预定数量可以自行设定,本实施例对此不作限定;当然,服务器还可以采用其他的方式将获取的结果中特定结果对应的请求串发送到测试平台,本实施例对此不作限定。
其中,上述特定结果可以为单一广告(advertisements;以下简称:ads)结果,也可以为多个ads结果,或者广告优先级的结果,也可以为其他的结果,本实施例对此不作限定,本实施例以上述特定结果为单一ads结果为例进行说明。
上述测试平台可以为开源测试平台,例如:diffy,也可以为其他的测试平台,本实施例对此不作限定,但本实施例以上述测试平台为diffy为例进行说明。
步骤104,在上述测试平台的界面展示上述特定结果对应的请求串的运行结果,根据上述运行结果确定上述新代码存在的缺陷。
本实施例中,在diffy运行上述特定结果对应的请求串之后,可以在diffy的界面展示上述特定结果对应的请求串的运行结果,这样,根据上述运行结果就可以确定上述新代码存在的缺陷。
上述代码测试方法中,根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串,获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果,然后将获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串,最后在上述测试平台的界面展示上述特定结果对应的请求串的运行结果,根据上述运行结果确定上述新代码存在的缺陷,从而可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
图2为本申请代码测试方法另一个实施例的流程图,如图2所示,本申请图1所示实施例,步骤101可以为:
步骤201,根据测试脚本中同步线上环境的地址和新代码环境的地址,将上述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串。
也就是说,本实施例中,将上述至少两个请求串文件名作为一个参数“query.info”携带在上述测试脚本中,这样在运行测试脚本的过程中,就可以将上述参数“query.info”所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
图3为本申请代码测试方法再一个实施例的流程图,如图3所示,本申请图1所示实施例步骤104中,在上述测试平台的界面展示上述特定结果对应的请求串的运行结果可以为:
步骤301,在上述测试平台的界面中,以特定的方式展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异,并且在上述测试平台的界面中展示的上述差异是去噪声后的。
本实施例中,上述测试平台将上述特定结果对应的请求串运行两次,如果两次获得的运行结果不一致,则可以确定上述运行结果中存在噪声,于是上述测试平台可以在展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异时,去除上述运行结果中的噪声。
其中,上述特定的方式可以为高亮显示,也可以使用特定的颜色标出显示(例如:标黄显示),本实施例对展示差异的方式不作限定,本实施例以高亮显示为例进行说明。
本实施例中,在diffy运行上述特定结果对应的请求串之后,可以在diffy界面中展示上述特定结果对应的请求串的运行结果,并高亮展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异,并且在上述测试平台的界面中展示的上述差异是去噪声后的,这样,测试人员就可以很明显看出上述同步线上环境和上述新代码环境对于上述特定结果对应的请求串的运行结果的差异。
这样,步骤104中,根据上述运行结果确定上述新代码存在的缺陷可以为:
步骤302,根据展示的差异确定上述新代码存在的缺陷。
由于上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异,在diffy界面中被高亮展示出来,并且在上述测试平台的界面中展示的上述差异是去噪声后的,测试人员可以快速直观地发现这些差异,进一步可以根据上述差异确定上述新代码存在的缺陷(bug),在发现问题的同时可以减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
结合上述描述,本申请可以提供一种代码测试方法,图4为本申请代码测试方法再一个实施例的流程图,如图4所示,可以包括:
步骤401,根据测试脚本中同步线上环境的地址和新代码环境的地址,将上述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串。
步骤402,获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果。
步骤403,将获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串。
步骤404,在上述测试平台的界面中,以特定的方式展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异。
步骤405,根据展示的差异确定上述新代码存在的缺陷。
上述代码测试方法可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
图5为本申请代码测试装置一个实施例的结构示意图,本实施例中的代码测试装置可以作为服务器,或者服务器的一部分实现本申请实施例提供的代码测试方法,如图5所示,上述代码测试装置可以包括:发送模块51、获取模块52、展示模块53和确定模块54;
其中,发送模块51,用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串;
本实施例中,在服务器端的功能测试中,首先,部署两套环境,一套是同步线上环境,即与线上环境同步的环境,另一套是新代码环境。
上述两套环境的URL地址携带在测试脚本中,在运行上述测试脚本的时候,发送模块51就可以根据上述测试脚本中同步线上环境的地址和新代码环境的地址,分别将至少两个请求串发送到同步线上环境的地址和新代码环境的地址。
本实施例中,发送模块51发送到同步线上环境的至少两个请求串所请求的内容与发送到新代码环境的至少两个请求串所请求的内容是相同的。
获取模块52,用于获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果;本实施例中,在上述同步线上环境和上述新代码环境运行上述至少两个请求串之后,获取模块52可以获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果。
发送模块51,还用于将获取模块52获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串;本实施例,获取模块52获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果之后,发送模块51遍历获取的结果,然后将获取的结果中特定结果对应的请求串发送到测试平台,再由上述测试平台运行上述特定结果对应的请求串。
在本实施例中,发送模块51可以在将获取的结果遍历完毕之后,将上述获取的结果中所有特定结果对应的请求串一并发送到上述测试平台;或者发送模块51可以在遍历获取的结果的过程中,每发现一个特定结果,就将上述特定结果对应的请求串发送到上述测试平台;或者,发送模块51还可以在遍历获取的结果的过程中,发现预定数量的特定结果之后,将上述预定数量的特定结果对应的请求串发送到上述测试平台,其中,上述预定数量可以自行设定,本实施例对此不作限定;当然,发送模块51还可以采用其他的方式将获取的结果中特定结果对应的请求串发送到测试平台,本实施例对此不作限定。
其中,上述特定结果可以为单一ads结果,也可以为其他的结果,例如:上述特定结果也可以为多个ads结果,或者广告优先级的结果,本实施例对此不作限定,本实施例以上述特定结果为单一ads结果为例进行说明。
上述测试平台可以为开源测试平台,例如:diffy,也可以为其他的测试平台,本实施例对此不作限定,但本实施例以上述测试平台为diffy为例进行说明。
本实施例中,发送模块51,具体用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将上述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
也就是说,本实施例中,将上述至少两个请求串文件名作为一个参数“query.info”携带在上述测试脚本中,这样在运行测试脚本的过程中,发送模块51就可以将上述参数“query.info”所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
展示模块53,用于在上述测试平台的界面展示上述特定结果对应的请求串的运行结果;本实施例中,展示模块53,具体用于在上述测试平台的界面中,以特定的方式展示上述同步线上环境和所述新代码环境运行上述特定结果对应的请求串的结果的差异,并且在上述测试平台的界面中展示的上述差异是去噪声后的。
具体地,上述测试平台将上述特定结果对应的请求串运行两次,如果两次获得的运行结果不一致,则可以确定上述运行结果中存在噪声,于是展示模块53可以在展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异时,去除上述运行结果中的噪声。
其中,上述特定的方式可以为高亮显示,也可以使用特定的颜色标出显示(例如:标黄显示),本实施例对展示差异的方式不作限定,本实施例以高亮显示为例进行说明。
本实施例中,在diffy运行上述特定结果对应的请求串之后,展示模块53可以在diffy界面中展示上述特定结果对应的请求串的运行结果,并高亮展示上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异,并且在上述测试平台的界面中展示的上述差异是去噪声后的,这样,测试人员就可以很明显看出上述同步线上环境和上述新代码环境对于上述特定结果对应的请求串的运行结果的差异。
确定模块54,用于根据展示模块53展示的运行结果确定上述新代码存在的缺陷。本实施例中,确定模块54,具体用于根据展示模块53展示的差异确定上述新代码存在的缺陷。
具体地,在diffy运行上述特定结果对应的请求串之后,可以在diffy的界面展示上述特定结果对应的请求串的运行结果,这样,根据上述运行结果就可以确定上述新代码存在的缺陷。
由于上述同步线上环境和上述新代码环境运行上述特定结果对应的请求串的结果的差异,在diffy界面中被高亮展示出来,并且在上述测试平台的界面中展示的上述差异是去噪声后的,测试人员可以快速直观地发现这些差异,进一步可以根据上述差异确定上述新代码存在的缺陷(bug),在发现问题的同时可以减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
上述代码测试装置中,发送模块51根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供上述同步线上环境和上述新代码环境运行上述至少两个请求串,获取模块52获取上述同步线上环境和上述新代码环境运行上述至少两个请求串的结果,然后发送模块51将获取模块52获取的结果中特定结果对应的请求串发送到测试平台,以供上述测试平台运行上述特定结果对应的请求串,最后展示模块53在上述测试平台的界面展示上述特定结果对应的请求串的运行结果,确定模块54根据上述运行结果确定上述新代码存在的缺陷,从而可以实现在diffy界面中,快速直观地发现同步线上环境和新代码环境返回结果的差异,减少人工再次对比的重复劳动,在批量测试中更高效,并且可以避免人工对比存在的遗漏。
图6为本申请计算机设备一个实施例的结构示意图,本实施例中的计算机设备可以作为服务器实现本申请实施例提供的代码测试方法,上述计算机设备可以包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现本申请实施例提供的代码测试方法。
图6示出了适于用来实现本申请实施方式的示例性计算机设备12的框图。图6显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的代码测试方法。
本申请还提供一种包含计算机可执行指令的存储介质,上述计算机可执行指令在由计算机处理器执行时用于执行本申请图1~图4所示实施例提供的代码测试方法。
上述计算机可执行指令的存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例中可能采用术语“第一”、“第二”、“第三”等来描述各种连接端口和标识信息等,但这些连接端口和标识信息等不应限于这些术语。这些术语仅用来将连接端口和标识信息等彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一连接端口也可以被称为第二连接端口,类似地,第二连接端口也可以被称为第一连接端口。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种代码测试方法,其特征在于,包括:
获取测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供所述同步线上环境和所述新代码环境运行所述至少两个请求串;
获取所述同步线上环境和所述新代码环境运行所述至少两个请求串的结果;
将获取的结果中特定结果对应的请求串发送到测试平台,以供所述测试平台运行所述特定结果对应的请求串;
在所述测试平台的界面展示所述特定结果对应的请求串的运行结果,根据所述运行结果确定所述新代码存在的缺陷。
2.根据权利要求1所述的方法,其特征在于,所述根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址包括:
根据测试脚本中同步线上环境的地址和新代码环境的地址,将所述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
3.根据权利要求1所述的方法,其特征在于,所述在所述测试平台的界面展示所述特定结果对应的请求串的运行结果包括:
在所述测试平台的界面中,以特定的方式展示所述同步线上环境和所述新代码环境运行所述特定结果对应的请求串的结果的差异,并且在所述测试平台的界面中展示的所述差异是去噪声后的。
4.根据权利要求3所述的方法,其特征在于,所述根据所述运行结果确定所述新代码存在的缺陷包括:
根据展示的差异确定所述新代码存在的缺陷。
5.一种代码测试装置,其特征在于,包括:
发送模块,用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将至少两个请求串分别发送到同步线上环境的地址和新代码环境的地址,以供所述同步线上环境和所述新代码环境运行所述至少两个请求串;
获取模块,用于获取所述同步线上环境和所述新代码环境运行所述至少两个请求串的结果;
所述发送模块,还用于将所述获取模块获取的结果中特定结果对应的请求串发送到测试平台,以供所述测试平台运行所述特定结果对应的请求串;
展示模块,用于在所述测试平台的界面展示所述特定结果对应的请求串的运行结果;
确定模块,用于根据所述展示模块展示的运行结果确定所述新代码存在的缺陷。
6.根据权利要求5所述的装置,其特征在于,还包括:
所述发送模块,具体用于根据测试脚本中同步线上环境的地址和新代码环境的地址,将所述测试脚本中携带的至少两个请求串文件名所指示的至少两个请求串,分别发送到同步线上环境的地址和新代码环境的地址。
7.根据权利要求5所述的装置,其特征在于,还包括:
所述展示模块,具体用于在所述测试平台的界面中,以特定的方式展示所述同步线上环境和所述新代码环境运行所述特定结果对应的请求串的结果的差异,并且在所述测试平台的界面中展示的所述差异是去噪声后的。
8.根据权利要求7所述的装置,其特征在于,还包括:
所述确定模块,具体用于根据所述展示模块展示的差异确定所述新代码存在的缺陷。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393013.3A CN107193747B (zh) | 2017-05-27 | 2017-05-27 | 代码测试方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710393013.3A CN107193747B (zh) | 2017-05-27 | 2017-05-27 | 代码测试方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193747A true CN107193747A (zh) | 2017-09-22 |
CN107193747B CN107193747B (zh) | 2022-01-11 |
Family
ID=59875148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710393013.3A Active CN107193747B (zh) | 2017-05-27 | 2017-05-27 | 代码测试方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193747B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901989A (zh) * | 2017-12-11 | 2019-06-18 | 优酷网络技术(北京)有限公司 | Json对比方法和装置以及电子设备 |
CN109933398A (zh) * | 2019-03-12 | 2019-06-25 | 南京南瑞继保电气有限公司 | 功能图页面的校核方法、装置及计算机可读存储介质 |
CN112363944A (zh) * | 2020-11-20 | 2021-02-12 | 上海悦易网络信息技术有限公司 | 一种用于多环境接口返回值对比的方法及设备 |
CN112948271A (zh) * | 2021-04-09 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 一种代码测试方法、装置、设备及存储介质 |
CN113791983A (zh) * | 2021-09-24 | 2021-12-14 | 北京顺源开华科技有限公司 | 应用代码的测试方法、装置以及电子设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
US20100058300A1 (en) * | 2008-08-26 | 2010-03-04 | International Business Machines Corporation | Test coverage analysis method and apparatus |
US20100235816A1 (en) * | 2009-03-16 | 2010-09-16 | Ibm Corporation | Data-driven testing without data configuration |
US20110126173A1 (en) * | 2009-11-26 | 2011-05-26 | International Business Machines Corporation | Verifying synchronization coverage in logic code |
CN102419729A (zh) * | 2010-10-26 | 2012-04-18 | 微软公司 | 并行测试执行 |
CN103226485A (zh) * | 2013-05-21 | 2013-07-31 | 北京奇虎科技有限公司 | 代码发布方法、代码发布机和代码发布系统 |
CN104520818A (zh) * | 2012-08-13 | 2015-04-15 | 惠普发展公司,有限责任合伙企业 | 连续部署管道中的性能测试 |
US20150254165A1 (en) * | 2014-03-05 | 2015-09-10 | Concurix Corporation | Automated Regression Testing for Software Applications |
US20160034270A1 (en) * | 2014-08-01 | 2016-02-04 | Microsoft Corporation | Estimating likelihood of code changes introducing defects |
CN106407124A (zh) * | 2016-11-10 | 2017-02-15 | 中国工商银行股份有限公司 | 一种程序自动化测试方法及系统 |
CN106547678A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 用于白盒测试的方法和装置 |
CN106557423A (zh) * | 2016-11-22 | 2017-04-05 | 深圳市掌世界网络科技有限公司 | 一种互联网代码自动发布方法及系统 |
WO2017062008A1 (en) * | 2015-10-08 | 2017-04-13 | Hewlett Packard Enterprise Development Lp | Comparing scripts |
-
2017
- 2017-05-27 CN CN201710393013.3A patent/CN107193747B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
US20100058300A1 (en) * | 2008-08-26 | 2010-03-04 | International Business Machines Corporation | Test coverage analysis method and apparatus |
US20100235816A1 (en) * | 2009-03-16 | 2010-09-16 | Ibm Corporation | Data-driven testing without data configuration |
US20110126173A1 (en) * | 2009-11-26 | 2011-05-26 | International Business Machines Corporation | Verifying synchronization coverage in logic code |
CN102419729A (zh) * | 2010-10-26 | 2012-04-18 | 微软公司 | 并行测试执行 |
CN104520818A (zh) * | 2012-08-13 | 2015-04-15 | 惠普发展公司,有限责任合伙企业 | 连续部署管道中的性能测试 |
CN103226485A (zh) * | 2013-05-21 | 2013-07-31 | 北京奇虎科技有限公司 | 代码发布方法、代码发布机和代码发布系统 |
US20150254165A1 (en) * | 2014-03-05 | 2015-09-10 | Concurix Corporation | Automated Regression Testing for Software Applications |
US20160034270A1 (en) * | 2014-08-01 | 2016-02-04 | Microsoft Corporation | Estimating likelihood of code changes introducing defects |
CN106547678A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 用于白盒测试的方法和装置 |
WO2017062008A1 (en) * | 2015-10-08 | 2017-04-13 | Hewlett Packard Enterprise Development Lp | Comparing scripts |
CN106407124A (zh) * | 2016-11-10 | 2017-02-15 | 中国工商银行股份有限公司 | 一种程序自动化测试方法及系统 |
CN106557423A (zh) * | 2016-11-22 | 2017-04-05 | 深圳市掌世界网络科技有限公司 | 一种互联网代码自动发布方法及系统 |
Non-Patent Citations (3)
Title |
---|
BEI LI: "Layered Architecture for Test Automation", 《HTTPS://WWW.INFOQ.COM/ARTICLES/LAYERED-TEST-AUTOMATATION/》 * |
授客: "测试思想-流程规范 关于预发布环境的一些看法", 《HTTPS://WWW.CNBLOGS.COM/SHOUKE/P/10157700.HTML》 * |
金灵杰: "Diffy:Twitter的开源自动化测试工具", 《HTTPS://WWW.INFOQ.CN/ARTICLE/DIFFY-TWITTER-OPEN-SOURCE-AUTOMATION-TESTING-TOOL》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901989A (zh) * | 2017-12-11 | 2019-06-18 | 优酷网络技术(北京)有限公司 | Json对比方法和装置以及电子设备 |
CN109901989B (zh) * | 2017-12-11 | 2023-12-12 | 阿里巴巴(中国)有限公司 | Json对比方法和装置以及电子设备 |
CN109933398A (zh) * | 2019-03-12 | 2019-06-25 | 南京南瑞继保电气有限公司 | 功能图页面的校核方法、装置及计算机可读存储介质 |
CN112363944A (zh) * | 2020-11-20 | 2021-02-12 | 上海悦易网络信息技术有限公司 | 一种用于多环境接口返回值对比的方法及设备 |
CN112948271A (zh) * | 2021-04-09 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 一种代码测试方法、装置、设备及存储介质 |
CN113791983A (zh) * | 2021-09-24 | 2021-12-14 | 北京顺源开华科技有限公司 | 应用代码的测试方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107193747B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193747A (zh) | 代码测试方法、装置和计算机设备 | |
US11693762B2 (en) | User interface test coverage | |
CN108170611A (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
US20160266896A1 (en) | Smart source code review system | |
WO2016082311A1 (zh) | 生成数控机床加工控制数据的系统及方法 | |
CN104050076A (zh) | 移动终端上的应用软件测试方法、装置及系统 | |
US8832545B2 (en) | Method and system for generating inspection data and using the inspection data for recording observations of an inspection site | |
US9928163B2 (en) | Dynamic test topology visualization | |
US20190334979A1 (en) | System and method for providing more appropriate question/answer responses based upon profiles | |
US20140068508A1 (en) | Integrated profile simulation for dynamic content | |
CN109815147A (zh) | 测试案例生成方法、装置、服务器和介质 | |
CN108874665A (zh) | 一种测试结果校验方法、装置、设备和介质 | |
CN113535567B (zh) | 软件测试方法、装置、设备和介质 | |
CN107368568A (zh) | 一种笔记生成的方法、装置、设备和存储介质 | |
CN109933530A (zh) | 控件测试方法及装置、设备及存储介质 | |
CN109032947A (zh) | 用于操作系统的测试方法、装置、设备和存储介质 | |
KR20180076020A (ko) | 애플리케이션 테스트 자동화 장치 및 방법 | |
CN107395456A (zh) | 分布式文件系统流直存测试方法及平台 | |
CN113495498B (zh) | 用于硬件设备的模拟方法、模拟器、设备和介质 | |
CN109240928A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN105653123B (zh) | 一种图标分组方法及终端设备 | |
CN116756016A (zh) | 多浏览器测试方法、装置、设备、介质及程序产品 | |
CN109120433B (zh) | 用于容器化部署主机的方法和装置 | |
CN105354077A (zh) | 一种虚拟机平滑切换的方法、装置及终端 | |
JP2020135608A (ja) | 情報処理装置および方法 |
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 |