CN112506766A - 交互式测试用例的自动生成方法 - Google Patents

交互式测试用例的自动生成方法 Download PDF

Info

Publication number
CN112506766A
CN112506766A CN202011392991.4A CN202011392991A CN112506766A CN 112506766 A CN112506766 A CN 112506766A CN 202011392991 A CN202011392991 A CN 202011392991A CN 112506766 A CN112506766 A CN 112506766A
Authority
CN
China
Prior art keywords
view
tree
test case
views
path information
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
Application number
CN202011392991.4A
Other languages
English (en)
Other versions
CN112506766B (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202011392991.4A priority Critical patent/CN112506766B/zh
Publication of CN112506766A publication Critical patent/CN112506766A/zh
Priority to US18/255,593 priority patent/US20240104006A1/en
Priority to PCT/CN2021/122578 priority patent/WO2022116681A1/zh
Application granted granted Critical
Publication of CN112506766B publication Critical patent/CN112506766B/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
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/3696Methods or tools to render software testable
    • 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
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种交互式测试用例的自动生成方法,当应用程序的UI界面显示后,通过遍历应用程序UI界面对应的视图树中的所有视图,并记录下其中可点击视图在视图树中的路径,获得UI界面中所有可点击视图在视图树中的路径信息的集合。对该集合中的每一路径信息分别生成对应的测试用例:在测试用例中,根据待测试视图在视图树中的路径信息,在应用程序UI界面中查找到该视图,并触发其点击事件,即完成对该视图的点击交互测试。本发明对应用程序的类型及其运行环境没有严格要求,只需要应用程序的UI布局符合视图树的结构,且每个视图有对应的属性可用于查询其是否能响应点击事件,即可以通过本发明自动生成与用户点击事件相关的测试用例。

Description

交互式测试用例的自动生成方法
技术领域
本发明涉及软件测试技术领域,具体涉及一种交互式测试用例的自动生成方法。
背景技术
生成测试用例是进行软件测试的基础。测试用例编码空间的多样性、大规模和复杂性会造成测试用例生成需要高计算代价,影响测试效率。基于流形优化软件测试用例自动生成算法在求解ATCG-PC问题时,首先需要获取测试用例的编码空间M,然后通过流形优化获取满足约束的测试用例。当对现代应用程序运用基于流形优化软件测试用例自动生成算法时,由于用户交互方式的多样性,以及用户交互界面的复杂性,如何有效的获得测试用例的编码空间M是一个在工程上需要解决的问题。通过人工编码测试用例的方式,不但需要增加人力投入,还有可能产生遗漏。
发明内容
本发明针对在现代应用程序上应用基于流形优化软件测试用例自动生成算法的需求,提供一种交互式测试用例的自动生成方法,通过遍历应用程序UI界面中可点击视图自动生成与用户点击交互相关的测试用例。
本发明的目的可以通过采取如下技术方案达到:
一种交互式测试用例的自动生成方法,该方法通过遍历应用程序UI界面中的可点击视图,自动生成与用户点击交互相关的测试用例,包括以下步骤:
T1、遍历应用程序UI界面中的所有可点击视图,得到遍历结果,过程如下:
当应用程序的UI界面显示后,通过遍历应用程序UI界面对应的视图树中的所有视图,并记录下其中可点击视图在视图树中的路径,获得UI界面中所有可点击视图在视图树中的路径信息的集合;
T2、根据步骤T1得到的遍历结果自动生成对应点击事件的测试用例,过程如下:
对该路径信息的集合中的每一路径信息分别生成对应的测试用例,在测试用例中,根据待测试视图在视图树中的路径信息,在应用程序UI界面中查找到该视图,并触发其点击事件,即完成对该视图的点击交互测试,然后将操作对应的代码写入测试用例文件,生成该视图对应的测试用例。
进一步地,所述步骤T1过程如下:
T11、在测试程序中,显示待测试应用程序的UI界面。
T12、获取UI界面视图树(view tree)的根视图(root view)。
T13、从根视图开始,对视图树中的所有视图进行遍历。
T14、为了在遍历过程中有效表示每个子视图在视图树中的位置,使用栈(stack)作为记录子视图位置信息的数据结构。首先,将根视图的索引(index)定义为0,将同一个父视图下的第一个子视图的索引定义为0,第二个子视图的索引定义为1,依此类推。每当遍历到树形结构中一个新的视图时,如果它是同一父视图下的所有子视图中第一个视图,则将其索引入栈,如果它是同一父视图下的所有子视图中除第一个视图外的其余视图,则先将栈顶出栈,再将新视图的索引入栈;如果在遍历过程中返回到视图树的上一级,则将栈顶出栈。因此,每一时刻,栈中从栈底到栈顶所保存的索引信息(s0,s1,s2,…)就可用于表示从视图树的根视图开始一直到当前视图的路径信息。
T15、在遍历过程中,通过查询当前子视图的属性,判断其是否可点击,对于可点击的视图,将栈中所保存的该视图在视图树中的路径信息(s0,s1,s2,…)记录下来。
T16、当完成对整个视图树的遍历后,获得所有可点击视图在视图树中的路径信息集合。
进一步地,所述步骤T2过程如下:
T21、根据遍历应用程序UI界面中所有可点击视图后得到的可点击视图在视图树中的路径信息集合,分别对集合中的每一条路径信息自动生成测试用例。
T22、当生成一个测试用例时,从路径信息集合中取出一条路径信息(s0,s1,s2,…)。该数据队列的第1个值代表的是视图树的根视图,其后每一个值代表着在处于路径上的子视图在视图树的下一级视图中对应的索引。通过这样的索引方式可以迅速的查找到待测试的视图。
T23、当查找到待测试视图后,触发该视图的点击事件。
T24、将完成步骤T22和步骤T23所描述操作对应的代码写入测试用例文件,即完成该视图对应测试用例的生成。
T25、重复步骤T22到步骤T24,直至完成对路径信息集合中所有路径对应测试用例的生成。
本发明相对于现有技术具有如下的优点及效果:
本发明基于仿真环境进行遍历可点击的view,而不需要在真机设备环境下进行,速度较快、并行处理。
附图说明
图1是本发明实施例中公开的一种交互式测试用例的自动生成方法的流程图;
图2是本发明实施例中遍历应用程序UI界面中的所有可点击视图的流程图;
图3是本发明实施例中根据遍历结果自动生成对应点击事件的测试用例的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
基于流形优化软件测试用例自动生成算法在求解ATCG-PC问题时,首先需要获取测试用例的编码空间M,然后通过流形优化获取满足约束的测试用例。本实施例提供了一种自动生成与用户交互相关的测试用例的方法,该方法实现对现代应用程序运用基于流形优化软件测试用例的自动生成,提高获取测试用例的编码空间M的效率。
如图1所示,该方法通过遍历应用程序UI界面中的可点击视图,自动生成与用户点击交互相关的测试用例,包括以下步骤:
T1、遍历应用程序UI界面中的所有可点击视图,得到遍历结果,过程如下:
当应用程序的UI界面显示后,通过遍历应用程序UI界面对应的视图树中的所有视图,并记录下其中可点击视图在视图树中的路径,获得UI界面中所有可点击视图在视图树中的路径信息的集合;
T2、根据步骤T1得到的遍历结果自动生成对应点击事件的测试用例,过程如下:
对该路径信息的集合中的每一路径信息分别生成对应的测试用例,在测试用例中,根据待测试视图在视图树中的路径信息,在应用程序UI界面中查找到该视图,并触发其点击事件,即完成对该视图的点击交互测试,然后将操作对应的代码写入测试用例文件,生成该视图对应的测试用例。
如图2,遍历应用程序UI界面可点击视图的主要流程包括以下子步骤:
T11、在测试程序中,显示待测试应用程序的UI界面。
T12、获取UI界面视图树(view tree)的根视图(root view)。
T13、从根视图开始,对视图树中的所有视图进行遍历。
T14、为了在遍历过程中有效表示每个子视图在视图树中的位置,使用栈(stack)作为记录子视图位置信息的数据结构。首先,将根视图的索引(index)定义为0,将同一个父视图下的第一个子视图的索引定义为0,第二个子视图的索引定义为1,依此类推。每当遍历到树形结构中一个新的视图时,如果它是同一父视图下的所有子视图中第一个视图,则将其索引入栈,如果它是同一父视图下的所有子视图中除第一个视图外的其余视图,则先将栈顶出栈,再将新视图的索引入栈;如果在遍历过程中返回到视图树的上一级,则将栈顶出栈。因此,每一时刻,栈中从栈底到栈顶所保存的索引信息(s0,s1,s2,…)就可用于表示从视图树的根视图开始一直到当前视图的路径信息。
T15、在遍历过程中,通过查询当前子视图的属性,判断其是否可点击,对于可点击的视图,将栈中所保存的该视图在视图树中的路径信息(s0,s1,s2,…)记录下来。
T16、当完成对整个视图树的遍历后,获得所有可点击视图在视图树中的路径信息集合。
如图3,根据遍历结果自动生成对应点击事件的测试用例的主要流程包括以下子步骤:
T21、根据遍历应用程序UI界面中所有可点击视图后得到的可点击视图在视图树中的路径信息集合,分别对集合中的每一条路径信息自动生成测试用例。
T22、当生成一个测试用例时,从路径信息集合中取出一条路径信息(s0,s1,s2,…)。该数据队列的第1个值代表的是视图树的根视图,其后每一个值代表着在处于路径上的子视图在视图树的下一级视图中对应的索引。通过这样的索引方式可以迅速的查找到待测试的视图。
T23、当查找到待测试视图后,触发该视图的点击事件。
T24、将完成步骤T22和步骤T23所描述操作对应的代码写入测试用例文件,即完成该视图对应测试用例的生成。
T25、重复步骤T22到步骤T24,直至完成对路径信息集合中所有路径对应测试用例的生成。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (3)

1.一种交互式测试用例的自动生成方法,其特征在于,所述自动生成方包括以下步骤:
T1、遍历应用程序UI界面中的所有可点击视图,得到遍历结果,过程如下:
当应用程序的UI界面显示后,通过遍历应用程序UI界面对应的视图树中的所有视图,并记录下其中可点击视图在视图树中的路径,获得UI界面中所有可点击视图在视图树中的路径信息的集合;
T2、根据步骤T1得到的遍历结果自动生成对应点击事件的测试用例,过程如下:
对该路径信息的集合中的每一路径信息分别生成对应的测试用例,在测试用例中,根据待测试视图在视图树中的路径信息,在应用程序UI界面中查找到该视图,并触发其点击事件,即完成对该视图的点击交互测试,然后将操作对应的代码写入测试用例文件,生成该视图对应的测试用例。
2.根据权利要求1所述的交互式测试用例的自动生成方法,其特征在于,所述步骤T1过程如下:
T11、在测试程序中,显示待测试应用程序的UI界面;
T12、获取UI界面视图树的根视图;
T13、从根视图开始,对视图树中的所有视图进行遍历;
T14、使用栈作为记录子视图位置信息的数据结构,首先将根视图的索引定义为0,将同一个父视图下的第一个子视图的索引定义为0,第二个子视图的索引定义为1,依此类推,每当遍历到树形结构中一个新的视图时,如果它是同一父视图下的所有子视图中第一个视图,则将其索引入栈,如果它是同一父视图下的所有子视图中除第一个视图外的其余视图,则先将栈顶出栈,再将新视图的索引入栈;如果在遍历过程中返回到视图树的上一级,则将栈顶出栈,将每一时刻的栈中从栈底到栈顶所保存的索引信息(s0,s1,s2,…)用于表示从视图树的根视图开始一直到当前视图的路径信息;
T15、在遍历过程中,通过查询当前子视图的属性,判断其是否可点击,对于可点击的视图,将栈中所保存的该视图在视图树中的路径信息(s0,s1,s2,…)记录下来;
T16、当完成对整个视图树的遍历后,获得所有可点击视图在视图树中的路径信息集合。
3.根据权利要求1所述的交互式测试用例的自动生成方法,其特征在于,所述步骤T2过程如下:
T21、根据遍历应用程序UI界面中所有可点击视图后得到的可点击视图在视图树中的路径信息集合,分别对集合中的每一条路径信息自动生成测试用例;
T22、每当生成一个测试用例时,从路径信息集合中取出一条路径信息(s0,s1,s2,…),该数据队列的第1个值代表的是视图树的根视图,其后每一个值代表着在处于路径上的子视图在视图树的下一级视图中对应的索引;
T23、当查找到待测试视图后,触发该视图的点击事件;
T24、将完成步骤T22和步骤T23所描述操作对应的代码写入测试用例文件,生成该视图对应的测试用例;
T25、重复步骤T22到步骤T24,直至完成对路径信息集合中所有路径对应测试用例的生成。
CN202011392991.4A 2020-12-02 2020-12-02 交互式测试用例的自动生成方法 Active CN112506766B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011392991.4A CN112506766B (zh) 2020-12-02 2020-12-02 交互式测试用例的自动生成方法
US18/255,593 US20240104006A1 (en) 2020-12-02 2021-10-08 Method for automatically generating interactive test cases
PCT/CN2021/122578 WO2022116681A1 (zh) 2020-12-02 2021-10-08 交互式测试用例的自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011392991.4A CN112506766B (zh) 2020-12-02 2020-12-02 交互式测试用例的自动生成方法

Publications (2)

Publication Number Publication Date
CN112506766A true CN112506766A (zh) 2021-03-16
CN112506766B CN112506766B (zh) 2023-06-20

Family

ID=74969290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011392991.4A Active CN112506766B (zh) 2020-12-02 2020-12-02 交互式测试用例的自动生成方法

Country Status (3)

Country Link
US (1) US20240104006A1 (zh)
CN (1) CN112506766B (zh)
WO (1) WO2022116681A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468044A (zh) * 2021-05-27 2021-10-01 长江大学 一种基于改进的灰色预测演化算法的测试用例生成方法
CN113535594A (zh) * 2021-09-17 2021-10-22 广州裕睿信息科技有限公司 业务场景测试用例的生成方法、装置、设备和存储介质
WO2022116681A1 (zh) * 2020-12-02 2022-06-09 华南理工大学 交互式测试用例的自动生成方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005413A1 (en) * 2001-06-01 2003-01-02 Siemens Ag Osterreich Method for testing of software
CN104090844A (zh) * 2014-07-18 2014-10-08 百度在线网络技术(北京)有限公司 网页自动化测试方法和装置
CN104699608A (zh) * 2015-03-10 2015-06-10 于秀山 图形用户界面软件自动测试方法及装置
CN106649100A (zh) * 2016-11-16 2017-05-10 福建天晴数码有限公司 一种自动化测试方法及系统
CN107608890A (zh) * 2017-09-15 2018-01-19 南京航空航天大学 一种基于带权重的事件处理函数模型生成gui软件测试用例的方法
CN108345485A (zh) * 2018-01-30 2018-07-31 口碑(上海)信息技术有限公司 用于界面视图的标识方法及装置
CN108459967A (zh) * 2018-03-21 2018-08-28 东南大学 基于用户接口状态流图的Web应用测试用例生成方法
CN109857668A (zh) * 2019-02-03 2019-06-07 苏州市龙测智能科技有限公司 Ui自动化功能测试方法、测试装置、测试设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677570B (zh) * 2016-01-11 2018-05-18 北京航空航天大学 一种基于事件响应函数树的gui软件测试用例生成方法
CN106294167B (zh) * 2016-08-16 2018-08-10 济南大学 Android应用程序界面自动遍历方法及系统
US10713152B2 (en) * 2017-06-28 2020-07-14 Sap Se Automated path generator for optimized application testing
CN112506766B (zh) * 2020-12-02 2023-06-20 华南理工大学 交互式测试用例的自动生成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005413A1 (en) * 2001-06-01 2003-01-02 Siemens Ag Osterreich Method for testing of software
CN104090844A (zh) * 2014-07-18 2014-10-08 百度在线网络技术(北京)有限公司 网页自动化测试方法和装置
CN104699608A (zh) * 2015-03-10 2015-06-10 于秀山 图形用户界面软件自动测试方法及装置
CN106649100A (zh) * 2016-11-16 2017-05-10 福建天晴数码有限公司 一种自动化测试方法及系统
CN107608890A (zh) * 2017-09-15 2018-01-19 南京航空航天大学 一种基于带权重的事件处理函数模型生成gui软件测试用例的方法
CN108345485A (zh) * 2018-01-30 2018-07-31 口碑(上海)信息技术有限公司 用于界面视图的标识方法及装置
CN108459967A (zh) * 2018-03-21 2018-08-28 东南大学 基于用户接口状态流图的Web应用测试用例生成方法
CN109857668A (zh) * 2019-02-03 2019-06-07 苏州市龙测智能科技有限公司 Ui自动化功能测试方法、测试装置、测试设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许建 等: "基于GPU的并行协同过滤算法", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022116681A1 (zh) * 2020-12-02 2022-06-09 华南理工大学 交互式测试用例的自动生成方法
CN113468044A (zh) * 2021-05-27 2021-10-01 长江大学 一种基于改进的灰色预测演化算法的测试用例生成方法
CN113535594A (zh) * 2021-09-17 2021-10-22 广州裕睿信息科技有限公司 业务场景测试用例的生成方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2022116681A1 (zh) 2022-06-09
US20240104006A1 (en) 2024-03-28
CN112506766B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
CN112506766A (zh) 交互式测试用例的自动生成方法
US11137871B2 (en) System and method for interface display screen manipulation
US9524279B2 (en) Help document animated visualization
CN111818123B (zh) 网络前端远程回放方法、装置、设备及存储介质
US9223647B2 (en) Automatic classification adjustment of recorded actions for automation script
CN108469955B (zh) 一种基于注解的Android注入框架实现方法
CN111026670B (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
CN112286814A (zh) 一种测试用例脚本的自动化生成系统及方法
CN112905441A (zh) 测试用例生成方法、测试方法、装置及设备
CN114117977B (zh) 一种适用于自动验证处理器系统场景的方法
CN114416547A (zh) 基于测试用例的测试方法
CN112860587A (zh) Ui自动测试方法和装置
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
CN111176891A (zh) 一种基板管理控制器配置信息的恢复方法、装置及设备
EP2820547B1 (en) Debugging method and computer program product
CN115328891A (zh) 数据迁移方法、装置、存储介质及电子设备
CN113672509A (zh) 自动化测试方法、装置、测试平台及存储介质
CN115168196A (zh) 一种基于事件依赖模型的web gui测试用例生成方法
CN113312025B (zh) 组件库生成方法及装置、存储介质、电子设备
CN108664383B (zh) 一种控件测试方法及软件自动测试方法
CN112486461A (zh) 一种基于springboot框架的信息处理系统
CN117130946B (zh) 一种测试场景生成方法、装置、电子设备和可读存储介质
CN110597725B (zh) 一种Mysql的模拟返回方法、装置及设备
CN112148608B (zh) 一种基于控件功能标注的移动端自动化软件测试方法
US20240095153A1 (en) Test code generator, test code generation method, and, test code generaration program

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