CN117667710A - 页面测试用例的确定方法、测试方法、装置、介质及设备 - Google Patents
页面测试用例的确定方法、测试方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117667710A CN117667710A CN202311677036.9A CN202311677036A CN117667710A CN 117667710 A CN117667710 A CN 117667710A CN 202311677036 A CN202311677036 A CN 202311677036A CN 117667710 A CN117667710 A CN 117667710A
- Authority
- CN
- China
- Prior art keywords
- test
- scene
- interface
- page
- tested
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001545 Page's trend test Methods 0.000 title claims abstract description 26
- 238000010998 test method Methods 0.000 title claims description 4
- 238000012360 testing method Methods 0.000 claims abstract description 412
- 230000004044 response Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013100 final test Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3676—Test management for coverage analysis
-
- 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
-
- 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
技术领域
本公开涉及计算机技术领域,具体地,涉及一种页面测试用例的确定方法、测试方法、装置、介质及设备。
背景技术
例如在电商***中,客户端的业务形态多数涉及端上模块展示。以商品详情页为例,在该页面中通常会承载大量商品信息,业务场景多且展示逻辑复杂。相关技术中,为了保证页面显示的标准,通常是通过人工回归结合UI自动化测试的方式对页面显示结果进行测试。然而在上述方案中,该测试过程强依赖人工设计,难以适应复杂的界面显示,并且业务需求迭代较快,需要频繁的更新测试用例,用例维护成本高。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种页面测试用例的确定方法,所述方法包括:
确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
第二方面,本公开提供一种页面测试方法,所述方法包括:
获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于第一方面所述的页面测试用例的确定方法所确定出的;
在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
第三方面,本公开提供一种页面测试用例的确定装置,所述装置包括:
第一确定模块,用于确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
第一处理模块,用于基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
生成模块,用于根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
第四方面,本公开提供一种页面测试装置,所述装置包括:
获取模块,用于获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于第一方面所述的页面测试用例的确定方法所确定出的;
第二处理模块,用于在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
对比模块,用于基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
第五方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面或第二方面所述方法的步骤。
第六方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面或第二方面所述方法的步骤
在上述技术方案中,可以确定出目标页面中的待测试接口在多场景下的测试数据,通过线上的流量数据确定待测试接口对应的场景测试数据,一方面可以有效降低人工设置测试数据所需的工作量,另一方面也可以避免人工设置测试数据造成的偏差,提高测试数据与线上应用的匹配度,从而保证基于确定出的测试用例进行测试的准确度。并且,通过待测试接口对应的场景测试数据以自动生成目标页面对应的测试用例,在有效提高测试用例生成的自动化水平的同时,还可以保证测试用例对测试场景的覆盖度,以满足复杂页面的测试过程,拓宽测试用例的适用范围,在一定程度上提高基于确定出的测试用例获得的测试结果的准确性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开的一种实施方式提供的页面测试用例的确定方法的流程图。
图2是根据本公开的一种实施方式提供的确定场景测试数据的示意图。
图3是根据本公开的一种实施方式提供的页面测试方法的流程图。
图4是根据本公开的一种实施方式提供的基于第一页面和第二页面进行页面比对的示意图。
图5是根据本公开的一种实施方式提供的执行测试用例的示意图。
图6是根据本公开的一种实施方式提供的页面测试用例的确定装置的框图。
图7是本公开的一种实施方式提供的页面测试装置的框图。
图8是示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及用户信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供相关信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供相关信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
图1所示,为根据本公开的一种实施方式提供的页面测试用例的确定方法的流程图,如图1所示,所述方法包括:
在步骤11中,确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据。
如背景技术中所述,相关技术中通常需要人工分析设置对应的测试数据,其难以对需要测试的全场景进行全方面的覆盖。而在实际应用场景中,对目标页面进行显示需要先发起页面请求,从而基于该请求获得响应数据,从而对响应数据进行渲染实现页面显示。基于此,本公开中可以对目标页面进行响应的流量数据进行采集从而可以基于采集到的数据自动生成测试用例。
通常***中一个页面的渲染显示会依赖多个接口,作为示例可以将页面中的每一接口作为待测试接口,作为另一示例可以根据实际使用需求确定页面中需要进行测试的接口。如页面P的显示依赖于接口A、B、C、D、E,则根据实际应用场景需要对接口A和C对应的UI(User Interface,用户界面)显示进行测试。相应地,在确定目标页面的测试用例时,可以将接口A和C作为待测试接口进行用例设计。
相应地,在该实施例中则需要确定出该接口A和C对应的接口流量数据。作为示例,可以对目标页面进行响应的数据流量进行采集,如采集到的流量数据中可以包含接口A-E分别对应的流量数据,进一步地从采集到的流量数据中确定该接口A对应的接口流量数据以及接口C对应的接口流量数据。其中,可以基于接口标识进行识别以从流量数据中识别出各个接口对应的接口流量数据,进而获得待测试接口对应的接口流量数据。
在步骤12中,基于接口流量数据进行接口场景识别,获得待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据。
其中,每一接口对应的接口流量数据可以包含多种,以商品详情页为例,接口A用于显示商品详情页的商品购买信息,可以根据实际应用需求确定场景划分。示例地,接口A的接口流量数据用于显示衣服时对应一种场景,接口A的接口流量数据用于显示电子产品时对应另一种场景。
则该步骤中可以基于接口流量数据进行接口场景识别,确定该接口流量数据为该待测试接口在哪一场景下对应的测试数据,从而可以获得待测试接口对应的场景测试数据。
在步骤13中,根据待测试接口对应的场景测试数据,生成目标页面对应的测试用例。
其中,通过步骤11和步骤12,可以采集到的流量数据确定待测试接口在多个场景下的测试数据,则该实施例中,可以通过对待测试接口对应的场景测试数据进行组合,以获得多个测试用例。
在上述技术方案中,可以确定出目标页面中的待测试接口在多场景下的测试数据,通过线上的流量数据确定待测试接口对应的场景测试数据,一方面可以有效降低人工设置测试数据所需的工作量,另一方面也可以避免人工设置测试数据造成的偏差,提高测试数据与线上应用的匹配度,从而保证基于确定出的测试用例进行测试的准确度。并且,通过待测试接口对应的场景测试数据以自动生成目标页面对应的测试用例,在有效提高测试用例生成的自动化水平的同时,还可以保证测试用例对测试场景的覆盖度,以满足复杂页面的测试过程,拓宽测试用例的适用范围,在一定程度上提高基于确定出的测试用例获得的测试结果的准确性。
在一种可能的实施例中,所述基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据的示例性实现方式可以包括:
根据所述接口流量数据,确定所述接口流量数据对应的场景特征值。
其中,该场景特征值可以用于唯一表示一个场景,从而可以实现对场景的准确识别。
作为示例,根据所述接口流量数据,确定所述接口流量数据对应的场景特征值可以包括:
确定所述待测试接口对应的场景字段以及所述场景字段的匹配类型。
其中,一个接口对应的响应中可以包含多个字段的返回值,该实施例中,针对每一待测试接口,可以预先设置其包含的字段中用于进行场景标识的场景字段,该场景字段可以为一个或多个。如针对接口A,其包含字段A1、A2、A3,根据实际应用场景可以将A1设置为场景字段,则可以基于该场景字段对应的取值对场景进行标识。
根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值。
其中,所述匹配类型用于指示从所述接口流量数据中对场景字段的取值进行匹配的类型。
由此,通过上述技术方案,可以基于待测试接口中的场景字段进行场景特征值提取,该场景特征值用于唯一表示待测试接口对应的一种场景,从而可以准确实现场景识别,进而为确定每一场景对应的测试数据提供支持。
在一种可能的实施例中,所述根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值的实现方式可以包括:
第一种方式,若所述匹配类型为叶子节点类型,则将从所述接口流量数据确定出的所述场景字段对应的路径值作为所述场景特征值,其中,字段的路径值包含该字段对应的匹配路径下的取值。
其中,接口流量数据为待测试接口对应的响应数据,其可以通过json响应体的形式表示,则该实施例中,可以基于json响应体的路径进行场景特征值提取。
该实施例中,场景字段的匹配类型为叶子节点类型,即该场景字段在json响应体中为基于叶子节点表示的字段。作为示例,该场景字段A1对应匹配路径为A->Q1->A1,针对场景字段A1,其在接口流量数据中表示为:
“A1”:“XXX1”。
该场景下可以直接将该场景字段对应的路径值,即该场景字段对应的叶子节点路径下json字段的值作为场景特征值,如可以将其在A->Q1->A1匹配路径下的取值“XXX1”作为场景特征值。
作为另一示例,场景字段的匹配路径中存在数组结构,且并未限定该数组结构的取值,即设置场景字段D的匹配路径为A->B_list->[*]->D,数组标识符填*代表任意下标的一条路径满足条件即可,则可以将基于该匹配路径A->B_list->[*]->D从接口流量数据中匹配到的取值作为该场景字段D对应的场景特征值。
作为另一示例,场景字段的匹配路径中存在map结构,比如路径A->B_map->[*]->D,动态标识符填*代表map中任意一个key下的一条路径满足条件即可,则可以将基于该匹配路径A->B_map->[*]->D从接口流量数据中匹配到的取值作为该场景字段D对应的场景特征值。
第二种,若所述匹配类型为非叶子节点类型,则将从所述接口流量数据中确定出的场景字段所包含的每一子字段对应的路径值,作为所述场景特征值。
其中,针对非叶子节点类型表示的字段,其中还包含其他的子字段。若匹配类型为完全匹配的非叶子节点类型,则同一场景对应的场景字段及其包含子字段的取值均相同。
如针对场景字段A2,其在接口流量数据中表示为:
“A2”:{
“c1”:“XX1”,
“c2”:“XX2”,
}
即场景字段A2包含子字段c1和c2,该实施例中,可以将“A2”对应的整体json结构作为该场景特征值。
其中,该场景下的匹配路径中存在数组结构或者map结构时的匹配方式与上文类型,在此不再赘述。
由此,通过上述技术方案,可以从接口数据流量中识别出该条流量数据对应的场景特征值,以便进行准确的场景识别,使得后续能够基于线上的流量数据确定接口在各个场景下的响应返回值,为后续生成测试用例提供准确的数据支持。
在确定出接口流量数据对应的场景特征值后,若所述待测试接口对应的场景测试数据中未包含所述场景特征值对应的测试数据,则将所述接口流量数据与所述场景特征值关联存储至所述待测试接口对应的场景测试数据中。
作为示例,接口对应的场景测试数据可以通过接口场景集合进行存储,如图2所示,若所述待测试接口对应的场景测试数据中未包含所述场景特征值对应的测试数据,即表示此时识别到的场景特征值对应一个新的场景,该情况下可以基于该场景特征值创建一个新的场景,接口流量数据中的返回值即该接口在该场景下的取值,则可以将该接口流量数据作为该场景下对应的测试数据,进而将所述接口流量数据与所述场景特征值关联存储至所述待测试接口对应的场景测试数据中。
作为示例,若所述待测试接口对应的场景测试数据中包含所述场景特征值对应的测试数据,即表示此时场景测试数据已经包含该场景特征值表示的场景下的测试数据,此时可以无需在测试场景数据中新增数据。
由此,通过上述技术方案,可以对待测试接口对应的每条接口流量数据进行场景特征值提取,从而基于该场景特征值与该待测试接口对应的场景测试数据进行特征对比,可以快速发现并生成待测试接口在新的场景下的测试数据,提升待测试接口对应的场景测试数据的全面性和对实际应用场景的覆盖度,同时也可以避免对同一场景下的多条流量数据进行存储造成的资源浪费。
在一种可能的实施例中,所述根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例的示例性实现方式可以包括:
根据所述目标页面中的每一所述待测试接口对应的场景测试数据,对各个所述待测试接口在不同场景下的测试数据进行组合,获得测试用例,其中,每一所述测试用例中包含所述目标页面中的各个待测试接口,以及所述待测试接口在任一场景下的测试数据。
作为示例,可以对目标页面中的每一待测试接口对应的场景测试数据进行笛卡尔积组合处理,从而获得各个测试用例。如目标页面中的待测试接口为接口A和接口C,其中接口A对应的场景测试数据中包含场景特征值A1=1以及A1=2分别对应的测试数据,接口C对应的场景测试数据中包含场景特征值C=3、C=4以及C=5分别对应的测试数据。
则实施例中,可以对各个待测试接口在不同场景下的测试数据进行组合,即{A1=1,C=3}、{A1=1,C=4}、{A1=1,C=5}、{A1=2,C=3}、{A1=2,C=4}、{A1=2,C=5}的场景下分别对应的测试数据的组合作为待测试接口对应的测试用例。
由此,通过页面中的各个待测试接口在不同场景下的测试数据进行组合获得测试用例,实现测试用例对页面在接口的各种可能取值下的覆盖,有效提高测试用例对页面显示的覆盖度,从而提高基于该测试用例确定出的测试结果的可靠度。
在一种可能的实施例中,所述方法还可以包括:
在满足测试用例更新条件的情况下,针对所述待测试接口对应的场景测试数据中的每一场景,确定目标时段内是否存在所述场景对应的接口流量数据。
其中,所述测试用例更新条件可以基于实际应用场景进行设置,如可以设置每间隔预设时长进行测试用例的更新,也可以是由用户配置触发更新指令,在接收到更新指令时,确定满足测试用例更新条件。
该目标时段可以根据实际应用场景进行设置,如可以设置为最近的一个月或者最近的一周等,本公开对此不作限定。
作为示例,确定目标时段内是否存在所述场景对应的接口流量数据,可以是基于该场景对应的场景特征值与该目标时段内采集到的接口流量数据进行匹配,若匹配到该场景特征值对应的接口流量数据,则确定目标时段内存在所述场景对应的接口流量数据,若未匹配到该场景特征值对应的接口流量数据,则确定目标时段内不存在所述场景对应的接口流量数据。
若所述目标时段内存在所述场景对应的接口流量数据,则将所述目标时段内最新的接口流量数据作为所述场景测试数据中该场景对应的测试数据,并对所述场景的关联测试用例进行更新,其中,所述关联测试用例为包含所述场景的测试数据的测试用例。
作为示例,目标时段内存在所述场景对应的接口流量数据,表示该场景在实际应用中出现,此时可以将所述目标时段内最新的接口流量数据作为所述场景测试数据中该场景对应的测试数据。如针对接口A在字段A1=1的场景,其对应的测试数据为时间t1采集到的接口流量数据,在目标时段内存在该A1=1场景下的接口流量数据,此时可以将目标时段内最新(如时间t2采集到的)的接口流量数据确定为A1=1场景下的测试数据,示例地,可以将t2时刻采集到的接口流量数据作为该A1=1场景下的测试数据,实现对测试数据的更新。
进一步地,在对测试数据更新后,可以将包含A1=1场景的测试用例进行更新,如上文所示,此时可以进一步更新{A1=1,C=3}、{A1=1,C=4}、{A1=1,C=5}对应的测试用例。
若所述目标时段内不存在所述场景对应的接口流量数据,则删除所述场景测试数据中该场景对应的测试数据,并删除所述场景的关联测试用例。
若所述目标时段内不存在所述场景对应的接口流量数据,认为该场景在该接口中不会再出现,此时避免为此类场景进行测试所造成的资源浪费,可以则可以直接删除所述场景测试数据中该场景对应的测试数据和场景的关联测试用例。
如针对接口A在字段A1=2的场景,其对应的测试数据为时间t3采集到的接口流量数据,在目标时段内不存在该A1=2场景下的接口流量数据,该情况下可以删除所述场景测试数据中该场景对应的测试数据,即删除接口A对应的场景测试数据中A1=2对应的测试数据。进一步地删除所述场景的关联测试用例,如上文所示,此时可以进一步删除{A1=2,C=3}、{A1=2,C=4}、{A1=2,C=5}对应的测试用例。
由此,通过上述技术方案,可以实现对测试用例的更新和删除,使得测试用例与页面对应的实际线上流量相匹配,既可以保证测试的准确性,同时也可以避免对无效场景进行测试造成的资源浪费,保证测试用例的有效性,同时实现对测试用例的自动维护。
本公开还提供一种页面测试方法,如图3所示,所述方法可以包括:
在步骤21中,获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于上文所述的页面测试用例的确定方法所确定出的。
其中,在对目标页面测试时,可以依次遍历该目标页面对应的测试用例,执行遍历到的每一测试用例,以获得最终的测试结果。
在步骤22中,在基准环境和测试环境下回放测试用例,获得基准环境下的第一页面和测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境。
其中,测试环境为待测版本的执行环境,该基准环境可以为该待测版本的上一版本的执行环境,该基准环境可以为历史版本的执行环境,认为该基准环境中获得的页面为有效页面。
在步骤23中,基于第一页面和第二页面进行页面比对,获得目标页面对应的测试结果。
其中,可以将该基准环境下的第一页面作为基准页面,该实施例中,通过在基准环境和测试环境下回放测试用例,使得在基准环境和测试环境下能够基于同一数据驱动页面展示,从而可以通过比较展示的页面的不同确定对应的测试结果。
作为示例,如图4所示,可以对第一页面和第二页面分别进行截图处理,获得第一页面对应的基准图S1,以及第二页面对应的测试图S2。之后,通过OCR(Optical CharacterRecognition,光学字符识别)进行对比确定测试结果。如可以将基准图和测试图通过OCR技术分别处理成json格式数据(数据包含文本内容、识别置信度度、位置坐标等信息),获得json数据S1和json数据S2。
之后可以对json格式数据进行预处理,比如过滤掉页面屏幕顶部的***信息,又如可以通过设置阈值过滤掉低置信度的文本等等。之后针对图像中的文本信息,根据文本信息对应的二维位置坐标进行排序整理,接着将已排序的两个json数据进行相同jsonpath数据对比,获得测试结果。作为另一示例,可以支持配置对比过滤条件,比如指定json路径出现不一致数据可以忽略,指定数据内容出现不一致可以忽略等等,从而获得最终的测试结果。
由此,通过上述技术方案,可以基于页面对应的测试用例对页面显示进行自动化测试获得测试结果,并且在测试过程中通过对同一测试用例在基准环境和测试环境中分别执行时对应的页面进行比对获得测试结果,一方面无需用户参与,有效节省人工工作量,降低对测试人员的技术要求,另一方面可以自动化实现目标页面在各个场景下的测试,提高页面测试的覆盖度,从而保证测试结果的准确性和可靠性。
在一种可能的实施例中,所述在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面可以包括:
在所述基准环境和所述测试环境中分别发起所述目标页面的显示请求,以获取所述目标页面的测试响应,其中,所述测试响应中所述目标页面的待测试接口对应的响应数据,为所述测试用例中所述待测试接口对应的测试数据。
如图5所示,以测试环境为例,对目标页面进行测试时从测试用例集合中获取待执行的测试用例,其中,测试用例标识可以基于测试用例中待测试接口对应的场景特征值表示,如{A1=2,C=3}标识,从而可以测试用例中获取对应的测试数据。之后可以发起所述目标页面的显示请求,此时可以对该显示请求进行拦截,并基于该测试用例构建所述显示请求对应的测试响应。
作为示例,针对目标页面中的待测试接口,可以将该测试用例中的待测试接口对应的测试数据作为该测试响应中该待测试接口对应的响应数据,针对目标页面中除待测试接口之外的其他接口,可以通过显示请求而获取实时在线数据,作为该其他接口对应的响应数据,从而获得该测试响应。
示例地,测试用例为{A1=2,C=3}对应的测试数据,目标页面的显示依赖于接口A、B、C、D、E,其对应的待测试接口为接口A和C。则在对目标页面的测试响应进行构建时,可以将测试用例中A1=2的测试数据作为接口A的响应数据,将测试用例中C=3的测试数据作为接口C的响应数据,针对接口B、D、E可以基于显示请求实现在线数据请求,即将服务器确定出的接口B、D、E的在线数据作为其分别对应的响应数据,从而可以获得接口A-E分别对应的响应数据,即目标页面的测试响应。同样地,在基准环境下对测试用例的执行过程类型,在此不再赘述。
之后,在所述基准环境下对所述测试响应进行页面渲染,获得所述第一页面,并在所述测试环境下对所述测试响应进行页面渲染,获得所述第二页面。
其中,可以基于本领域中通用的对响应数据进行渲染的方式获得相应的页面,在此不再赘述。
作为示例,本公开中对测试用例的执行过程可以测试脚本进行控制,可以基于测试脚本实现页面登录,打开页面触发显示请求,之后基于测试响应获得对应的页面对进行页面截图,以便于进行相应的比对。通过测试脚本控制测试用例执行,无需人工干预,可以进一步提高页面测试的自动化水平。
由此,通过上述技术方案,在测试用例的执行过程中可以基于测试用例进行场景回放,在基于测试用例打开目标页面时,通过测试用例中的测试数据找到对应接口的返回值数据以对测试响应进行构建,保证测试响应与测试数据的一致性,通过基于同一测试响应在不同环境下的显示确定页面渲染的测试结果,保证测试结果的准确性。
基于同样的发明构思,本公开还提供一种页面测试用例的确定装置,如图6所示,所述装置10包括:
第一确定模块101,用于确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
第一处理模块102,用于基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
生成模块103,用于根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
可选地,所述第一处理模块包括:
第一确定子模块,用于根据所述接口流量数据,确定所述接口流量数据对应的场景特征值;
关联子模块,用于若所述待测试接口对应的场景测试数据中未包含所述场景特征值对应的测试数据,则将所述接口流量数据与所述场景特征值关联存储至所述待测试接口对应的场景测试数据中。
可选地,所述第一确定子模块包括:
第二确定子模块,用于确定所述待测试接口对应的场景字段以及所述场景字段的匹配类型;
第三确定子模块,用于根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值。
可选地,所述第三确定子模块进一步用于:
若所述匹配类型为叶子节点类型,则将从所述接口流量数据确定出的所述场景字段对应的路径值作为所述场景特征值,其中,字段的路径值包含该字段对应的匹配路径下的取值;
若所述匹配类型为非叶子节点类型,则将从所述接口流量数据中确定出的场景字段所包含的每一子字段对应的路径值,作为所述场景特征值。
可选地,所述生成模块进一步用于:
根据所述目标页面中的每一所述待测试接口对应的场景测试数据,对各个所述待测试接口在不同场景下的测试数据进行组合,获得测试用例,其中,每一所述测试用例中包含所述目标页面中的各个待测试接口,以及所述待测试接口在任一场景下的测试数据。
可选地,所述装置还包括:
第二确定模块,用于在满足测试用例更新条件的情况下,针对所述待测试接口对应的场景测试数据中的每一场景,确定目标时段内是否存在所述场景对应的接口流量数据;
更新模块,用于若所述目标时段内存在所述场景对应的接口流量数据,则将所述目标时段内最新的接口流量数据作为所述场景测试数据中该场景对应的测试数据,并对所述场景的关联测试用例进行更新,其中,所述关联测试用例为包含所述场景的测试数据的测试用例;
删除模块,用于若所述目标时段内不存在所述场景对应的接口流量数据,则删除所述场景测试数据中该场景对应的测试数据,并删除所述场景的关联测试用例。
本公开还提供一种页面测试装置,如图7所示,所述装置20包括:
获取模块201,用于获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于上文所述的页面测试用例的确定方法所确定出的;
第二处理模块202,用于在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
对比模块203,用于基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
可选地,所述第二处理模块包括:
处理子模块,用于在所述基准环境和所述测试环境中分别发起所述目标页面的显示请求,以获取所述目标页面的测试响应,其中,所述测试响应中所述目标页面的待测试接口对应的响应数据,为所述测试用例中所述待测试接口对应的测试数据;
渲染子模块,用于在所述基准环境下对所述测试响应进行页面渲染,获得所述第一页面,并在所述测试环境下对所述测试响应进行页面渲染,获得所述第二页面。
下面参考图8,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于上文所述的页面测试用例的确定方法所确定出的;在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一确定模块还可以被描述为“确定与目标页面的待测试接口对应的接口流量数据的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种页面测试用例的确定方法,其中,所述方法包括:
确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,其中,所述基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,包括:
根据所述接口流量数据,确定所述接口流量数据对应的场景特征值;
若所述待测试接口对应的场景测试数据中未包含所述场景特征值对应的测试数据,则将所述接口流量数据与所述场景特征值关联存储至所述待测试接口对应的场景测试数据中。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,其中,所述根据所述接口流量数据,确定所述接口流量数据对应的场景特征值,包括:
确定所述待测试接口对应的场景字段以及所述场景字段的匹配类型;
根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,其中,所述根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值,包括:
若所述匹配类型为叶子节点类型,则将从所述接口流量数据确定出的所述场景字段对应的路径值作为所述场景特征值,其中,字段的路径值包含该字段对应的匹配路径下的取值;
若所述匹配类型为非叶子节点类型,则将从所述接口流量数据中确定出的场景字段所包含的每一子字段对应的路径值,作为所述场景特征值。
根据本公开的一个或多个实施例,示例5提供了示例1的方法,其中,所述根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例,包括:
根据所述目标页面中的每一所述待测试接口对应的场景测试数据,对各个所述待测试接口在不同场景下的测试数据进行组合,获得测试用例,其中,每一所述测试用例中包含所述目标页面中的各个待测试接口,以及所述待测试接口在任一场景下的测试数据。
根据本公开的一个或多个实施例,示例6提供了示例1的方法,其中,所述方法还包括:
在满足测试用例更新条件的情况下,针对所述待测试接口对应的场景测试数据中的每一场景,确定目标时段内是否存在所述场景对应的接口流量数据;
若所述目标时段内存在所述场景对应的接口流量数据,则将所述目标时段内最新的接口流量数据作为所述场景测试数据中该场景对应的测试数据,并对所述场景的关联测试用例进行更新,其中,所述关联测试用例为包含所述场景的测试数据的测试用例;
若所述目标时段内不存在所述场景对应的接口流量数据,则删除所述场景测试数据中该场景对应的测试数据,并删除所述场景的关联测试用例。
根据本公开的一个或多个实施例,示例7提供了一种页面测试方法,所述方法包括:
获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于示例1-6中任一项所述的页面测试用例的确定方法所确定出的;
在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
根据本公开的一个或多个实施例,示例8提供了示例7的方法,其中,所述在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,包括:
在所述基准环境和所述测试环境中分别发起所述目标页面的显示请求,以获取所述目标页面的测试响应,其中,所述测试响应中所述目标页面的待测试接口对应的响应数据,为所述测试用例中所述待测试接口对应的测试数据;
在所述基准环境下对所述测试响应进行页面渲染,获得所述第一页面,并在所述测试环境下对所述测试响应进行页面渲染,获得所述第二页面。
根据本公开的一个或多个实施例,示例9提供了一种页面测试用例的确定装置,所述装置包括:
第一确定模块,用于确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
第一处理模块,用于基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
生成模块,用于根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
根据本公开的一个或多个实施例,示例10提供了一种页面测试装置,所述装置包括:
获取模块,用于获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于示例1-6中任一项所述的页面测试用例的确定方法所确定出的;
第二处理模块,用于在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
对比模块,用于基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
根据本公开的一个或多个实施例,示例11提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-8中任一项所述方法的步骤。
根据本公开的一个或多个实施例,示例12提供了一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-8中任一项所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (12)
1.一种页面测试用例的确定方法,其特征在于,所述方法包括:
确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,包括:
根据所述接口流量数据,确定所述接口流量数据对应的场景特征值;
若所述待测试接口对应的场景测试数据中未包含所述场景特征值对应的测试数据,则将所述接口流量数据与所述场景特征值关联存储至所述待测试接口对应的场景测试数据中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述接口流量数据,确定所述接口流量数据对应的场景特征值,包括:
确定所述待测试接口对应的场景字段以及所述场景字段的匹配类型;
根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述匹配类型从所述接口流量数据中确定与所述场景字段对应的数据作为所述场景特征值,包括:
若所述匹配类型为叶子节点类型,则将从所述接口流量数据确定出的所述场景字段对应的路径值作为所述场景特征值,其中,字段的路径值包含该字段对应的匹配路径下的取值;
若所述匹配类型为非叶子节点类型,则将从所述接口流量数据中确定出的场景字段所包含的每一子字段对应的路径值,作为所述场景特征值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例,包括:
根据所述目标页面中的每一所述待测试接口对应的场景测试数据,对各个所述待测试接口在不同场景下的测试数据进行组合,获得测试用例,其中,每一所述测试用例中包含所述目标页面中的各个待测试接口,以及所述待测试接口在任一场景下的测试数据。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在满足测试用例更新条件的情况下,针对所述待测试接口对应的场景测试数据中的每一场景,确定目标时段内是否存在所述场景对应的接口流量数据;
若所述目标时段内存在所述场景对应的接口流量数据,则将所述目标时段内最新的接口流量数据作为所述场景测试数据中该场景对应的测试数据,并对所述场景的关联测试用例进行更新,其中,所述关联测试用例为包含所述场景的测试数据的测试用例;
若所述目标时段内不存在所述场景对应的接口流量数据,则删除所述场景测试数据中该场景对应的测试数据,并删除所述场景的关联测试用例。
7.一种页面测试方法,其特征在于,所述方法包括:
获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于权利要求1-6中任一项所述的页面测试用例的确定方法所确定出的;
在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
8.根据权利要求7所述的方法,其特征在于,所述在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,包括:
在所述基准环境和所述测试环境中分别发起所述目标页面的显示请求,以获取所述目标页面的测试响应,其中,所述测试响应中所述目标页面的待测试接口对应的响应数据,为所述测试用例中所述待测试接口对应的测试数据;
在所述基准环境下对所述测试响应进行页面渲染,获得所述第一页面,并在所述测试环境下对所述测试响应进行页面渲染,获得所述第二页面。
9.一种页面测试用例的确定装置,其特征在于,所述装置包括:
第一确定模块,用于确定与目标页面的待测试接口对应的接口流量数据,其中,所述接口流量数据为对所述目标页面进行响应的数据;
第一处理模块,用于基于所述接口流量数据进行接口场景识别,获得所述待测试接口对应的场景测试数据,其中,所述场景测试数据中包含所述待测试接口对应的至少一个场景下的测试数据;
生成模块,用于根据所述待测试接口对应的场景测试数据,生成所述目标页面对应的测试用例。
10.一种页面测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测试的目标页面对应的测试用例,其中,所述测试用例为基于权利要求1-6中任一项所述的页面测试用例的确定方法所确定出的;
第二处理模块,用于在基准环境和测试环境下回放所述测试用例,获得所述基准环境下的第一页面和所述测试环境下的第二页面,其中,所述基准环境为所述测试环境对应的历史版本的执行环境;
对比模块,用于基于所述第一页面和所述第二页面进行页面比对,获得所述目标页面对应的测试结果。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677036.9A CN117667710A (zh) | 2023-12-07 | 2023-12-07 | 页面测试用例的确定方法、测试方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677036.9A CN117667710A (zh) | 2023-12-07 | 2023-12-07 | 页面测试用例的确定方法、测试方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667710A true CN117667710A (zh) | 2024-03-08 |
Family
ID=90067796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311677036.9A Pending CN117667710A (zh) | 2023-12-07 | 2023-12-07 | 页面测试用例的确定方法、测试方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667710A (zh) |
-
2023
- 2023-12-07 CN CN202311677036.9A patent/CN117667710A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897740B (zh) | 用户界面的测试方法、装置、电子设备及计算机可读介质 | |
CN111679990B (zh) | 测试数据生成方法、装置、可读介质及电子设备 | |
CN110619100B (zh) | 用于获取数据的方法和装置 | |
CN112597047A (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
CN110634049A (zh) | 页面显示内容的处理方法、装置、电子设备及可读介质 | |
CN111596991A (zh) | 交互操作执行方法、装置和电子设备 | |
CN112954056B (zh) | 监控数据处理方法、装置、电子设备及存储介质 | |
CN111311358B (zh) | 信息处理方法、装置和电子设备 | |
CN111222067B (zh) | 信息生成方法和装置 | |
CN114510305B (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN112083982A (zh) | 信息处理方法和装置 | |
CN112084114B (zh) | 用于测试接口的方法和装置 | |
CN110084298B (zh) | 用于检测图像相似度的方法及装置 | |
CN117667710A (zh) | 页面测试用例的确定方法、测试方法、装置、介质及设备 | |
CN114116480A (zh) | 应用程序测试覆盖率的确定方法、装置、介质及设备 | |
CN113849416A (zh) | 测试方法、装置、存储介质及电子设备 | |
CN111563797A (zh) | 房源信息的处理方法、装置、可读介质及电子设备 | |
CN113177174B (zh) | 特征构建方法、内容显示方法及相关装置 | |
CN114613355B (zh) | 视频处理方法、装置、可读介质及电子设备 | |
CN111367517B (zh) | 信息生成方法和装置 | |
CN111104626B (zh) | 信息存储方法和装置 | |
CN110968768B (zh) | 信息生成方法和装置 | |
CN116820989A (zh) | 测试覆盖率确定方法、装置、可读介质及电子设备 | |
CN117669511A (zh) | 代码覆盖率报告展示方法、信息处理方法、装置及设备 | |
CN116992115A (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 |