CN116521570A - 测试方法、装置、介质和计算设备 - Google Patents
测试方法、装置、介质和计算设备 Download PDFInfo
- Publication number
- CN116521570A CN116521570A CN202310608674.9A CN202310608674A CN116521570A CN 116521570 A CN116521570 A CN 116521570A CN 202310608674 A CN202310608674 A CN 202310608674A CN 116521570 A CN116521570 A CN 116521570A
- Authority
- CN
- China
- Prior art keywords
- page
- data
- tested
- test
- 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 432
- 238000010998 test method Methods 0.000 title abstract description 17
- 230000006870 function Effects 0.000 claims abstract description 72
- 230000000694 effects Effects 0.000 claims abstract description 61
- 238000005259 measurement Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000000977 initiatory effect Effects 0.000 claims abstract description 40
- 238000001514 detection method Methods 0.000 claims description 23
- 238000001545 Page's trend test Methods 0.000 claims description 14
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 238000009877 rendering Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000012093 association test Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
-
- 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
本公开的实施方式提供了一种测试方法、装置、介质和计算设备。所述方法应用于部署有待测客户端的测试平台,包括:向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。该方法不仅能够提升客户端与接口相关显示功能的整体测试效率,也在一定程度上提升了测试的准确性。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种测试方法、装置、介质和计算设备。
背景技术
本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
终端设备中可以运行应用程序的客户端,在运行过程中,客户端可以通过数据接口从服务端或数据库获取数据进行页面展示。其中,数据接口更新可能影响客户端对页面的展示效果,因此需要测试客户端对页面的展示功能。
在相关技术中,常通过前端测试或后端测试的方式对数据接口返回的数据或者客户端的展示功能进行测试。其中,在后端的数据接口尚未开发完成或被占用、前端的客户端展示功能已开发完成的场景下,通常采用前端测试方式,具体是按照接口规则模拟(mock)接口返回的数据并将其提供至客户端进行展示,以验证客户端对相应页面的展示功能是否正常。而后端测试方式,则是通过人工模拟或者引流录制的方式沉淀用户在客户端的实际操作以及接口的真实请求和响应作为测试用例,之后使用这些测试用例测试接口返回的真实数据是否正常。
发明内容
但是,相关技术中的前端测试仅关注客户端的页面展示过程,而无法模拟返回真实的响应数据,可能出现测试阶段模拟的数据展示正常但是实际使用阶段返回的数据展示不正常等异常情况,测试准确度较低。而后端测试则仅能够验证接口返回的数据是否正常而无法验证客户端能够正常展示这些数据,因此接口对应的页面功能往往还需要人工验证,整体验证效率较低。
可见,相关技术中的前端测试侧重于验证客户端的展示效果是否正常,而后端测试侧重于验证接口返回数据是否正常,两类方式的测试过程以及测试效果相互独立。换言之,相关技术针对客户端的页面展示功能测试和针对接口的数据调用功能测试相互分离,针对客户端与接口相关显示功能的整体测试效率较低且准确性较差。
为此,非常需要一种改进的测试方法,以提升客户端显示功能的整体测试效率及准确性。
在本上下文中,本公开的实施方式期望提供一种测试方法、装置、介质和计算设备。
在本公开实施方式的第一方面中,提供了一种测试方法,应用于部署有待测客户端的测试平台,包括:
向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;
在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可选的,所述向待测数据接口发起测试请求,包括下述之一:
响应于针对待测数据接口的接口测试指令,向所述待测数据接口发起测试请求;
响应于针对所述目标页面的页面测试指令,向所述目标页面关联的待测数据接口发起测试请求;
响应于针对所述待测客户端的应用测试指令,向所述待测客户端调用的待测数据接口发起测试请求。
可选的,所述接口测试指令、所述页面测试指令和所述应用测试指令中的任一测试指令:
由所述测试平台的用户发起;或者,
由维护所述页面数据集合中至少一个数据的第三方平台在检测到所述至少一个数据被更新后发起。
可选的,所述向所述待测客户端调用的待测数据接口发起测试请求,包括:
根据所述待测客户端的当前版本确定待测试的各个目标页面,并向所述各个目标页面分别关联的待测数据接口发起测试请求。
可选的,所述向待测数据接口发起测试请求,包括:
从所述待测数据接口的测试用例集合中选取针对所述目标页面的第一测试用例,并基于所述第一测试用例包含的第一测试参数发起所述测试请求,所述第一测试用例包含的第一描述信息用于表征所述目标页面的展示效果;或者,
获取为所述待测数据接口指定的第二测试参数,并基于所述第二测试参数发起所述测试请求。
可选的,在基于所述第二测试参数发起所述测试请求的情况下,所述方法还包括:
若判断所述目标页面的展示功能正常,则为所述待测数据接口构造针对所述目标页面的第二测试用例,所述第二测试用例包含所述第二测试参数和用于表征所述实测页面或所述目标页面的展示效果的第二描述信息。
可选的,所述检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,包括下述之一:
展示所述页面数据集合中的各个页面数据,并在检测到针对所述页面数据集合实施的匹配确认操作的情况下,确定所述页面数据集合匹配于所述数据规则;
针对所述页面数据集合中的各个页面数据,从所述待测数据接口的规则集合中确定所述各个页面数据分别对应的数据规则,并在匹配于相应数据规则的页面数据的数量不小于数量阈值或者预定义的特定数据规则存在相匹配的页面数据的情况下,确定所述页面数据集合匹配于所述数据规则;
调用接口断言工具检测所述页面数据集合中的各个数据是否匹配于所述待测数据接口的数据规则。
可选的,在检测到页面数据集合不匹配于所述数据规则的情况下,所
述方法还包括:
展示针对所述待测数据接口的错误提示信息;和/或,
响应于检测到的参数更新操作,基于所述参数更新操作指定的更新后参数发起新的测试请求。
可选的,所述触发所述待测客户端基于所述页面数据集合展示实测页面,包括:
在所述待测客户端部署于所述测试平台中的待测终端的情况下,通过所述待测终端触发所述待测客户端基于所述页面数据集合展示实测页面;或者,
在所述待测客户端部署于所述测试平台中的虚拟机的情况下,通过所述虚拟机触发所述待测客户端基于所述页面数据集合展示实测页面。
可选的,所述触发所述待测客户端基于所述页面数据集合展示实测页面,包括:
在所述页面数据集合中包含可跳转数据的情况下,触发所述待测客户端基于所述可跳转数据展示跳转后的实测页面。
可选的,还包括:展示或向所述测试平台绑定的终端设备发送下述信息:
所述实测页面的展示效果的描述信息;和/或,
所述实测页面与所述目标页面的展示效果的差异信息。
可选的,所述展示或向所述测试平台绑定的终端设备发送下述信息,包括:
展示或向所述测试平台绑定的终端设备批量下发多个测试请求分别对应的下述信息。
可选的,所述实测页面的展示效果的描述信息,包括:
所述实测页面的截图;或者,
所述页面数据集合中被所述待测客户端展示的至少部分页面数据和所述待测客户端针对所述至少部分页面数据的渲染参数。
在本公开实施方式的第二方面中,提供了一种测试装置,应用于部署
有待测客户端的测试平台,包括:
请求及检测模块,用于向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;
触发及判断模块,用于在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可选的,所述请求及检测模块具体用于下述之一:
响应于针对待测数据接口的接口测试指令,向所述待测数据接口发起测试请求;
响应于针对所述目标页面的页面测试指令,向所述目标页面关联的待测数据接口发起测试请求;
响应于针对所述待测客户端的应用测试指令,向所述待测客户端调用的待测数据接口发起测试请求。
可选的,所述接口测试指令、所述页面测试指令和所述应用测试指令中的任一测试指令:
由所述测试平台的用户发起;或者,
由维护所述页面数据集合中至少一个数据的第三方平台在检测到所述至少一个数据被更新后发起。
可选的,所述请求及检测模块具体用于:
根据所述待测客户端的当前版本确定待测试的各个目标页面,并向所述各个目标页面分别关联的待测数据接口发起测试请求。
可选的,所述请求及检测模块具体用于:
从所述待测数据接口的测试用例集合中选取针对所述目标页面的第一测试用例,并基于所述第一测试用例包含的第一测试参数发起所述测试请求,所述第一测试用例包含的第一描述信息用于表征所述目标页面的展示效果;或者,
获取为所述待测数据接口指定的第二测试参数,并基于所述第二测试
参数发起所述测试请求。
可选的,在所述请求及检测模块用于基于所述第二测试参数发起所述测试请求的情况下,所述装置还包括:
测试用例构造模块,用于若判断所述目标页面的展示功能正常,则为所述待测数据接口构造针对所述目标页面的第二测试用例,所述第二测试用例包含所述第二测试参数和用于表征所述实测页面或所述目标页面的展示效果的第二描述信息。
可选的,所述请求及检测模块具体用于下述之一:
展示所述页面数据集合中的各个页面数据,并在检测到针对所述页面数据集合实施的匹配确认操作的情况下,确定所述页面数据集合匹配于所述数据规则;
针对所述页面数据集合中的各个页面数据,从所述待测数据接口的规则集合中确定所述各个页面数据分别对应的数据规则,并在匹配于相应数据规则的页面数据的数量不小于数量阈值或者预定义的特定数据规则存在相匹配的页面数据的情况下,确定所述页面数据集合匹配于所述数据规则;
调用接口断言工具检测所述页面数据集合中的各个数据是否匹配于所述待测数据接口的数据规则。
可选的,在所述请求及检测模块检测到页面数据集合不匹配于所述数据规则的情况下,所述装置还包括:
错误提示模块,用于展示针对所述待测数据接口的错误提示信息;和/或,
重新请求模块,用于响应于检测到的参数更新操作,基于所述参数更新操作指定的更新后参数发起新的测试请求。
可选的,所述触发及判断模块具体用于:
在所述待测客户端部署于所述测试平台中的待测终端的情况下,通过所述待测终端触发所述待测客户端基于所述页面数据集合展示实测页面;或者,
在所述待测客户端部署于所述测试平台中的虚拟机的情况下,通过所述虚拟机触发所述待测客户端基于所述页面数据集合展示实测页面。
可选的,所述触发及判断模块具体用于:
在所述页面数据集合中包含可跳转数据的情况下,触发所述待测客户端基于所述可跳转数据展示跳转后的实测页面。
可选的,还包括信息输出模块,用于展示或向所述测试平台绑定的终端设备发送下述信息:
所述实测页面的展示效果的描述信息;和/或,
所述实测页面与所述目标页面的展示效果的差异信息。
可选的,所述信息输出模块具体用于:
展示或向所述测试平台绑定的终端设备批量下发多个测试请求分别对应的下述信息。
可选的,所述实测页面的展示效果的描述信息,包括:
所述实测页面的截图;或者,
所述页面数据集合中被所述待测客户端展示的至少部分页面数据和所述待测客户端针对所述至少部分页面数据的渲染参数。
在本公开实施方式的第三方面中,提供了一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一实施例所述的测试方法。
在本公开实施方式的第四方面中,提供了一种计算设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现上述第一方面中任一实施例所述的测试方法。
根据本公开实施方式的测试方法,部署有待测客户端的测试平台先向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;然后在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可以理解的是,检测待测数据接口返回的页面数据集合是否匹配于该接口的数据规则,即检测该接口返回的相应数据是否正确;而根据实测页面与目标页面的展示效果是否一致判断所述目标页面的展示功能是否正常,即判断待测客户端在接收到所述待测数据接口返回的、正确的响应数据后能否正确展示相应的页面(即能否根据该数据展示出预期的目标页面)。可见,本方案以待测数据接口为中心实现了对该接口的数据调用功能和待测客户端页面展示功能的关联测试:通过一个完整的测试过程,既测试了待测数据接口返回页面数据的功能是否正常(即能否返回正确的页面数据),又在待测数据接口功能正常的情况下进一步测试了待测客户端能否根据正确的页面数据展示出预期的目标页面。相对于相关技术中分别单独测试数据接口的后端测试方式和测试客户端的前端测试方式,本方案不仅能够提升客户端与接口相关显示功能的整体测试效率,也在一定程度上提升了测试的准确性。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开实施方式的一种测试平台的结构示意图;
图2示意性地示出了根据本公开实施方式的一种测试方法的流程图;
图3示意性地示出了根据本公开实施方式的一种客户端、数据接口与功能页面的关系示意图;
图4示意性地示出了根据本公开实施方式的一种介质的示意图;
图5示意性地示出了根据本公开实施方式的一种测试装置的框图;
图6示意性地示出了根据本公开实施方式的一种计算设备的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种测试方法、装置、介质和计算设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
发明人发现,相关技术中的前端测试仅关注客户端的页面展示过程,而无法模拟返回真实的响应数据,可能出现测试阶段模拟的数据展示正常但是实际使用阶段返回的数据展示不正常等异常情况,测试准确度较低。而后端测试则仅能够验证接口返回的数据是否正常而无法验证客户端能否正常展示这些数据,因此接口对应的页面功能往往还需要人工验证,整体验证效率较低。
可见,相关技术中的前端测试侧重于验证客户端的展示的页面是否正常,而后端测试侧重于验证接口返回的数据是否正常,两类方式的测试过程以及测试效果相互独立。换言之,相关技术针对客户端的页面展示功能测试和针对接口的数据调用功能测试相互分离,针对客户端与接口相关显示功能的整体测试效率较低且准确性较差。
为了解决上述问题,本公开提供一种测试方法、装置、介质和计算设备。其中,部署有待测客户端的测试平台先向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;然后在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可以理解的是,检测待测数据接口返回的页面数据集合是否匹配于该接口的数据规则,即检测该接口返回的相应数据是否正确;而根据实测页面与目标页面的展示效果是否一致判断所述目标页面的展示功能是否正常,即判断待测客户端在接收到所述待测数据接口返回的、正确的响应数据后能否正确展示相应的页面(即能否根据该数据展示出预期的目标页面)。可见,本方案以待测数据接口为中心实现了对该接口的数据调用功能和待测客户端页面展示功能的关联测试:通过一个完整的测试过程,既测试了待测数据接口返回页面数据的功能是否正常(即能否返回正确的页面数据),又在待测数据接口功能正常的情况下进一步测试了待测客户端能否根据正确的页面数据展示出预期的目标页面。相对于相关技术中分别单独测试数据接口的后端测试方式和单独测试客户端的前端测试方式,本方案不仅能够提升客户端与接口相关显示功能的整体测试效率,也在一定程度上提升了测试的准确性。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
在本公开实施例中,客户端(实际是客户端的应用程序)正常运行时可以展示功能页面,如应用首页、登录页面、账户主页、音频播放页面、评论页面、分享页面、活动详情页面、支付页面等等。在客户端可以展示的全部功能页面中,存在至少部分功能页面关联有数据接口(其中不同的功能页面可以关联相同或不同的数据接口),针对其中任一功能页面,待测客户端可以通过该页面关联的数据接口(从服务端或其指定的数据库处)获取相应的页面数据,并按照该页面的展示逻辑(数据解析逻辑、数据渲染逻辑等)处理这些页面数据,以在该客户端中展示所述任一功能页面。
在数据接口更新时,数据接口返回的页面数据和/或其返回页面数据的逻辑可能发生变化,导致同一请求通过数据接口调用的数据发生变化;在某一页面更新或者客户端更新(可能涉及多个页面更新)时,相应页面的展示逻辑可能发生变化,导致客户端使用同样的页面数据展示出的页面效果发生变化。可见,上述数据接口、页面或者客户端更新可能导致客户端中某些页面的显示效果发生变化,甚至无法正常显示预期页面。对此,可以对该客户端及其调用的数据接口进行测试(即将该客户端作为待测客户端),以便确定数据接口的数据调用功能以及客户端的页面展示功能是否正常。
本公开实施例的测试方法可以应用于测试平台,该平台可以按照所述测试方法的测试逻辑对数据接口返回的(用于展示目标页面的)页面数据集合是否正确进行检测,并在其正确的情况下,进一步判断待测客户端按照所述页面数据集合展示出的实测页面与目标页面是否一致,即实测页面的展示功能是否正常,从而实现对数据接口的数据调用功能和待测客户端的页面展示功能的关联测试。
图1示意性地示出了根据本公开实施方式的一种测试平台的结构示意图。如图1所示,该测试平台可以包括网络10、业务服务器11、数据库12、平台服务器13、若干电子设备,如手机14、手机15和台式电脑16等。
所述业务服务器11和平台服务器13中的任一服务器,具体可以为包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器、云服务器等。手机14-15和台式电脑16等只是用户可以使用的示例性的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)、VR(Virtual Reality,虚拟现实)设备、AR(Augmented Reality,增强现实)设备等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括一种或多种类型的有线或无线网络。
其中,平台服务器13为测试平台的管理及运行核心,该服务器中可以部署有测试服务端的应用程序,该应用程序用于实现本公开实施例所述测试方法的逻辑,所述测试服务端可以作为所述测试方法实现过程的核心控制方(如检测页面数据集合是否匹配于数据规则、触发待测客户端展示实测页面等)。当然,在一些实施例中,所述测试服务端的应用程序也可以被部署在台式电脑16甚至业务服务器11中,从而实现功能集成以简化测试平台的结构和硬件成本。相应的,台式电脑16中可以部署有测试客户端的应用程序,所述测试客户端用于提供所述测试方法实现过程中的交互入口,如测试人员可以通过所述使用测试客户端向平台服务器13发起测试请求、接收并展示平台服务器13返回的页面截图(以便测试人员查看)等。
作为被测试的对象,待测客户端可以为C/S(Client/Server,客户端/服务端)结构下的客户端,如APP(Application,应用程序)等;或者待测客户端也可以为B/S(Browser/Server,浏览器/服务端)架构下的浏览器,当然,该浏览器可以为独立的浏览器应用,或者也可以为其他应用程序中的浏览器插件等,不再赘述。所述待测客户端可以被部署在手机14-15(即待测终端)中,从而手机14-15的用户在使用手机的过程中,可以利用手机与业务服务器11之间的通信及交互,享受被实现为业务服务端的业务服务器11所提供的相关业务服务。或者,所述待测客户端也可以部署在平台服务器13创建的虚拟机中(此时测试平台中无需包含手机14-15),以通过虚拟机模拟待测客户端在实际电子设备(如前述手机)中的运行效果,无需在各个电子设备中实际运行待测客户端,从而节省测试平台的硬件成本并提升待测客户端的管控和测试效率。
在所述待测客户端正常运行过程中,往往需要通过数据接口从业务服务器11或者业务服务器11所指定的数据库12处获取页面数据,并根据该页面数据以及自身的页面展示逻辑展示相应的功能页面。本公开实施例所述测试方法,即用于测试待测客户端通过数据接口获取到的页面数据(即所述页面数据集合)是否正确,以及按照该数据能否展示出符合预期的实测页面(即实测页面与目标页面的展示效果是否一致),从而实现对数据接口的数据获取功能及待测客户端的页面展示功能的关联测试。
根据本公开实施方式的测试方法,部署有待测客户端的测试平台先向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;然后在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
在实际应用中,本公开实施例对于待测客户端所实现的具体业务功能并不进行限定,例如,所述待测客户端可以为音乐播放应用、即时通讯应用、视频播放应用、购物应用等,本公开实施例不对此进行限制。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于测试的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
下面结合附图对本公开所述素材的显示方案进行详细说明。图2示意性地示出了根据本公开实施方式的一种测试方法的流程图。如图2所示,所述测试方法包括下述步骤S202-S204。
步骤S202,向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面。
本公开所述的待测客户端可以是任一应用程序的客户端,该客户端包括多个功能页面(即该客户端运行过程中可以展示多个功能页面),其中至少部分功能页面关联有相应的数据接口。而从数据接口的角度而言,任一数据接口可以关联至一个或多个功能页面。图3示意性地示出了根据本公开实施方式的一种客户端、数据接口与功能页面的关系示意图。如图3所示,APP客户端涉及多个数据接口,如接口1、接口2……接口n。其中,接口1关联有页面1和页面2,接口2关联有页面1、页面3、接口4……接口6;……;接口n关联有页面1、页面6、接口7……接口m(m>6)等。可见,对于待测客户端包含的页面及其涉及的数据接口,就数量而言,所述页面和数据接口之间可以是一对一、一对多、多对一或者多对多的关系。例如,其中任意多个接口可能关联同一功能页面,如接口1、接口2和接口n均关联页面1,接口2和接口n均关联接口6等,不再赘述。可以理解的是,本公开所述待测数据接口可以是待测客户端所涉及全部数据接口中的任意一个或多个数据接口,本公开所述目标页面可以是待测客户端所包含全部功能页面中的任意一个或多个功能页面,不再一一赘述。
测试平台可以响应于针对待测客户端发起的测试请求,开始对该接口的数据调用功能以及待测客户端针对目标页面的页面展示功能是否正常进行测试。在一实施例中,测试平台可以响应于接收到的测试指令向相应的待测数据接口发起针对性的测试请求,即所述测试指令可以用于触发测试平台开始测试。其中,所述测试指令可以为针对待测数据接口发起的接口测试指令、针对目标页面发起的页面测试指令或者针对待测客户端发起的应用测试指令等,上述任一测试指令可以由所述测试平台的用户(即测试人员)发起,如通过前述台式电脑16中部署的测试客户端发起该指令,具体可以手动发起,或者也可以通过该测试客户端制定测试计划并由该客户端按照该测试计划自动发起,以实现自动化测试。或者,所述测试平台可以关联第三方平台,该平台可以向前述待测客户端提供自身维护的、属于待测数据接口对应的所述页面数据集合的至少一个数据,从而,第三方平台可以在检测到自身维护的所述至少一个数据被更新后向测试平台发起所述任一测试指令。换言之,上述任一测试指令可以由维护所述页面数据集合中至少一个数据的第三方平台在检测到所述至少一个数据被更新后发起。通过该方式,第三方平台可以在数据发生变化时主动发起所述任一测试指令,以便测试变更后的数据是否能够被所述待测数据接口正常调用并被待测客户端正常展示。
其中,上述接口测试指令、页面测试指令和应用测试指令,对应的测试方式分别为接口回归、UI(User Interface,用户界面)回归和应用回归,上述不同测试方式可以分别应用于不同的测试场景。下面以测试平台的用户(即测试人员)发起测试指令进行说明:
例如,测试人员可以向测试平台发起针对待测数据接口的接口测试指令,从而测试平台可以响应于该请求向所述待测数据接口发起测试请求。其中,所述待测数据接口可以是待测客户端所涉及全部数据接口中的至少部分,即测试人员可以将待测客户端所涉及全部数据接口中的一个或多个作为待测数据接口发起所述接口测试指令,以触发测试平台针对这些接口发起针对性的测试请求。所述待测数据接口可以是待测客户端所涉及全部数据接口中发生变更(如接口版本被更新或接口参数被调整等)的数据接口。如图3所示,测试人员可以针对接口1发起接口测试指令,此时测试平台可以针对接口1发起测试请求;或者,也可以针对接口1和接口2发起接口测试指令,此时测试平台可以针对接口1和接口2发起测试请求,不再赘述。
再例如,测试人员也可以向测试平台发起针对目标页面的页面测试指令,以便测试平台响应于该指令向所述目标页面关联的待测数据接口发起测试请求。其中,所述目标页面可以是待测客户端所包含全部页面中的至少部分页面,即测试人员可以将待测客户端所包含全部页面中的一个或多个作为目标页面发起所述页面测试指令,以触发测试平台向这些页面所关联的各个数据接口(即待测数据接口)发起针对性的测试请求。所述目标页面可以是待测客户端所包含全部页面中发生变更(如页面的数据解析逻辑和/或数据渲染逻辑被更新,页面关联的数据接口发生调整(此时待测数据接口是调整后的数据接口)等)。如图3所示,测试人员可以针对页面2发起接口测试指令,此时测试平台可以针对该页面关联的接口1发起测试请求;或者,测试人员也可以针对页面6发起接口测试指令,此时测试平台可以针对该页面关联的接口2和接口n(可能还包含未示出的其他接口)发起测试请求;再或者,测试人员还可以针对页面1发起接口测试指令,此时测试平台可以针对该页面关联的接口1、接口2……接口n等发起测试请求,不再赘述。
又例如,测试人员还可以向测试平台发起针对所述待测客户端的应用测试指令,以便测试平台响应于该指令向所述待测客户端调用的待测数据接口发起测试请求。其中,测试平台可以向待测客户端调用的全部待测数据接口均发起测试请求,以便实现对这些接口的统一测试。所述待测客户端可以是版本更新(其内部逻辑通常会发生变化)后的客户端。
需要说明的是,本公开实施例所述的待测数据接口1的数量可以为一个或多个,在存在多个待测数据接口的情况下,测试平台可以向各个待测数据接口分别发起针对性的测试请求。其中,向任一待测数据接口发起的所述测试请求,用于调用该接口获取相应目标页面所需的页面数据集合,该集合可以包括至少一个页面数据,本公开实施例对于任一页面数据的类型及其数据量等相关信息并不进行限制。
鉴于不同版本的待测客户端所包含的页面可能不同,所以为了更准确地确定待测试的目标页面,测试平台可以获取待测客户端的版本号与其所包含页面之间的映射关系,基于此,测试平台在向所述待测客户端调用的待测数据接口发起测试请求时,可以根据所述待测客户端的当前版本确定待测试的各个目标页面,并向所述各个目标页面分别关联的待测数据接口发起测试请求。例如,响应于前述应用测试请求,测试平台可以确定待测客户端的当前版本,并根据前述映射关系确定所述当前版本对应的全部页面(即当前版本的待测客户端所包含的全部页面),然后进一步确定(如根据预先维护的页面与接口之间的映射关系等)各个页面分别对应的待测数据接口,进而向各个待测数据接口分别发起所述测试请求。此处需要说明的是,在多个目标页面关联至同一待测数据接口的情况下,由于不同目标页面可能需要通过该接口调用不同的数据,所以对于不同目标页面关联的同一待测数据接口,针对该接口发起的测试请求可能并不相同。如图3所示,不妨假设页面1为登录页面、页面2为(登录之后展示的)用户主页、接口1用于获取账户名称等信息,对此,针对页面1,测试平台可以向接口1发起获取前一次登录用户的账户名称和登录密码的测试请求,以便本地自动登录;而针对页面2,测试平台可以向接口1发起用于获取本地已登录用户的账户名称、昵称、头像等详细信息,以便在用户主页中展示这些信息。
在针对待测数据接口发起所述测试请求之前,需要先基于必要的测试参数构造该请求。在一实施例中,测试平台可以维护针对各个数据接口的测试用例集合,任一页面所关联数据接口的测试用例集合包括用于对该数据接口进行测试的标准测试用例(下称第一测试用例),其中任一第一测试用例包含用于构造相应测试请求的标准测试参数(下称第一测试参数),还包含用于表征相应目标页面展示效果的标准描述信息(下称第一描述信息)。基于此,测试平台可以从所述待测数据接口的测试用例集合中选取针对所述目标页面的第一测试用例,并基于所述第一测试用例包含的第一测试参数发起所述测试请求,所述第一测试用例包含的第一描述信息用于表征所述目标页面的展示效果。其中,所述第一测试用例可以是针对所述待测客户端的所述目标页面和待测数据接口进行历史测试后沉淀得到的标准测试用例——所述历史测试的结果表明所述待测数据接口的数据调用功能正常且所述待测客户端针对目标页面的页面展示功能也正常。可以理解的是,测试平台基于第一测试参数构造的测试请求即为针对所述待测数据接口的标准测试请求,而基于待测数据接口响应于该请求返回的页面数据集合展示出实测页面后,可以将该页面的展示效果与所述第一描述信息表征的目标页面的展示效果进行比较,以确定实测页面与目标页面的展示效果是否一致,进而判断所述目标页面的展示功能是否正常。
在另一实施例中,测试平台也可以获取为所述待测数据接口指定的第二测试参数,并基于所述第二测试参数发起所述测试请求。其中,所述第二测试参数可以由前述测试指令(接口测试指令、页面测试指令或应用测试指令)的发起方(如前述测试人员等)所指定。通过该方式,所述测试指令的发起方可以根据待测数据接口的实际情况临时指定相应的第二测试参数,以便构造更加准确、有效的测试请求。
在针对待测数据接口发起所述测试请求之后,即可接收到该接口返回的页面数据集合,该集合中即包含目标页面需要获取的一个或多个页面数据。此时,可以检测所述页面数据集合是否匹配于(即符合)待测数据接口的数据规则,即测试所述待测数据接口是否按照所述数据规则返回预期的页面数据,亦即测试所述待测数据接口的数据调用功能是否正常。
其中,可以通过人工方式或自动化方式检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则。例如,测试平台可以展示(如通过测试人员使用的客户端)所述页面数据集合中的各个页面数据以便测试人员查看,从而,测试人员可以自行判断展示出的所述页面数据是否匹配于待测数据接口的数据规则。进而,若确定所述页面数据集合中的各个页面数据均匹配于待测数据接口数据规则,则所述测试人员可以针对该集合实施匹配确认操作,从而测试平台可以在检测到所述匹配确认操作的情况下确定所述页面数据集合匹配于所述数据规则。当然,若确定所述页面数据集合中存在至少一个页面数据不匹配于待测数据接口数据规则,则所述测试人员可以针对该集合实施匹配否认操作,从而测试平台可以在检测到所述匹配否认操作的情况下确定所述页面数据集合不匹配于所述数据规则。通过该方式,测试平台可以与测试人员相互配合对页面数据集合是否匹配于所述数据规则进行检测。
再例如,针对所述页面数据集合中的各个页面数据,测试平台可以从所述待测数据接口的规则集合中确定所述各个页面数据分别对应的数据规则,以分别判断所述各个页面数据是否匹配于相应的数据规则;进而,在匹配于相应数据规则的页面数据的数量不小于数量阈值(如1个、5个、3个等)的情况下,可以确定所述页面数据集合匹配于所述数据规则;或者,在预定义的特定数据规则(即待测数据接口的全部数据规则中的部分或全部)存在相匹配的页面数据的情况下,也可以确定所述页面数据集合匹配于所述数据规则。通过该方式,测试平台可以准确地判断页面数据集合中的各个页面数据是否匹配于相应的数据规则,进而根据匹配于情况和条件进一步确定页面数据集合这一整体是否匹配于待测数据接口的数据规则,从而实现自动化检测。
又例如,考虑到现阶段业内已经存在相对成熟的接口断言工具可以用于检测接口功能,测试平台可以接入(或称提供)至少一个接口断言工具,基于此,测试平台可以调用接口断言工具检测所述页面数据集合中的各个数据是否匹配于所述待测数据接口的数据规则。其中,上述接口断言工具可以包括postman、Jmeter等,本公开实施例不对此进行限制。通过该方式,可以调用相对成熟的接口断言工具检测页面数据集合是否匹配于接口规则,具有较高的检测准确度和检测效率。
可以理解的是,上述检测页面数据集合是否匹配于接口规则,即为检测待测数据接口所返回的页面数据是否匹配于目标页面的需求,亦即检测这些页面数据是否匹配于待测数据接口的设计预期和待测客户端的调用预期。示例性的,待测数据接口的数据规则具体可以为:页面数据集合中的响应码是否等于200、返回数据的数据类型是否为数组、返回数组中的对象是否包含固定数值等。
通过前述方式检测后,若检测结果为页面数据集合匹配于待测数据接口的数据规则,则可以转入步骤S204;否则,若检测结果为页面数据集合不匹配于待测数据接口的数据规则,则可以展示针对所述待测数据接口的错误提示信息,以便测试人员获知上述检测结果并进行相应的处置。如测试人员可以更换新的测试实例或者实施参数更新操作以更新所述测试请求采用的测试参数以发起新的测试请求。和/或,测试平台也可以响应于检测到的参数更新操作,基于所述参数更新操作指定的更新后参数发起新的测试请求。通过上述方式,可以在页面数据集合不匹配于待测数据接口的数据规的情况下确保测试人员知晓并及时发起新的测试请求,以避免测试人员自行、手动查询错误可能导致的测试效率降低。
步骤S204,在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可以理解的是,检测到所述页面数据集合匹配于所述数据规则,即表明待测数据接口返回的页面数据匹配于目标页面的需求并符合待测客户端的调用预期,换言之,表明待测数据接口的数据调用功能正常。此时,可以触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。其中,若所述实测页面与目标页面的展示效果一致,即可判断所述目标页面的展示功能正常;否则,若所述实测页面与目标页面的展示效果不一致,即可判断所述目标页面的展示功能不正常。
如前所述,待测客户端可以被部署于测试平台中的待测终端或者虚拟机中,对此,测试平台可以通过相应的方式触发所述待测客户端基于所述页面数据集合展示实测页面。例如,在所述待测客户端部署于所述测试平台中的待测终端的情况下,可以通过所述待测终端触发所述待测客户端基于所述页面数据集合展示实测页面。其中,所述测试平台中可以包括不同类型(如手机、平板电脑、可穿戴设备等)、不同操作环境(Windows、Android、iOS等)、不同型号(不同品牌、设备型号、运营商等)、部署不同版本的客户端等的多个终端设备,所述待测终端可以是其中部分终端设备(即运行有所述待测客户端的终端设备)。可以理解的是,此时待测客户端运行于实际的待测终端(物理设备)中,其测试环境即为真实运行环境,因此测试结果能够更准确地反映待测客户端的真实运行效果,测试结果的准确度更高。再例如,在所述待测客户端部署于所述测试平台中的虚拟机的情况下,可以通过所述虚拟机触发所述待测客户端基于所述页面数据集合展示实测页面。其中,所述虚拟机可以尽可能逼真地模拟待测客户端在待测终端中的真实运行环境,由于采用虚拟机模拟的方式搭建待测客户端所处的测试运行环境,所以测试人员可以通过所述测试平台批量、高效的同时测试多个待测客户端,提升了测试效率;同时,由于减少了真实待测终端的使用,能够大幅减少测试成本。
在一实施例中,在所述页面数据集合中包含可跳转数据的情况下,测试平台可以触发所述待测客户端基于所述可跳转数据展示跳转后的实测页面,从而实现对页面的二级(甚至多级)跳转。一方面,上述跳转可以对实测页面及其二级页面(甚至多级页面)进行关联测试,有助于简化测试逻辑;另一方面。上述跳转过程并不需要测试人员手动触发(如在实测页面上点击按钮或输入信息等),从而简化了测试操作,有助于提升测试效率。
在一实施例中,除了触发展示所述实测页面之外,测试平台还可以展示下述信息或者向所述测试平台绑定的终端设备(如所述测试人员的手机、测试管理设备、测试评估设备等)自动发送下述信息:所述实测页面的展示效果的描述信息;和/或,所述实测页面与所述目标页面的展示效果的差异信息。其中,所述描述信息可以用于在所述终端设备中还原实测页面,以便测试人员根据还原结果判断实测页面与目标页面的展示效果是否一致。而所述差异信息用于直接向测试人员输出实测页面与实测页面的展示效果之间的差异情况,无需测试人员人工比较,进一步简化测试操作。
所述测试平台可以针对至少一个待测数据接口关联的至少一个目标页面分别发起一个或多个测试请求。对此,为提升测试效率,所述测试平台在展示或发送“下述信息”(即前述描述信息或差异信息)时可以批量进行,即可以展示或向所述测试平台绑定的终端设备批量下发多个测试请求分别对应的下述信息。例如,在测试人员向某一待测数据接口对应的多个目标页面分别发起前述页面测试指令的情况下,测试平台可以响应于各个指令分别向该待测数据接口发起不同的测试请求,并按照前述实施例进行判断,并进一步将这些测试请求分别对应的截图批量下发至所述测试人员的手机,以便其统一查看,从而有助于提升该场景下的测试效率。
其中,所述实测页面的展示效果的描述信息可以包括:所述实测页面的截图,该截图(本质是图片)可以通过对所述实测页面进行截图处理(Screen Shot或Print Screen)得到,显然,该截图被展示时即可呈现出实测页面的实际展示效果。或者,所述描述信息也可以是所述页面数据集合中被所述待测客户端展示的至少部分页面数据和所述待测客户端针对所述至少部分页面数据的渲染参数,所述终端设备可以根据所述渲染参数对所述至少部分页面数据进行渲染处理,从而在所述终端设备中展示出新的实测页面——由于被展示的数据(即所述至少部分页面数据)的渲染处理(基于相同的渲染参数)相同,所以所述新的实测页面的展示效果与其在前述待测终端或虚拟机中的展示效果保持一致,从而有助于测试人员进行准确的人工判断。
如前所述,所述测试请求可以基于第一测试用例(即标准测试用例)包含的第一测试参数生成,或者也可以根据指定的第二测试参数生成。而在基于所述第二测试参数生成所述测试请求的情况下,若判断所述目标页面的展示功能正常,则表明在当前时刻,所述待测数据接口的数据调用功能正常且所述待测客户端针对目标页面的页面展示功能也正常。因此,可以为所述待测数据接口构造针对所述目标页面的第二测试用例。其中,所述第二测试用例可以包含所述第二测试参数,另外,鉴于此时实测页面与实测页面的展示效果一致,所述第二测试用例中还可以包含用于表征所述实测页面或所述目标页面的展示效果的第二描述信息。可以理解的是,所述第二测试用例是本次测试通过后沉淀下来的标准测试用例,可以将该测试用例添加至所述待测数据接口的测试用例集合中,以用于后续针对该待测数据接口(此时已经通过测试)和所述目标页面的新的测试过程。
根据本公开实施方式的前述测试方法,部署有待测客户端的测试平台先向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;然后在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可以理解的是,检测待测数据接口返回的页面数据集合是否匹配于该接口的数据规则,即检测该接口返回的相应数据是否正确;而根据实测页面与目标页面的展示效果是否一致判断所述目标页面的展示功能是否正常,即判断待测客户端在接收到所述待测数据接口返回的、正确的响应数据后能否正确展示相应的页面(即能否根据该数据展示出预期的目标页面)。可见,本方案以待测数据接口为中心实现了对该接口的数据调用功能和待测客户端页面展示功能的关联测试:通过一个完整的测试过程,既测试了待测数据接口返回页面数据的功能是否正常(即能否返回正确的页面数据),又在待测数据接口功能正常的情况下进一步测试了待测客户端能否根据正确的页面数据展示出预期的目标页面。相对于相关技术中分别单独测试数据接口的后端测试方式和测试客户端的前端测试方式,本方案不仅能够提升客户端与接口相关显示功能的整体测试效率,也在一定程度上提升了测试的准确性。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图4对本公开示例性实施方式的介质进行说明。
本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,该存储器可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读介质40可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质40可以是可读信号介质或者可读介质。可读介质40例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质40上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图5对本公开示例性实施方式的装置进行说明。关于下述装置,其中各个功能模块执行操作的具体方式以及执行操作后所实现的具体功能,均已在测试方法的前述各实施例中进行了详细描述,此处不再详细阐述说明。
图5示意性地示出了根据本公开实施方式的一种测试装置的框图。该测试装置应用于部署有待测客户端的测试平台,包括:
请求及检测模块501,用于向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;
触发及判断模块502,用于在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
可选的,所述请求及检测模块501具体用于下述之一:
响应于针对待测数据接口的接口测试指令,向所述待测数据接口发起测试请求;
响应于针对所述目标页面的页面测试指令,向所述目标页面关联的待测数据接口发起测试请求;
响应于针对所述待测客户端的应用测试指令,向所述待测客户端调用的待测数据接口发起测试请求。
可选的,所述接口测试指令、所述页面测试指令和所述应用测试指令中的任一测试指令:
由所述测试平台的用户发起;或者,
由维护所述页面数据集合中至少一个数据的第三方平台在检测到所述至少一个数据被更新后发起。
可选的,所述请求及检测模块501具体用于:
根据所述待测客户端的当前版本确定待测试的各个目标页面,并向所述各个目标页面分别关联的待测数据接口发起测试请求。
可选的,所述请求及检测模块501具体用于:
从所述待测数据接口的测试用例集合中选取针对所述目标页面的第一测试用例,并基于所述第一测试用例包含的第一测试参数发起所述测试请求,所述第一测试用例包含的第一描述信息用于表征所述目标页面的展示效果;或者,
获取为所述待测数据接口指定的第二测试参数,并基于所述第二测试参数发起所述测试请求。
可选的,在所述请求及检测模块501用于基于所述第二测试参数发起所述测试请求的情况下,所述装置还包括:
测试用例构造模块503,用于若判断所述目标页面的展示功能正常,则为所述待测数据接口构造针对所述目标页面的第二测试用例,所述第二测试用例包含所述第二测试参数和用于表征所述实测页面或所述目标页面的展示效果的第二描述信息。
可选的,所述请求及检测模块501具体用于下述之一:
展示所述页面数据集合中的各个页面数据,并在检测到针对所述页面数据集合实施的匹配确认操作的情况下,确定所述页面数据集合匹配于所述数据规则;
针对所述页面数据集合中的各个页面数据,从所述待测数据接口的规则集合中确定所述各个页面数据分别对应的数据规则,并在匹配于相应数据规则的页面数据的数量不小于数量阈值或者预定义的特定数据规则存在相匹配的页面数据的情况下,确定所述页面数据集合匹配于所述数据规则;
调用接口断言工具检测所述页面数据集合中的各个数据是否匹配于所述待测数据接口的数据规则。
可选的,在所述请求及检测模块501检测到页面数据集合不匹配于所述数据规则的情况下,所述装置还包括:
错误提示模块504,用于展示针对所述待测数据接口的错误提示信息;和/或,
重新请求模块505,用于响应于检测到的参数更新操作,基于所述参数更新操作指定的更新后参数发起新的测试请求。
可选的,所述触发及判断模块502具体用于:
在所述待测客户端部署于所述测试平台中的待测终端的情况下,通过所述待测终端触发所述待测客户端基于所述页面数据集合展示实测页面;或者,
在所述待测客户端部署于所述测试平台中的虚拟机的情况下,通过所述虚拟机触发所述待测客户端基于所述页面数据集合展示实测页面。
可选的,所述触发及判断模块502具体用于:
在所述页面数据集合中包含可跳转数据的情况下,触发所述待测客户端基于所述可跳转数据展示跳转后的实测页面。
可选的,还包括信息输出模块506,用于展示或向所述测试平台绑定的终端设备发送下述信息:
所述实测页面的展示效果的描述信息;和/或,
所述实测页面与所述目标页面的展示效果的差异信息。
可选的,所述信息输出模块506具体用于:
展示或向所述测试平台绑定的终端设备批量下发多个测试请求分别对应的下述信息。
可选的,所述实测页面的展示效果的描述信息,包括:
所述实测页面的截图;或者,
所述页面数据集合中被所述待测客户端展示的至少部分页面数据和所述待测客户端针对所述至少部分页面数据的渲染参数。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图6对本公开示例性实施方式的计算设备进行说明。
图6显示的计算设备60仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算设备60以通用计算设备的形式表现。计算设备60的组件可以包括但不限于:上述至少一个处理单元601、上述至少一个存储单元602,连接不同系统组件(包括处理单元601和存储单元602)的总线603。
总线603包括数据总线、控制总线和地址总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备60也可以与一个或多个外部设备604(例如键盘、指向设备等)通信。
这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器606通过总线603与计算设备60的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了测试装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种测试方法,应用于部署有待测客户端的测试平台,包括:
向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;
在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
2.根据权利要求1所述的方法,所述向待测数据接口发起测试请求,包括下述之一:
响应于针对待测数据接口的接口测试指令,向所述待测数据接口发起测试请求;
响应于针对所述目标页面的页面测试指令,向所述目标页面关联的待测数据接口发起测试请求;
响应于针对所述待测客户端的应用测试指令,向所述待测客户端调用的待测数据接口发起测试请求。
3.根据权利要求2所述的方法,所述接口测试指令、所述页面测试指令和所述应用测试指令中的任一测试指令:
由所述测试平台的用户发起;或者,
由维护所述页面数据集合中至少一个数据的第三方平台在检测到所述至少一个数据被更新后发起。
4.根据权利要求2所述的方法,所述向所述待测客户端调用的待测数据接口发起测试请求,包括:
根据所述待测客户端的当前版本确定待测试的各个目标页面,并向所述各个目标页面分别关联的待测数据接口发起测试请求。
5.根据权利要求1所述的方法,所述向待测数据接口发起测试请求,包括:
从所述待测数据接口的测试用例集合中选取针对所述目标页面的第一测试用例,并基于所述第一测试用例包含的第一测试参数发起所述测试请求,所述第一测试用例包含的第一描述信息用于表征所述目标页面的展示效果;或者,
获取为所述待测数据接口指定的第二测试参数,并基于所述第二测试参数发起所述测试请求。
6.根据权利要求5所述的方法,在基于所述第二测试参数发起所述测试请求的情况下,所述方法还包括:
若判断所述目标页面的展示功能正常,则为所述待测数据接口构造针对所述目标页面的第二测试用例,所述第二测试用例包含所述第二测试参数和用于表征所述实测页面或所述目标页面的展示效果的第二描述信息。
7.根据权利要求1所述的方法,所述检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,包括下述之一:
展示所述页面数据集合中的各个页面数据,并在检测到针对所述页面数据集合实施的匹配确认操作的情况下,确定所述页面数据集合匹配于所述数据规则;
针对所述页面数据集合中的各个页面数据,从所述待测数据接口的规则集合中确定所述各个页面数据分别对应的数据规则,并在匹配于相应数据规则的页面数据的数量不小于数量阈值或者预定义的特定数据规则存在相匹配的页面数据的情况下,确定所述页面数据集合匹配于所述数据规则;
调用接口断言工具检测所述页面数据集合中的各个数据是否匹配于所述待测数据接口的数据规则。
8.一种测试装置,应用于部署有待测客户端的测试平台,包括:
请求及检测模块,用于向待测数据接口发起测试请求,并检测所述待测数据接口返回的页面数据集合是否匹配于所述待测数据接口的数据规则,其中,所述待测数据接口关联有所述待测客户端提供的目标页面;
触发及判断模块,用于在检测到所述页面数据集合匹配于所述数据规则的情况下,触发所述待测客户端基于所述页面数据集合展示实测页面,并根据所述实测页面与所述目标页面的展示效果是否一致,判断所述目标页面的展示功能是否正常。
9.一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种计算设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310608674.9A CN116521570A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、介质和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310608674.9A CN116521570A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、介质和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116521570A true CN116521570A (zh) | 2023-08-01 |
Family
ID=87399466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310608674.9A Pending CN116521570A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、介质和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116521570A (zh) |
-
2023
- 2023-05-23 CN CN202310608674.9A patent/CN116521570A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10216377B2 (en) | Visual regression analysis | |
US10705946B2 (en) | Techniques for real time server testing in a production environment | |
CN105099811A (zh) | 一种接口测试方法和装置 | |
CN105630685A (zh) | 程序接口测试方法及装置 | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
CN110320378B (zh) | 质控测试申请方法、装置、设备及计算机可读存储介质 | |
CN111241111B (zh) | 数据查询方法及装置、数据对比方法及装置、介质及设备 | |
CN110825370B (zh) | 移动端应用开发方法、装置及系统 | |
CN110825618A (zh) | 一种生成测试用例的方法及相关装置 | |
WO2021129335A1 (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN109815147A (zh) | 测试案例生成方法、装置、服务器和介质 | |
US20150242297A1 (en) | Method and system for testing of applications in asset management software | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN113934758A (zh) | 车辆故障修复方法、装置、车载终端、服务器及存储介质 | |
CN112367220A (zh) | 一种接口测试方法、装置、存储介质及电子设备 | |
CN113495843B (zh) | 用于测试视频播放器的起播性能的方法和装置 | |
CN110674023B (zh) | 一种接口测试方法和装置 | |
US20180089045A1 (en) | Method and device for performing hardware module diagnostics | |
CN109240928A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN113656301A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN110737900A (zh) | 网页功能测试方法及装置、服务器和计算机可读存储介质 | |
CN110958243A (zh) | 一种网络漏洞提交方法、装置、存储介质及电子设备 | |
CN110717315A (zh) | 系统数据批量修改方法、装置、存储介质及电子设备 | |
CN116521570A (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 |