CN111444091B - 测试用例生成方法及装置 - Google Patents

测试用例生成方法及装置 Download PDF

Info

Publication number
CN111444091B
CN111444091B CN202010208184.6A CN202010208184A CN111444091B CN 111444091 B CN111444091 B CN 111444091B CN 202010208184 A CN202010208184 A CN 202010208184A CN 111444091 B CN111444091 B CN 111444091B
Authority
CN
China
Prior art keywords
action
page state
test case
actions
mapping relation
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
CN202010208184.6A
Other languages
English (en)
Other versions
CN111444091A (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010208184.6A priority Critical patent/CN111444091B/zh
Publication of CN111444091A publication Critical patent/CN111444091A/zh
Application granted granted Critical
Publication of CN111444091B publication Critical patent/CN111444091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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

测试用例生成方法及装置
技术领域
本公开涉及计算机技术处理领域,具体而言,涉及一种测试用例生成方法及装置。
背景技术
客户端,即应用程序的应用越来越普遍,给人们的生活带来了很大的便利。在应用程序在发布之前,一般需要进行功能测试。目前,常用的测试技术包括自动测试生成技术。该自动测试生成技术通过生成用户界面事件来进行功能测试,该用户界面事件可以用来模拟用户操作应用程序的行为,例如单击行为、滚动行为、滑动行为等。
上述自动测试生成技术生成的多个用户界面事件在进行功能测试的时候,组合形成测试用例。上述测试用例具体为客户端上两个相关联的页面状态进行转换的一条路径,包括该两个页面状态进行转换所需要进行的一个或多个操作或动作,以及执行每个动作之后客户端所处于的页面状态。在生成测试用例之后,在客户端上复现上述测试用例所包括的动作或操作,叫做测试路径回放,通过测试路径回放实现对应用程序的功能测试。
目前在对应用程序进行功能测试时,经常会存在测试路径回放失败的情况,如此严重影响测试效果。
发明内容
有鉴于此,本公开至少提供一种测试用例生成方法及装置。
第一方面,本公开提供了一种测试用例生成方法,包括:
确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态;
针对所述多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;
建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系;
基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例。
在一种可能的实施方式中,所述方法还包括:
获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息;
基于所述动作配置信息对所述测试用例进行测试路径回放。
在一种可能的实施方式中,所述控件属性信息包括全路径信息和相对路径信息;
所述基于所述动作配置信息对所述测试用例进行测试路径回放,包括:优先基于所述控件属性信息中的全路径信息为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息进行控件匹配;
基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
在一种可能的实施方式中,所述方法还包括:
若基于所述控件属性信息进行控件匹配失败时,基于动作所操控的控件对应的父控件属性信息进行控件匹配。
第二方面,本公开提供了一种测试用例生成装置,包括:
状态动作确定模块,用于确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态;
关系处理模块,用于针对所述多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;以及建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系;
用例建立模块,用于基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例。
在一种可能的实施方式中,上述装置还包括路径回放模块,用于:
获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息;
基于所述动作配置信息对所述测试用例进行测试路径回放。
在一种可能的实施方式中,所述控件属性信息包括全路径信息和相对路径信息;
所述路径回放模块在基于所述动作配置信息对所述测试用例进行测试路径回放时,用于:优先基于所述控件属性信息中的全路径信息为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息进行控件匹配;
基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
在一种可能的实施方式中,所述路径回放模块用于:
若基于所述控件属性信息进行控件匹配失败时,基于动作所操控的控件对应的父控件属性信息进行控件匹配。
第三方面,本公开提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述测试用例生成方法的步骤。
第四方面,本公开还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述测试用例生成方法的步骤。
本公开上述装置、电子设备、和计算机可读存储介质,至少包含与本公开上述方法的任一方面或任一方面的任一实施方式的技术特征实质相同或相似的技术特征。
本公开提供的测试用例生成方法及装置,其中,首先确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和客户端执行每个所述动作之后,客户端所处于的中间页面状态;之后,建立每个动作与其顺序关联的前一个动作之间的第一映射关系,以及建立每个动作与执行完该动作之后客户端所处于的中间页面状态之间的第二映射关系;最后,基于第一页面状态、第二页面状态、多个动作、多个中间页面状态、第一映射关系和第二映射关系,建立与第一页面状态和第二页面状态对应的测试用例。本公开利用上述映射关系能够确定每个动作的前一个动作和执行每个动作后的页面状态,基于上述映射关系在执行返回操作的时候,能够执行正确的返回动作,以及返回到正确的页面状态,从而提高了测试路径回放的成功率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了有向图模型的示意图;
图2示出了本公开实施例提供的一种测试用例生成方法的流程图;
图3示出了本公开实施例中的一种测试用例的结构示意图;
图4A示出了本公开实施例中的另一种测试用例的结构示意图;
图4B示出了本公开实施例中第一页面状态对应的页面示意图;
图4C示出了本公开实施例中中间页面状态对应的页面示意图;
图4D示出了本公开实施例中第二页面测试状态对应的页面示意图;
图5示出了本公开实施例提供的另一种测试用例生成方法的流程图;
图6示出了本公开实施例提供的再一种测试用例生成方法中定位应用程序中的控件的流程图;
图7A示出了本公开实施例中应用程序的页面示意图一;
图7B示出了本公开实施例中应用程序的页面示意图二;
图8示出了本公开实施例提供的一种测试用例生成装置的结构示意图;
图9示出了本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,应当理解,本公开中附图仅起到说明和描述的目的,并不用于限定本公开的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本公开中使用的流程图示出了根据本公开的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本公开内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
为了为客户端生成尽可能多的相关输入,即生成尽可能多的测试用例,一般采用自动测试生成技术中基于模型的测试生成方法(model based testing),通过生成用户界面事件来生成尽可能多的测试用例。具体地,客户端上每个页面可以作为一个状态state,页面与页面之间由多个动作action连接。在测试的过程中,可以看做是一个有向图的模型,如图1所示,基于该模型,可以记录不同页面状态之间的一串连续的动作序列,利用该动作序列能够回放用户的操作场景,以实现对客户端的功能测试。
上述有向图模型中还记录有每个动作action的属性信息以及每个页面状态station的属性信息,如图1中,记录有动作的输入类型Type等,页面状态的图形用户界面信息GUI等。
上述自动测试生成技术生成的测试用例,由于相邻动作的关联性差存在回放成功率低的缺陷。针对该缺陷,本公开提供了一种测试用例生成方法及装置,该方法或装置利用动作与执行该动作之前执行的动作之间的第一映射关系以及动作与执行该动作之后客户端所处于的页面状态之间的第二映射关系,能够确定每个动作的前一个动作和执行每个动作后的页面状态,基于上述映射关系在执行返回操作的时候,能够执行正确的返回动作,以及返回到正确的页面状态,从而提高了测试路径回放的成功率。
下面通过具体的实施例对本公开提高了的测试用例生成方法及装置进行详细说明。
本公开实施例提供了一种测试用例生成方法,该方法应用于对客户端进行功能测试的终端设备上,或应用于生成测试用例的终端设备上。具体地,如图2所示,上述测试用例生成方法可以包括如下步骤:
S210、确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态。
上述,第一页面状态可以是所要测试功能的初始的页面状态,第二页面状态可以是所要测试功能的终止的页面状态,例如,测试客户端的登录功能,第一页面状态为客户端开始登录时对应的页面状态,第二页面状态为客户端登录成功时对应的页面状态。
本实施例的目的是生成第一页面状态到第二页面状态之间的测试用例,即确定第一页面状态到第二页面状态之间的一系列动作以及执行每个动作之后客户端所处于的页面状态。在生成该测试用例之后,在客户端上进行测试路径回放,即在客户端上执行该测试用例,来检测或展示上需要检测的功能,例如检测上述登录功能。
这里,多个顺序关联的动作是从所述第一页面状态运行到第二页面状态的一个有序的动作序列,在具体实施时,可以利用广度优先搜索或深度优先搜索来确定上述动作序列。例如,如图3所示,利用广度优先搜索或深度优先搜索来确定的从第一页面状态g19s14运行到第二页面状态g14s9之间需要执行两个动作g19a377和g19a398,并且经历一个中间页面状态g19s15。
上述确定的每个动作都包含actionType、bounds、target、full等属性,其中actionType指示动作的操作类型,bounds指在页面上执行动作的位置,由于不同客户端屏幕的尺寸存在差异,该属性在回放时不采用,target属性是指动作要操作的控件在页面上的相对路径信息,full指动作要操作的控件在页面上的全路径信息。
S220、针对所述多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作。
S230、建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系。
客户端在执行每个动作之后,页面状态都会随之改变,因此,本步骤建立了动作与执行完该动作之后客户端所处于的中间页面状态之间的第二映射关系,基于上述第一映射关系和第二映射关系能够建立更加完整的测试用例。
S240、基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例。
上述将动作与其顺序关联的前一个动作之间的第一映射关系以及动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系,因此在该动作执行之后,进行返回操作的时候,就能够准确找到前一个动作以及客户端所要呈现的页面状态,从而提高了测试路径回放的准确率或成功率。
例如,如图4A所示,利用广度优先搜索或深度优先搜索来确定的从第一页面状态g0s1运行到第二页面状态g0s20之间需要执行两个动作,动作1和动作2,并且经历一个中间页面状态g0s5。以计算器对应的客户端应用程序为例,图4B对应第一页面状态g0s1,具体可以是计算页面;图4C对应中间页面状态g0s5,具体可以是设置页面;图4D对应第二页面状态g0s20,具体可以是税贷页面。
从图4A中可以确定,从第一页面状态g0s1执行动作动作1可以运行到中间页面状态g0s5,之后,从中间页面状态g0s5执行动作动作2可以运行到第二页面状态g0s20。但是实际中或理想情况下,操作图4B中的设置按钮41可以到达图4C对应的中间页面状态g0s5,但此时操作图4C中的返回按钮42,不应该到达图4D对应的第二页面状态g0s20,而应该返回图4B对应的第一页面状态g0s1。可见,只利用各个动作建立的测试用例在客户端进行测试路径回放时会出现失败或错误,因此,此步骤建立了动作与其顺序关联的前一个动作之间的映射关系以及动作与执行完该动作客户端所处于的页面状态的映射关系,以保证执行返回操作的时候,能够准确的找到该动作的前一个动作,以及客户端所要呈现的正确的页面状态,从而提高了测试路径回放的成功率。
下面再通过一个实施例对本公开中的测试用例生成方法进行说明。如图5所示,该方法可以包括如下步骤:
步骤一、确定客户端的第一页面状态state-begin和第二页面状态state-end;
步骤二、确定从第一页面状态state-begin运行到第二页面状态state-end,需要执行的动作序列;
步骤三、确定动作序列中第一个动作edge-i作执行完成后,客户端的页面状态state-t;
步骤四、将第一个动作edge-i加入到测试用例中;
步骤五、判断页面状态state-t是否与第二页面状态state-end相同;
步骤六、若页面状态state-t与第二页面状态state-end相同,则基于第一页面状态state-begin、第二页面状态state-end、第一个动作edge-i生成并输出测试用例s;
步骤七、若页面状态state-t与第二页面状态state-end不相同,则从与state-t连接的所有第二个动作edge-j中,筛选设置有上述第一映射关系的第二个动作edge-j,以及确定筛选得到的第二个动作edge-j执行后,客户端的页面状态state,构建第二映射关系;
步骤八、将筛选得到的第二个动作edge-j、对应的第一映射关系以及构建的第二映射关系加入到测试用例中,并返回步骤六,判断页面状态state与第二页面状态state-end是否相同,直到生成并输出测试用例s。
上述实施例,同样利用动作与其顺序关联的前一个动作之间的第一映射关系以及动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系,在返回操作的时候,就能够准确找到前一个动作以及客户端所要呈现的页面状态,从而提高了测试路径回放的准确率或成功率。
上述测试用例生成方法在生成测试用例之后,基于生成的测试用例在客户端进行测试路径回放时,需要定位执行动作的控件,再进行测试路径回放。在具体实施时,如图6所示,可以利用如下步骤进行测试路径回放:
S610、获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息。
这里的动作配置信息可以包括actionType、bounds、target、full等信息。
S620、基于所述动作配置信息对所述测试用例进行测试路径回放。
在具体实施时,可以利用如下子步骤进行测试路径回放:
优先基于所述控件属性信息中的全路径信息full为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息target进行控件匹配;基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
上述在进行控件匹配时,是从客户端的当前页面的所有控件中,利用控件属性信息进行控件的筛选,得到执行每个动作的目标控件。
另外,在进行控件匹配的时候,还可以利用全路径信息full进行全路径匹配,同时利用相对路径信息target进行相对路径匹配。只要其中一个匹配成功就能定位执行动作的目标控件。
上述,全路径匹配是指当客户端当前页面上控件的全路径信息与测试路径回放过程要执行的动作action中控件的全路径信息相同。这里的全路径信息是指控件相对当前页面的一个路径,理想情况下测试路径回放过程中执行每个action的控件都应该全路径匹配成功,但是实际情况下终端设备型号不同会导致全路径匹配不成功,为了避免这种情况,本公开添加相对路径匹配,该相对路径是指控件相对于其父控件的路径,相对路径匹配是指当客户端上当前页面上的控件的相对路径信息与测试路径回放过程要执行的动作action中控件的相对路径信息相同。这样在测试路径回放过程中如果控件的全路径匹配不成功,但是相对路径匹配成功,则同样能够执行利用该控件执行对应的action,大大的提高了测试路径回放的准确性和成功率。
在生成测试用例的时候,不仅基于上述第一页面状态、第二页面状态、多个动作、第一映射关系、第二映射关系、中间页面状态,还可以结合每个所述动作对应的动作配置信息,建立更加完整的,与第一页面状态和第二页面状态对应的测试用例。
在客户端进行测试路径回放时,如果客户端当前所处的页面状态state中有些控件的属性均相同,例如,图7A和7B中,控件71和控件72的class、text、resource_id、package等属性均相同,定位执行动作的目标控件时,如果定位到控件,会出现定位错误,导致回放失败。此时,可以基于动作所操控的控件对应的父控件的控件属性信息进行控件匹配。一般情况下,同一个父控件下的各个子控件的控件属性信息不会相同,控件属性信息相同的每个子控件的父控件的控件属性信息不会相同,因此,这里在定位到多个控件属性信息相同的控件时,可以基于其父控件的控件属性信息定位执行动作的目标控件。上述父控件的控件属性信息还可以包括父控件的身份标识符,即可以利用父控件的身份标识符定位到目标控件的父控件,再利用目标控件的控件属性信息,从该父控件的子控件中查找该目标控件。
对应于上述测试用例生成方法,本公开实施例还提供了一种测试用例生成装置,该装置应用于对客户端进行功能测试的终端设备上,或应用于生成测试用例的终端设备上,并且该装置及其各个模块能够执行与上述测试用例生成方法相同的方法步骤,并且能够达到相同或相似的有益效果,因此对于重复的部分不再赘述。
如图8所示,本公开提供的测试用例生成装置包括:
状态动作确定模块810,用于确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态。
关系处理模块820,用于针对所述多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;以及建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系。
用例建立模块830,用于基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例。
在一些实施例中,上述装置还包括路径回放模块840,用于:
获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息;
基于所述动作配置信息对所述测试用例进行测试路径回放。
在一些实施例中,所述控件属性信息包括全路径信息和相对路径信息;
所述路径回放模块840在基于所述动作配置信息对所述测试用例进行测试路径回放时,用于:优先基于所述控件属性信息中的全路径信息为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息进行控件匹配;
基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
在一些实施例中,所述路径回放模块840用于:
若基于所述控件属性信息进行控件匹配失败时,基于动作所操控的控件对应的父控件的控件属性信息进行控件匹配。
本公开实施例公开了一种电子设备,如图9所示,包括:处理器901、存储器902和总线903,所述存储器902存储有所述处理器901可执行的机器可读指令,当电子设备运行时,所述处理器901与所述存储器902之间通过总线903通信。
所述机器可读指令被所述处理器901执行时执行以下测试用例生成方法的步骤:
确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态;
针对所述多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;
建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系;
基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例。
除此之外,机器可读指令被处理器901执行时,还可以执行上述方法部分描述的任一实施方式中的方法内容,这里不再赘述。
本公开实施例还提供的一种对应于上述方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,本文不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本公开中不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种测试用例生成方法,其特征在于,包括:
确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态;
针对多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;
建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系;
基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例;其中,在建立所述测试用例的过程中,若多个所述动作中的任一动作被执行后得到的中间页面状态,与所述第二页面状态不一致,则从与所述中间页面状态连接的各个动作中,筛选出与被执行的所述动作具有第一映射关系的目标动作,并建立所述目标动作与所述目标动作被执行后得到的中间页面状态之间的第二映射关系。
2.根据权利要求1所述的测试用例生成方法,其特征在于,所述方法还包括:
获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息;
基于所述动作配置信息对所述测试用例进行测试路径回放。
3.根据权利要求2所述的测试用例生成方法,其特征在于,所述控件属性信息包括全路径信息和相对路径信息;
所述基于所述动作配置信息对所述测试用例进行测试路径回放,包括:
优先基于所述控件属性信息中的全路径信息为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息进行控件匹配;
基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
4.根据权利要求3所述的测试用例生成方法,其特征在于,所述方法还包括:
若基于所述控件属性信息进行控件匹配失败时,基于动作所操控的控件对应的父控件的控件属性信息进行控件匹配。
5.一种测试用例生成装置,其特征在于,包括:
状态动作确定模块,用于确定从第一页面状态切换至第二页面状态的过程中,客户端所需响应的多个顺序关联的动作,和所述客户端执行每个所述动作之后,所述客户端所处于的中间页面状态;
关系处理模块,用于针对多个动作中的每个动作,建立该动作与其顺序关联的前一个动作之间的映射关系,作为第一映射关系;其中,所述第一映射关系用于在针对所述客户端进行测试路径回放时提供动作与其顺序前向相关的历史动作;以及建立所述动作与执行完该动作之后所述客户端所处于的中间页面状态之间的第二映射关系;
用例建立模块,用于基于所述第一页面状态、所述第二页面状态、多个所述动作、多个所述中间页面状态、所述第一映射关系和所述第二映射关系,建立与所述第一页面状态和所述第二页面状态对应的测试用例;其中,在建立所述测试用例的过程中,若多个所述动作中的任一动作被执行后得到的中间页面状态,与所述第二页面状态不一致,则从与所述中间页面状态连接的各个动作中,筛选出与被执行的所述动作具有第一映射关系的目标动作,并建立所述目标动作与所述目标动作被执行后得到的中间页面状态之间的第二映射关系。
6.根据权利要求5所述的测试用例生成装置,其特征在于,还包括路径回放模块,用于:
获取与所述测试用例相关的每个动作各自对应的动作配置信息,所述动作配置信息携带动作所操控的控件对应的控件属性信息;
基于所述动作配置信息对所述测试用例进行测试路径回放。
7.根据权利要求6所述的测试用例生成装置,其特征在于,所述控件属性信息包括全路径信息和相对路径信息;
所述路径回放模块在基于所述动作配置信息对所述测试用例进行测试路径回放时,用于:优先基于所述控件属性信息中的全路径信息为所述测试用例中的动作进行控件匹配,当全路径信息匹配失败时,基于所述控件属性信息中的相对路径信息进行控件匹配;
基于匹配的目标控件针对所述客户端执行所述测试用例中的动作。
8.根据权利要求7所述的测试用例生成装置,其特征在于,所述路径回放模块用于:
若基于所述控件属性信息进行控件匹配失败时,基于动作所操控的控件对应的父控件的控件属性信息进行控件匹配。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1~4任一所述的测试用例生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1~4任一所述的测试用例生成方法。
CN202010208184.6A 2020-03-23 2020-03-23 测试用例生成方法及装置 Active CN111444091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010208184.6A CN111444091B (zh) 2020-03-23 2020-03-23 测试用例生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010208184.6A CN111444091B (zh) 2020-03-23 2020-03-23 测试用例生成方法及装置

Publications (2)

Publication Number Publication Date
CN111444091A CN111444091A (zh) 2020-07-24
CN111444091B true CN111444091B (zh) 2023-06-09

Family

ID=71629425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010208184.6A Active CN111444091B (zh) 2020-03-23 2020-03-23 测试用例生成方法及装置

Country Status (1)

Country Link
CN (1) CN111444091B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694756B (zh) * 2020-07-31 2023-05-23 北京字节跳动网络技术有限公司 一种应用程序测试方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
WO2015027403A1 (en) * 2013-08-28 2015-03-05 Hewlett-Packard Development Company, L.P. Testing multi-threaded applications
US10204030B1 (en) * 2017-10-09 2019-02-12 International Business Machines Corporation Debug session tree recorder with generic playback

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928072B1 (en) * 2008-05-02 2018-03-27 Azul Systems, Inc. Detecting and recording atomic execution
CN102567190B (zh) * 2010-12-14 2014-12-10 苏州工业园区谱芯科技有限公司 基于用户使用流程加权有向图的测试用例自动生成方法及测试方法
CN102411538B (zh) * 2011-11-22 2014-02-26 南京大学 基于事件可达性模型的图形用户界面测试脚本修复方法
CN103713989B (zh) * 2012-09-29 2018-02-02 百度在线网络技术(北京)有限公司 一种针对用户终端的测试用例生成方法和装置
US20160134911A1 (en) * 2014-11-11 2016-05-12 Jérôme Tétreault System and method for synchronizing public event music broadcast to mobile phones
CN105868083A (zh) * 2015-01-21 2016-08-17 中兴通讯股份有限公司 一种回放用户操作的方法和装置
GB2547221A (en) * 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
CN106021099A (zh) * 2016-05-12 2016-10-12 上海联彤网络通讯技术有限公司 实现智能终端ui自动化测试的系统及方法
CN106681919B (zh) * 2016-12-22 2019-10-22 上海斐讯数据通信技术有限公司 一种用户界面自动化测试方法及系统
CN107025165B (zh) * 2017-03-07 2020-02-07 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
US10169112B2 (en) * 2017-04-21 2019-01-01 International Business Machines Corporation Event sequence management
CN108304324B (zh) * 2018-01-22 2022-07-19 百度在线网络技术(北京)有限公司 测试用例生成方法、装置、设备及存储介质
CN109885481A (zh) * 2019-01-14 2019-06-14 珠海金山网络游戏科技有限公司 一种基于Unity技术的游戏NGUI的录制回放测试方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
WO2015027403A1 (en) * 2013-08-28 2015-03-05 Hewlett-Packard Development Company, L.P. Testing multi-threaded applications
US10204030B1 (en) * 2017-10-09 2019-02-12 International Business Machines Corporation Debug session tree recorder with generic playback

Also Published As

Publication number Publication date
CN111444091A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN108845930B (zh) 界面操作测试方法和装置、存储介质及电子装置
CN103092751B (zh) 一种云环境下基于用户行为模型的web应用性能测试系统
CN110928772A (zh) 一种测试方法及装置
CN108717393A (zh) 一种应用程序测试方法及移动终端
CN109815119B (zh) 一种app链接渠道的测试方法及装置
CN111459811B (zh) 埋点数据校验方法和装置
CN112100071B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN114546738A (zh) 服务器通用测试方法、系统、终端及存储介质
CN111190827A (zh) 接口自动化测试方法、装置、存储介质及电子设备
CN110874318B (zh) 软件测试方法、装置及计算机可读存储介质
CN113590454A (zh) 测试方法、装置、计算机设备和存储介质
CN107203464B (zh) 业务问题的定位方法以及装置
CN111444091B (zh) 测试用例生成方法及装置
CN112882930A (zh) 自动化测试方法、装置、存储介质及电子设备
CN114157507A (zh) 采用大数据分析的云服务漏洞分析方法及人工智能系统
CN109101412B (zh) 测试文件生成、测试方法、装置、存储介质和计算机设备
CN111708712A (zh) 用户行为测试用例的生成方法、流量回放方法及电子设备
CN115080446A (zh) 一种软件测试用测试实例生成方法及系统
CN112860587B (zh) Ui自动测试方法和装置
KR102132383B1 (ko) 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치
CN115733741B (zh) 一种针对待测系统的异常场景测试方法和装置
CN111581019B (zh) 一种存储故障恢复的测试方法和装置
CN109359042B (zh) 一种基于路径搜索算法的自动化测试方法
CN112199229A (zh) 数据处理方法、装置、设备和存储介质
CN111008140A (zh) 一种跨平台的ui自动化测试方法及装置

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.