CN109101412B - 测试文件生成、测试方法、装置、存储介质和计算机设备 - Google Patents

测试文件生成、测试方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN109101412B
CN109101412B CN201710475956.0A CN201710475956A CN109101412B CN 109101412 B CN109101412 B CN 109101412B CN 201710475956 A CN201710475956 A CN 201710475956A CN 109101412 B CN109101412 B CN 109101412B
Authority
CN
China
Prior art keywords
test
coordinate
page
application
file
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
CN201710475956.0A
Other languages
English (en)
Other versions
CN109101412A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710475956.0A priority Critical patent/CN109101412B/zh
Publication of CN109101412A publication Critical patent/CN109101412A/zh
Application granted granted Critical
Publication of CN109101412B publication Critical patent/CN109101412B/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

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)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种测试文件生成方法,包括:根据作用于应用页面的操作获取对应的坐标和路径信息,将路径信息相同的坐标聚类到一个集合中,获取区域坐标对应的坐标中心点,生成对应的坐标序列,并以应用页面为单位集合坐标序列生成坐标序列文件,并建立应用页面与坐标序列文件的关联关系。能够基于用户的真实操作生成测试文件,提高与用户真实操作的关联性,并提高测试结果的可靠性。还提供一种测试文件生成装置、测试方法、装置、存储介质和计算机设备。

Description

测试文件生成、测试方法、装置、存储介质和计算机设备
技术领域
本发明涉及计算机技术领域,特别是涉及一种测试文件生成、测试方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的不断发展,支持各种功能的应用层出不穷,为了提高应用的市场竞争力和用户的使用体验,需要不断对应用功能进行测试优化,以提高应用的业务性能。
传统技术中,对应用进行测试时,通过事先录入固定配置的测试脚本进行测试,实现对应用的操作重放,其中操作重放采用随机的操作点和随机的操作路径,测试脚本与用户的真实行为相关度低,测试结果可靠性低。
发明内容
基于此,有必要针对上述问题,提供一种测试文件生成、测试方法、装置、存储介质和计算机设备,能够基于用户的真实操作生成测试文件,并通过此测试文件进行应用测试,测试文件基于用户的真实操作生成与用户操作关联性较高,利用此测试文件进行应用测试,能够复现用户真实操作应用的热门路径,提高应用测试结果的可靠性。
一种测试文件生成方法,所述方法包括:
根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;
将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;
获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;
以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
一种测试文件生成装置,所述装置包括:
第一获取模块,用于根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;
聚类模块,用于将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;
第一生成模块,用于获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;
关联关系建立模块,用于以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行以下步骤:根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
上述测试文件生成方法、装置、存储介质和计算机设备,根据作用于应用页面的操作获取对应的坐标和路径信息,路径信息包括控件信息和页面跳转信息,将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中,获取各个区域坐标集合对应的坐标中心点生成对应的坐标序列,并以应用页面为单位,集合同一个应用页面中各个区域坐标集合对应的坐标序列生成的坐标序列文件,并将应用页面与对应的坐标序列文件建立关联关系。获取用户真实操作对应的位置区域的坐标以及操作产生的应用路径信息,根据用户的真实操作行为产生的路径信息对用户操作的位置区域进行聚类,获取聚类后的各个位置区域的中心点生成对应的坐标序列,将同一个页面的坐标序列生成对应的坐标序列文件,并将应用页面与坐标序列文件建立关联关系,坐标中心点能够体现用户真实操作集中区域,生成的坐标序列文件与用户真实操作关联性较高,能够反映各个应用页面用户真实操作的热门区域,并根据多个坐标序列文件反映用户的真实操作路径,有利于提高了测试结果的可靠性。
一种测试方法,包括:
获取根据上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;
标记所述当前测试坐标序列,获取所述当前测试坐标序列中坐标中心点,根据所述坐标中心点生成对应的操作指令;
将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
一种测试装置,所述装置包括:
第二获取模块,用于获取根据上述测试文件生成装置生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;
第二生成模块,用于标记所述当前测试坐标序列,获取所述当前测试坐标序列中坐标中心点,根据所述坐标中心点生成对应的操作指令;
发送模块,将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行以下步骤:获取根据上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;标记所述当前测试坐标序列,获取所述当前测试坐标序列中坐标中心点,根据所述坐标中心点生成对应的操作指令;将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:获取根据上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;标记所述当前测试坐标序列,获取所述当前测试坐标序列中坐标中心点,根据所述坐标中心点生成对应的操作指令;将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
上述测试方法、装置、存储介质和计算机设备,获取根据用户真实操作生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列,并对当前坐标序列进行标记,获取当前测试坐标序列中的坐标中心点,根据坐标中心点生成对应的操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。通过获取根据用户真实操作数据分析生成的测试文件,根据测试文件包含的坐标序列生成对应的操作指令模拟用户操作行为,能够基于用户真实操作数据生成的测试文件对应用进行测试,复现用户真实操作的热门路径,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中测试文件生成方法流程图;
图2A为一个实施例中测试文件操作跳转示意图;
图2B为一个实施例中测试文件坐标聚类示意图;
图3为一个实施例中一个应用界面坐标聚类热力示意图;
图4为一个实施例中测试方法流程图;
图4A为另一个实施例中测试方法流程图;
图5为又一个实施例中测试方法流程图;
图6为一个实施例中测试方法流程图;
图7为一个具体实施例中测试方法流程图;
图7A为一个实施例中坐标序列文件与应用界面对应关系示意图;
图7B为一个实施例中被测应用执行测试文件示意图;
图7C 为一个实施例中测试方法的流程示意图;
图8为一个实施例中测试文件生成装置结构框图;
图9为一个实施例中测试装置结构框图;
图10为另一个实施例中测试装置结构框图;
图11为又一个实施例中测试装置结构框图;
图12为一个实施例中测试装置结构框图;
图13为再一个实施例中测试装置结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施中的计算机设备的内部结构示意图。如图1所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和测试文件生成装置,数据库中存储有控件信息、操作对应的坐标和路径信息,该测试文件生成装置用于实现适用于计算机设备的一种测试文件生成方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个服务器的运行。该计算机设备的内存储器为非易失性存储介质中的测试文件生成装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种测试文件生成方法。该计算机设备的网络接口用于与外部设备通过网络连接通信,比如接收外部设备发送的用户路径信息以及向外部设备返回坐标序列文件数据等。该计算机设备的非易失性存储介质存储还包括测试装置,数据库中还存储有上述测试文件生成装置生成的测试文件,包括应用页面与坐标序列文件的对应关系信息等,该测试装置用于实现适用于计算机设备的一种测试方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个服务器的运行。该计算机设备的内存储器为非易失性存储介质中的测试文件生成装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,还可使得所述处理器执行一种测试方法。该计算机设备的网络接口用于与外部设备通过网络连接通信,比如接收外部设备发送的测试文件向外部设备发送测试结果等。计算机设备可以是终端,该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。计算机设备也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供一种测试文件生成方法,包括以下内容:
步骤S210,根据作用于应用页面的操作获取对应的坐标和路径信息,路径信息包括控件信息和页面跳转信息。
其中,作用于应用页面的操作可以是点击操作、滑动操作、用户输入操作、选择操作、长按操作等。对于不同的操作分别由不同的控件类型支持,在应用页面的不同位置或者在不同应用页面的相同操作由不同的控件控制。控件是对数据和方法的封装,控件可以有自己的属性和方法,控件包括用户界面控件,用户界面控件是指用于开发构建用户界面的控件,帮助完成软件开发中视窗、文本框、按钮、下拉式菜单等界面元素的开发。
进一步地,当作用于应用页面的操作是点击操作时,获取的坐标为点击操作在应用界面上触发的点的坐标,当作用于应用页面的操作是滑动操作时,获取的坐标为滑动操作起始和终止位置的坐标,也可以记录滑动操作路径中的其他坐标。
当检测到用户作用于应用页面的操作时,根据对应的操作进行相应的操作响应,如发生页面跳转或者是显示详细信息,记录根据作用于应用页面的操作产生的操作响应,生成对应的路径信息,路径信息包括触发的控件信息和页面跳转信息,其中,页面跳转信息包括跳转前后的应用页面标识信息,特别地,若应用页面未发生跳转,则跳转前后的应用页面信息一致,包括当前页面标识信息。
如图2A所示,以在微信应用中用户的点击行为为例,在A页面点击控件W区域,页面A跳转至页面B,则记录该操作为key=A_to_B_by_W_click,在A页面点击控件V,页面A跳转至页面C,则记录该操作为key=A_to_C_by_V_click,依次记录每次点击操作对应的key值。
在其他实施例中,作用于应用页面的操作也可以是用户的输入操作,当检测到用户输入操作时,获取预先存储的数据模拟用户的输入操作。
步骤S220,将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中。
具体地,根据作用于应用页面的操作获取操作对应的坐标和路径信息后,为了模拟用户的操作行为,对作用于应用页面的相应操作进行聚类,而操作对应的路径信息反应了操作触发的行为,若操作触发的路径信息相同则可认为作用于应用页面的操作触发的响应相同,因此,将路径信息相同的操作对应的坐标聚类到同一个区域坐标集合中,用区域坐标集合反映用户作用于某个区域的操作行为。如将key值相同的坐标进行聚合,则key=A_to_B_by_W_click的操作对应的坐标点被聚类到同一个区域坐标集合中,反映能够通过控件W实现从页面A跳转至页面B的操作。
步骤S230,获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成区域坐标集合对应的坐标序列。
其中,区域坐标集合对应的坐标中心点是指与区域坐标集合中各个坐标点距离最近的点,坐标中心点可以通过均值算法、DBSCAN(Density-Based Spatial Clustering ofApplications with Noise,基于密度的聚类算法)算法、BRICH(Balanced IterativeReducing and Clustering using Hierarchies,利用层次方法的平衡迭代规约和聚类)算法等聚类算法计算得到。特别地,坐标中心点是根据用户操作行为获取的坐标计算得到的中心点,能够反映用户操作集中的位置区域。获取坐标中心点后生成对应的坐标序列,坐标序列中还可以包括控件标识信息,用来标识不同的控件。
进一步地,坐标序列中还可以包括区域坐标集合对应的控件的操作次数,具体地,根据作用于应用页面的操作采集对应的坐标时同时将该区域的操作次数增加1,区域坐标集合记录了操作响应相同的坐标集合,因此能够统计得到该区域坐标集合对应的控件操作的次数,通过统计各个控件的操作次数能够对用户操作行为进行统计分析,如生成热力分布图,体现用户操作较频繁的区域进行热门功能关联或新功能发布前后对比等分析,进一步优化应用的功能性能。
在一个实施例中,以微信应用为例,如图2B所示,统计作用于应用界面的操作,对key值相同的操作进行聚类,并利用坐标中心点代表一个区域坐标集合中的所有点,实现区分微信应用中的各个功能按键。
步骤S240,以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
具体地,一个应用页面中包括多个控件和多个功能区域,根据各个区域坐标集合对应的控件所在的页面,将位于同一个应用页面的区域坐标集合对应的坐标序列生成该应用页面对应的坐标序列文件,并建立应用页面与对应的坐标序列文件的关联关系。如图3所示,为一个实施例中,一个应用页面聚合区域坐标集合对应的坐标序列后生成的热力分布图,能够区分同一个应用页面的各个功能区域,并能够反映该应用页面的各个功能区域的操作次数。进一步地,通过热力图分析能够获取用户点击的热门区域,进一步地进行舆情分析、热门功能关联或有针对性的优化应用性能等。
进一步地,在一个实施例中,将区域坐标集合对应的坐标序列转换成XML(Extensible Markup Language,可扩展标记语言)文件,将多个坐标序列组成坐标序列文件标识同一个应用页面的不同操作区域,以<S><id=1,x=0,y=0,pv=1, …/>< id=2,x=1,y=1,pv=1, …/></S>的形式描述多个操作区域的坐标序列,其中,id是指控件标识信息,x,y是指某一个区域中心点坐标,pv表示区域操作次数,生成XML文件后,将页面activity与坐标序列xy_seqs进行mapping,也就是将应用页面与坐标序列XML文件建立关联关系。
本实施例中,根据作用于应用页面的操作获取对应的坐标和路径信息,将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中,获取各个区域坐标集合对应的坐标中心点生成对应的坐标序列,并以应用页面为单位,集合同一个应用页面中各个区域坐标集合对应的坐标序列生成的坐标序列文件,并将应用页面与对应的坐标序列文件建立关联关系。获取用户真实操作对应的位置区域的坐标以及操作产生的应用路径信息,并进行聚类,获取聚类后的各个位置区域的中心点生成对应的坐标序列,将同一个页面的坐标序列生成对应的坐标序列文件,并将应用页面与坐标序列文件建立关联关系,,坐标中心点能够体现用户真实操作集中区域,生成的坐标序列文件与用户真实操作关联性较高,能够反映各个应用页面用户真实操作的热门区域,并根据多个坐标序列文件反映用户的真实操作路径,有利于提高了测试结果的可靠性。
在其他实施例中,根据作用于应用页面的操作获取对应的坐标时,获取对应的用户标识信息,用户标识信息是用户的唯一标识,可以是终端标识也可以是用户登录应用的账号信息。将路径信息对应的坐标聚合到同一区域坐标集合中,获取到对应的中心点生成对应的坐标序列后,区域坐标集合中的用户标识信息均与该坐标序列对应,根据建立的坐标序列对应的用户标识信息,按照页面跳转顺序,获取同一个用户标识信息对应的各个坐标序列,并将获取的坐标序列按照页面跳转顺序存储至用户标识对应的坐标序列文件,用于记录用户的真实操作行为。
本实施例中,根据用户标识信息对应的页面跳转顺序存储对应的坐标序列,生成用户标识信息对应的坐标序列文件,能够真实准确的标识用户对应的操作,基于用户真实路径进行测试。
在一个实施例中,步骤S230包括:获取各个区域坐标集合对应的坐标的第一维度坐标和第二维度坐标;分别计算各个区域坐标集合的第一维度坐标对应的第一均值和第二维度坐标对应的第二均值,根据第一均值和第二均值确定区域坐标集合对应的坐标中心点。
具体地,根据作用于应用页面的操作获取对应的坐标可以以不同的形式表示,如平面坐标、空间坐标、角坐标等,获取坐标中的第一维度坐标,将第一维度坐标的值相加,将得到的和与第一维度坐标的数量相除得到第一均值,第一均值反映了区域坐标集合在第一维度上所处的中心位置。将第二维度坐标的值相加,将得到的和与第二维度坐标的数量相除得到第二均值,第二均值反映了区域坐标集合在第二维度上所处的中心位置,将第一均值与第二均值组合生成的坐标则表示该区域坐标集合中的中心位置,也就是中心点坐标。
本实施例中,在获取到的坐标已经完成聚类的基础上,利用求均值的方法计算区域坐标集合的中心点,计算方便,提高计算效率。
如图4所示,在一个实施例中,提供一种测试方法,包括以下内容:
步骤S410,获取上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列。
其中,测试文件是根据作用于应用页面的操作获取对应的坐标和路径信息,对坐标进行聚类,然后获取聚类后的区域坐标的中心点,根据坐标中心点生成对应的坐标序列,将同一个应用页面的坐标序列组合成坐标序列文件得到的。测试文件中包括多个坐标序列文件,并包括各个应用页面与坐标序列文件的关联关系。
特别地,测试文件中的统计数据的路径和顺序可以任意更改,可以是目前全部用户的统计数据、可以是具体某些用户的数据、也可以是具体某些待测试应用功能路径的数据,按照获取的测试文件进行测试,能够根据具体场景获取对应的测试文件,实现对多个应用场景的测试,能够提高测试的针对性和可靠性。
进一步地,预设规则是指预先设定的获取坐标序列文件中的坐标序列的规则,可以是按照坐标序列文件中存储坐标序列的顺序依次获取坐标序列,也可以是随机获取坐标序列文件中的坐标序列,也可以按照用户真实操作路径获取对应的坐标序列。也可以按照自定义的路径获取对应的坐标序列。
具体地,获取到测试文件后,获取当前测试页面对应的当前坐标序列文件,按照预设规则获取当前坐标序列中的其中一个坐标序列作为当前测试坐标序列。
步骤S420,标记当前测试坐标序列,获取当前测试坐标序列中的坐标中心点,根据坐标中心点生成对应的操作指令。
具体地,标记当前测试坐标序列可以通过预先在每个坐标序列中设置标记状态,当获取坐标序列后,将标记状态设置为1表示已获取,当从当前测试坐标序列对应的坐标序列文件中获取下一个坐标序列时,直接查找标记状态为未获取状态的坐标序列。在其他实施例中,也可以将获取的坐标序列从当前坐标序列文件中移除,保证当前坐标序列文件中存储的均为未获取的坐标序列。避免重复获取同一个坐标序列,造成测试路径重复。
进一步地,从当前测试坐标序列中获取对应的坐标中心点,根据坐标中心点生成操作指令,如当前测试坐标序列是根据用户点击行为生成的,则获取到坐标序列中的坐标中心点后产生点击操作指令。
步骤S430,将操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。
其中,被测应用是指待进行功能测试的应用,模拟用户操作是指根据获取到的数据模拟用户的操作行为,生成与用户操作相同的执行指令,如根据获取到的坐标中心点模拟用户的点击操作,即在获取坐标中心点后,坐标中心点对应的控件生成与被用户点击时相同的指令。
获取到坐标中心点生成操作指令后,将操作指令发送至被测应用,运行被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。例如,生成的操作指令为点击指令,则被测应用根据点击指令在坐标中心点对应的应用页面的位置执行模拟点击操作。
进一步地,在根据测试文件复现应用功能实现路径或者复现用户真实操作行为或者某个业务功能的路径时,如果发现漏洞,则记录该路径对应的点击流、时间点等,便于分析定位错误。
在其他实施例中,也可以直接获取对应的坐标序列发送至被测应用,使被测应用直接根据坐标序列生成对应的模拟用户操作。
本实施例中,获取根据作用于应用页面的操作获取对应的坐标和路径信息,对坐标进行聚类,然后获取聚类后的区域坐标的中心点,根据坐标中心点生成对应的坐标序列,将同一个应用页面的坐标序列组合成坐标序列文件得到的测试文件,并进一步从测试文件中获取当前测试坐标序列,根据当前测试坐标序列生成对应的操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,执行模拟用户操作进行功能测试。基于用户真实操作数据分析生成的测试文件进行测试,能够被测应用复现用户真实操作的热门路径或应用页面,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。
如图4A所示,在一个实施例中,步骤S410之前,还包括:
步骤S410A,获取当前测试应用页面对应的当前页面标识。
其中,当前测试应用页面是指被测应用中当前进行功能测试的页面,应用页面标识能够唯一标识对应的应用页面。当前测试应用页面可以是自动获取的,如自动获取被测应用的初始页面开始测试,也可以是执行操作后得到的测试应用页面,如发生页面切换得到的应用页面。
测试文件中包括多个测试坐标序列文件,且包括坐标序列文件与应用页面的关联关系,坐标序列文件与应用页面的关联关系实际上是坐标序列文件与应用页面标识之间的关联关系。
步骤S410B,根据测试文件中的应用页面与对应的坐标序列文件的关联关系,获取当前页面标识对应的当前坐标序列文件。
具体地,根据当前测试应用页面对应的页面标识,以及测试文件中应用页面标识与坐标序列文件的关联关系,获取当前测试应用页面对应的坐标序列文件,将获取到的坐标序列文件作为当前坐标序列文件,根据当前坐标序列文件中的坐标序列执行相应的操作。
如图5所示,在一个实施例中,步骤S430之后,还包括:
步骤S440,以使被测应用检测到模拟用户操作触发页面切换指令时,根据页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,共享文件包括第二测试应用页面信息。
其中,共享文件是指一个生成或多个应用共同生成,且多个不同的应用能够进行编辑或获取文件内容信息的文件。
具体地,在被测应用生成并执行模拟用户操作后,并检测模拟用户操作是否能够触发页面切换指令,若检测到触发了页面切换指令,则根据页面切换指令将当前测试页面切换至第二测试应用页面,被测应用发生页面切换后,需要获取第二测试应用页面对应的坐标序列文件,因此需要获取页面切换信息。进一步地,当根据当前坐标序列生成切换指令后,等待预设时间,使被测应用能够完成对应的操作。
被测应用在发生页面切换时,生成对应的共享文件,共享文件中包括对应的切换信息和切换前后的页面标识信息。可以是重新生成共享文件,也可以是更新原有的共享文件,增加页面切换信息,页面切换信息中包括切换前后的页面标识信息。
步骤S450,当检测到共享文件发生更新时,获取共享文件对应的第二测试应用页面信息,将第二测试应用页面作为当前测试应用页面,进入步骤S410A。
具体地,监测共享文件,若产生了新的共享文件或更新了共享文件中的信息,则说明被测应用发生了页面切换,获取共享文件中对应的切换后的应用页面对应的信息,进入获取当前测试应用页面对应的当前页面标识的步骤,对切换后的应用页面进行测试。
本实施例中,使被测应用在检测到执行的模拟用户操作能够触发页面切换指令后,生成对应的共享文件,监测到共享文件发生更新时,获取共享文件中的当前切换后对应的应用页面信息,然后重复执行获取应用页面信息对应的坐标序列文件进行测试的步骤,能够在页面发生切换后,继续获取对应的坐标序列进行测试,能够避免测试中断,同时按照各个应用页面对应的坐标序列进行切换,在保证测试与应用真实操作的关联性和测试结果可靠性的前提下,进一步提高应用测试的精准度以及覆盖度。
在一个实施例中,步骤S440包括:生成共享文件时,使用文件锁锁定共享文件;步骤S450包括:当检测到共享文件对应的文件锁解除时,获取共享文件对应的第二测试应用页面信息。
具体地,共享文件可以被多个不同的应用编辑或读取,因此存在同时被多个应用进行编辑或者读取到未编辑完成的信息,造成信息编辑或读取错误,因此,在待测试文件生成共享文件时,使用文件锁锁定共享文件。进一步地,在待测试文件编写共享文件时,首先写入一个标记,在未清除该标记之前,其他应用读取该共享文件只能等待。
当检测到共享文件更新且检测到共享文件的标记清除后,读取共享文件,从共享文件中获取第二测试应用页面信息,第二测试应用页面信息是指当前切换后的应用页面信息。
本实施例中,在生成共享文件的过程中,采用文件锁锁定共享文件,避免造成读取到错误的应用页面信息,导致切换发生错误,提高了测试的准确度。
如图6所示,在一个实施例中,步骤S430之后,还包括:
步骤S460,以使被测应用检测到模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息。
具体地,被测应用执行模拟用户操作未触发页面切换指令时,说明未发生应用页面跳转,后续测试仍然在当前测试应用页面执行,获取被测应用发送的模拟用户操作响应信息,模拟用户操作响应信息包括模拟用户操作执行信息。
步骤S470,接收被测应用发送的模拟用户操作响应信息,根据模拟用户操作响应信息从当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入步骤S420。
具体地,接收到被测应用发送的模拟用户操作响应信息后,之前获取到的坐标序列产生的模拟用户操作已经被执行,且没有进入新的应用页面,则从当前坐标序列文件中获取未标记的坐标序列。在获取未标记的坐标序列时,可以随机获取也可以获取当前坐标序列文件中当前标记的坐标序列对应的下一个坐标序列,也可以获取记录的用户的真实操作对应的坐标序列。获取到坐标序列作为当前测试坐标序列,进入步骤S420,标记当前测试坐标序列,执行对应的用户模拟操作。
本实施例中,获取被测应用在未检测到页面切换指令时产生的用户模拟操作响应,根据用户模拟操作响应从当前坐标序列文件中获取未标记的坐标序列,进入标记坐标序列,模拟该坐标序列对应的用户模拟操作的步骤,在未发生应用页面切换时,不会终止测试,而是继续获取坐标序列文件中的坐标序列进行测试,在保证与用户真实操作关联性的前提下,尽可能多的检测被测应用页面包含的功能路径,提高了应用测试的路径覆盖度。
在一个实施例中,测试方法还包括:
当前坐标序列文件中的全部坐标序列标记完成后,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面,将上一应用测试页面作为当前应用测试页面,执行步骤S410A。
具体地,若切换至当前测试应用页面后,获取当前测试应用页面对应的坐标序列文件对应的坐标序列进行检测,若当前坐标序列文件中的坐标序列全部检测完成,则自动从当前测试页面返回至上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面。
例如,获取A页面对应的坐标序列文件的第一坐标序列后进入了B页面,获取B页面对应的坐标序列文件中的第二坐标序列后进入了C页面,而C页面对应的坐标序列文件中的所有坐标序列均未发生页面切换,则遍历C页面对应的坐标序列文件中的坐标序列后,自动返回B页面,获取B页面对应的坐标序列文件中未标记的坐标序列,若发生跳转则继续跳转,直至下次返回B页面,继续获取B页面对应的坐标序列文件中未标记的坐标序列,直至遍历B页面对应的坐标序列文件中的坐标序列,然后返回A页面,获取A页面对应的坐标序列文件中未标记的坐标序列,若发生跳转,则重复上述过程,直至遍历A页面对应的坐标序列文件中的坐标序列。
本实施例中,遍历全部当前坐标序列文件中的坐标序列后,设置返回机制,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,重复执行应用页面对应的坐标序列测试过程,直至遍历测试文件中的全部坐标序列文件,当测试文件是基于大量用户测试数据生成时,可以实现遍历所有被测应用页面及路径的测试工作,在保证与用户操作关联性以及测试结果可靠性的前提下,提高了测试的应用路径覆盖度,应用路径覆盖度是指测试的应用路径与全部应用路径的比值。
在一个实施例中,当对用户真实操作进行测试时,获取当前用户标识信息,根据当前用户标识信息在测试文件中查找与当前标识信息对应的当前测试坐标序列文件,按照当前测试坐标序列文件中坐标序列存储的顺序依次获取当前测试坐标序列,根据当前测试坐标序列生成对应的操作指令,发送至被测应用,使被测应用根据对应的操作指令生成对应的模拟用户操作,并执行,完成对用户真实操作行为的测试。
本实施例中,通过获取测试文件中的用户标识信息对应的坐标序列文件,依次获取坐标序列文件中的坐标序列,生成对应的模拟用户操作,能够复现用户的真实操作行为和路径,能够针对不同的用户提供针对性的服务,并对不同的用户操作行为进行差异性分析。
如图7所示,在一个具体实施例中,提供一种测试方法,包括以下内容:
步骤S701,获取当前测试应用页面对应的当前页面标识,根据测试文件中的应用页面与对应的坐标序列文件的关联关系,获取当前页面标识对应的当前坐标序列文件。
具体地,如图7A所示,每一个应用页面对应一个坐标序列文件,当测试当前应用页面时,获取对应的坐标序列文件。
步骤S702,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列。
具体地,如图7A所示,每一个应用页面的坐标序列文件中包括多个坐标序列,可以按照坐标序列的顺序读取坐标序列,也可以随机获取坐标序列进行测试。
步骤S703,标记当前测试坐标序列,获取当前测试坐标序列中的坐标中心点,根据坐标中心点生成对应的操作指令。
具体地,以在安卓系统中为例,安卓系统的测试工具UIAutomator(用于实现对用户界面进行自动化测试)来说,能够利用device.click(x,y)通过坐标完成页面的某一个区域的点击操作,因此获取当前测试坐标序列中的坐标中心点能够实现对应位置的点击操作。
步骤S704,将操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。
步骤S705,检测模拟用户操作是否触发页面切换指令,若是,执行步骤S706,若否,则执行步骤S708。
步骤S706,使被测应用根据页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,共享文件包括第二测试应用页面信息。
步骤S707,当检测到共享文件发生更新时,获取共享文件对应的第二测试应用页面信息,将第二测试应用页面作为当前测试应用页面,进入步骤S701。
如图7B所示,被测应用710检测到页面切换时,生成共享文件710A,测试应用720获取预先生成的测试文件710B和共享文件710A,获取第二测试应用页面信息,获取第二应用页面信息中的坐标序列,使被测应用710再次模拟用户操作。
步骤S708,使被测应用生成模拟用户操作响应信息,接收被测应用发送的模拟用户操作响应信息,根据模拟用户操作响应信息从当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入步骤S703。
步骤S709,当前坐标序列文件中的全部坐标序列标记完成后,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面,将上一应用测试页面作为当前应用测试页面,执行步骤S701。
如图7C所示,通过坐标聚类生成聚类后的应用页面7C0,根据作用于聚类后的应用页面7C0的操作,获取对应的坐标序列,选择对应的路径文件7C1,根据选择的路径文件7C1执行相应的操作,使用测试应用720对被测应用710进行测试。通过上述过程完成对被测应用710的应用路径测试。
本实施例中,获取根据作用于应用页面的操作获取对应的坐标和路径信息,对坐标进行聚类,然后获取聚类后的区域坐标的中心点,根据坐标中心点生成对应的坐标序列,将同一个应用页面的坐标序列组合成坐标序列文件得到的测试文件,并进一步从测试文件中获取当前测试坐标序列,根据当前测试坐标序列生成对应的操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,执行模拟用户操作进行功能测试。通过获取根据用户真实操作数据分析生成的测试文件,根据测试文件包含的坐标序列生成对应的操作指令模拟用户操作行为,能够基于用户真实操作数据生成的测试文件对应用进行测试,复现用户真实操作的热门路径,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。进一步地,能够通过模拟用户真实操作行为发现被测应用存在的漏洞,指导应用的业务功能设计,优化应用路径。
在一个实施例中,如图8所示,一种测试文件生成装置,装置包括:
第一获取模块810,用于根据作用于应用页面的操作获取对应的坐标和路径信息,路径信息包括控件信息和页面跳转信息。
聚类模块820,用于将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中。
第一生成模块830,用于获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成区域坐标集合对应的坐标序列。
关联关系建立模块840,用于以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
本实施例中,根据作用于应用页面的操作获取对应的坐标和路径信息,将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中,获取各个区域坐标集合对应的坐标中心点生成对应的坐标序列,并以应用页面为单位,集合同一个应用页面中各个区域坐标集合对应的坐标序列生成的坐标序列文件,并将应用页面与对应的坐标序列文件建立关联关系。获取用户真实操作对应的位置区域的坐标以及操作产生的应用路径信息,并进行聚类,获取聚类后的各个位置区域的中心点生成对应的坐标序列,将同一个页面的坐标序列生成对应的坐标序列文件,并将应用页面与坐标序列文件建立关联关系,坐标中心点能够体现用户真实操作集中区域,生成的坐标序列文件与用户真实操作关联性较高,能够反映各个应用页面用户真实操作的热门区域,并根据多个坐标序列文件反映用户的真实操作路径,有利于提高了测试结果的可靠性。
在一个实施例中,第一生成模块830还用于获取各个区域坐标集合对应的坐标的第一维度坐标和第二维度坐标;分别计算各个区域坐标集合的第一维度坐标对应的第一均值和第二维度坐标对应的第二均值,根据第一均值和第二均值确定区域坐标集合对应的坐标中心点。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,计算机可执行指令被处理器执行时,使得处理器执行以下步骤:根据作用于应用页面的操作获取对应的坐标和路径信息,路径信息包括控件信息和页面跳转信息;将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成区域坐标集合对应的坐标序列;以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
本实施例中,获取用户真实操作对应的位置区域的坐标以及操作产生的应用路径信息,并进行聚类,获取聚类后的各个位置区域的中心点生成对应的坐标序列,将同一个页面的坐标序列生成对应的坐标序列文件,并将应用页面与坐标序列文件建立关联关系,坐标中心点能够体现用户真实操作集中区域,生成的坐标序列文件与用户真实操作关联性较高,能够反映各个应用页面用户真实操作的热门区域,并根据多个坐标序列文件反映用户的真实操作路径,有利于提高了测试结果的可靠性。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取各个区域坐标集合对应的坐标的第一维度坐标和第二维度坐标;分别计算各个区域坐标集合的第一维度坐标对应的第一均值和第二维度坐标对应的第二均值,根据第一均值和第二均值确定区域坐标集合对应的坐标中心点。
在一个实施例中,提供一种计算机设备,包括存储器和处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:根据作用于应用页面的操作获取对应的坐标和路径信息,路径信息包括控件信息和页面跳转信息;将路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成区域坐标集合对应的坐标序列;以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系。
本实施例中,获取用户真实操作对应的位置区域的坐标以及操作产生的应用路径信息,并进行聚类,获取聚类后的各个位置区域的中心点生成对应的坐标序列,将同一个页面的坐标序列生成对应的坐标序列文件,并将应用页面与坐标序列文件建立关联关系,坐标中心点能够体现用户真实操作集中区域,生成的坐标序列文件与用户真实操作关联性较高,能够反映各个应用页面用户真实操作的热门区域,并根据多个坐标序列文件反映用户的真实操作路径,有利于提高了测试结果的可靠性。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取各个区域坐标集合对应的坐标的第一维度坐标和第二维度坐标;分别计算各个区域坐标集合的第一维度坐标对应的第一均值和第二维度坐标对应的第二均值,根据第一均值和第二均值确定区域坐标集合对应的坐标中心点。
如图9所示,在一个实施例中,提供一种测试装置,包括:
第二获取模块910,用于获取根据上述实施例中的测试文件生成装置生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;
第二生成模块920,用于标记当前测试坐标序列,获取当前测试坐标序列中的坐标中心点,根据坐标中心点生成对应的操作指令;
发送模块930,将操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。
本实施例中,获取根据作用于应用页面的操作获取对应的坐标和路径信息,对坐标进行聚类,然后获取聚类后的区域坐标的中心点,根据坐标中心点生成对应的坐标序列,将同一个应用页面的坐标序列组合成坐标序列文件得到的测试文件,并进一步从测试文件中获取当前测试坐标序列,根据当前测试坐标序列生成对应的操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,执行模拟用户操作进行功能测试。通过获取根据用户真实操作数据分析生成的测试文件,根据测试文件包含的坐标序列生成对应的操作指令模拟用户操作行为,能够基于用户真实操作数据生成的测试文件对应用进行测试,复现用户真实操作的热门路径,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。
如图10所示,在一个实施例中,测试装置还包括:
第三获取模块940,用于获取当前测试应用页面对应的当前页面标识;根据测试文件中的应用页面与对应的坐标序列文件的关联关系,获取当前页面标识对应的当前坐标序列文件。
如图11所示,在一个实施例中,测试装置还包括:
第一响应模块950,用于以使被测应用检测到模拟用户操作触发页面切换指令时,根据页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,共享文件包括第二测试应用页面信息;
切换模块960,用于当检测到共享文件发生更新时,获取共享文件对应的第二测试应用页面信息,将第二测试应用页面作为当前测试应用页面,进入第三获取模块940。
在一个实施例中,第一响应模块950还用于生成共享文件时,使用文件锁锁定共享文件;
切换模块960还用于当检测到共享文件对应的文件锁解除时,获取共享文件对应的第二测试应用页面信息。
如图12所示,在一个实施例中,测试装置还包括:
第二响应模块970,用于以使被测应用检测到模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息;
接收模块980,用于接收被测应用发送的模拟用户操作响应信息,根据模拟用户操作响应信息从当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入第二生成模块920。
如图13所示,在一个实施例中,测试装置还包括:
返回模块990,用于当前坐标序列文件中的全部坐标序列标记完成后,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面,将上一应用测试页面作为当前应用测试页面,进入第三获取模块940。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,计算机可执行指令被处理器执行时,使得处理器执行以下步骤:获取根据上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;标记当前测试坐标序列,获取当前测试坐标序列中坐标中心点,根据坐标中心点生成对应的操作指令;将操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。
本实施例中,通过获取根据用户真实操作数据分析生成的测试文件,根据测试文件包含的坐标序列生成对应的操作指令模拟用户操作行为,能够基于用户真实操作数据生成的测试文件对应用进行测试,复现用户真实操作的热门路径,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取当前测试应用页面对应的当前页面标识;根据测试文件中的应用页面与对应的坐标序列文件的关联关系,获取当前页面标识对应的当前坐标序列文件。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:以使被测应用检测到模拟用户操作触发页面切换指令时,根据页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,共享文件包括第二测试应用页面信息;当检测到共享文件发生更新时,获取共享文件对应的第二测试应用页面信息,将第二测试应用页面作为当前测试应用页面,进入获取当前测试应用页面对应的当前页面标识的步骤。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:生成共享文件时,使用文件锁锁定共享文件;当检测到共享文件对应的文件锁解除时,获取共享文件对应的第二测试应用页面信息。在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:以使被测应用检测到模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息;接收被测应用发送的模拟用户操作响应信息,根据模拟用户操作响应信息从当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入标记当前测试坐标序列的步骤。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:当前坐标序列文件中的全部坐标序列标记完成后,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面,将上一应用测试页面作为当前应用测试页面,执行获取当前测试应用页面对应的当前页面标识的步骤。
在一个实施例中,提供一种计算机设备,包括存储器和处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:获取根据上述实施例中测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;标记当前测试坐标序列,获取当前测试坐标序列中坐标中心点,根据坐标中心点生成对应的操作指令;将操作指令发送至被测应用,以使被测应用根据操作指令生成对应的模拟用户操作,并执行模拟用户操作。
本实施例中,通过获取根据用户真实操作数据分析生成的测试文件,根据测试文件包含的坐标序列生成对应的操作指令模拟用户操作行为,能够基于用户真实操作数据生成的测试文件对应用进行测试,复现用户真实操作的热门路径,测试结果与用户真实操作关联性较高,提高了测试结果的可靠性。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取当前测试应用页面对应的当前页面标识;根据测试文件中的应用页面与对应的坐标序列文件的关联关系,获取当前页面标识对应的当前坐标序列文件。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:以使被测应用检测到模拟用户操作触发页面切换指令时,根据页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,共享文件包括第二测试应用页面信息;当检测到共享文件发生更新时,获取共享文件对应的第二测试应用页面信息,将第二测试应用页面作为当前测试应用页面,进入获取当前测试应用页面对应的当前页面标识的步骤。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:生成共享文件时,使用文件锁锁定共享文件;当检测到共享文件对应的文件锁解除时,获取共享文件对应的第二测试应用页面信息。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:以使被测应用检测到模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息;接收被测应用发送的模拟用户操作响应信息,根据模拟用户操作响应信息从当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入标记当前测试坐标序列的步骤。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:当前坐标序列文件中的全部坐标序列标记完成后,从当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,上一应用测试页面是指触发切换指令切换至当前应用测试页面的页面,将上一应用测试页面作为当前应用测试页面,执行获取当前测试应用页面对应的当前页面标识的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种测试文件生成方法,所述方法包括:
根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;
将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;
获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;
以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系,根据所述坐标序列文件和所述关联关系,生成测试文件。
2.根据权利要求1所述的方法,其特征在于,所述获取各个区域坐标集合对应的坐标中心点的步骤包括:
获取各个区域坐标集合对应的坐标的第一维度坐标和第二维度坐标;
分别计算各个区域坐标集合的所述第一维度坐标对应的第一均值和所述第二维度坐标对应的第二均值,根据所述第一均值和所述第二均值确定区域坐标集合对应的坐标中心点。
3.一种测试方法,其特征在于,所述方法包括:
获取根据权利要求1或2所述的测试文件生成方法生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;
标记所述当前测试坐标序列,获取所述当前测试坐标序列中的坐标中心点,根据所述坐标中心点生成对应的操作指令;
将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
4.根据权利要求3所述的方法,其特征在于,所述按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列的步骤之前,还包括:
获取当前测试应用页面对应的当前页面标识;
根据所述测试文件中的应用页面与对应的坐标序列文件的关联关系,获取所述当前页面标识对应的当前坐标序列文件。
5.根据权利要求4所述的方法,其特征在于,所述以使被测应用根据所述操作指令执行对应的操作的步骤之后,还包括:
以使被测应用检测到所述模拟用户操作触发页面切换指令时,根据所述页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,所述共享文件包括第二测试应用页面信息;
当检测到所述共享文件发生更新时,获取所述共享文件对应的所述第二测试应用页面信息,将所述第二测试应用页面作为当前测试应用页面,进入所述获取当前测试应用页面对应的当前页面标识的步骤。
6.根据权利要求5所述的方法,其特征在于,所述并生成对应的共享文件的步骤包括:
生成所述共享文件时,使用文件锁锁定所述共享文件;
所述当检测到所述共享文件发生更新时,获取所述共享文件对应的所述第二测试应用页面信息的步骤包括:
当检测到所述共享文件对应的文件锁解除时,获取所述共享文件对应的所述第二测试应用页面信息。
7.根据权利要求4所述的方法,其特征在于,所述以使被测应用根据所述操作指令执行对应的操作的步骤之后,还包括:
以使被测应用检测到所述模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息;
接收所述被测应用发送的模拟用户操作响应信息,根据所述模拟用户操作响应信息从所述当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入所述标记所述当前测试坐标序列的步骤。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述当前坐标序列文件中的全部坐标序列标记完成后,从所述当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,所述上一应用测试页面是指触发切换指令切换至所述当前应用测试页面的页面,将所述上一应用测试页面作为当前应用测试页面,执行获取当前测试应用页面对应的当前页面标识的步骤。
9.一种测试文件生成装置,其特征在于,所述装置包括:
第一获取模块,用于根据作用于应用页面的操作获取对应的坐标和路径信息,所述路径信息包括控件信息和页面跳转信息;
聚类模块,用于将所述路径信息相同的操作对应的坐标聚合到同一个区域坐标集合中;
第一生成模块,用于获取各个区域坐标集合对应的坐标中心点,根据各个区域坐标集合的坐标中心点生成所述区域坐标集合对应的坐标序列;
关联关系建立模块,用于以应用页面为单位,集合同一个应用页面中的各个区域坐标集合对应的坐标序列生成坐标序列文件,建立应用页面与对应的坐标序列文件的关联关系,根据所述坐标序列文件和所述关联关系,生成测试文件。
10.一种测试装置,其特征在于,所述装置包括:
第二获取模块,用于获取根据权利要求9所述的测试文件生成装置生成的测试文件,按照预设规则获取当前坐标序列文件中的坐标序列作为当前测试坐标序列;
第二生成模块,用于标记所述当前测试坐标序列,获取所述当前测试坐标序列中的坐标中心点,根据所述坐标中心点生成对应的操作指令;
发送模块,将所述操作指令发送至被测应用,以使所述被测应用根据所述操作指令生成对应的模拟用户操作,并执行所述模拟用户操作。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一响应模块,用于以使被测应用检测到所述模拟用户操作触发页面切换指令时,根据所述页面切换指令将当前测试页面切换至第二测试应用页面并生成对应的共享文件,所述共享文件包括第二测试应用页面信息;
切换模块,用于当检测到所述共享文件发生更新时,获取所述共享文件对应的所述第二测试应用页面信息,将所述第二测试应用页面作为当前测试应用页面,进入所述第二获取模块。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二响应模块,用于以使被测应用检测到所述模拟用户操作未触发页面切换指令时,生成模拟用户操作响应信息;
接收模块,用于接收所述被测应用发送的模拟用户操作响应信息,根据所述模拟用户操作响应信息从所述当前坐标序列文件中获取未标记的坐标序列作为当前测试坐标序列,进入所述第二生成模块。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
返回模块,用于当所述当前坐标序列文件中的全部坐标序列标记完成后,从所述当前坐标序列文件对应的当前应用测试页面返回上一应用测试页面,所述上一应用测试页面是指触发切换指令切换至所述当前应用测试页面的页面,将所述上一应用测试页面作为当前应用测试页面,进入所述第二获取模块。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行权利要求1至8中任一项所述方法的步骤。
15.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行权利要求1至8中任一项所述方法的步骤。
CN201710475956.0A 2017-06-21 2017-06-21 测试文件生成、测试方法、装置、存储介质和计算机设备 Active CN109101412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710475956.0A CN109101412B (zh) 2017-06-21 2017-06-21 测试文件生成、测试方法、装置、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710475956.0A CN109101412B (zh) 2017-06-21 2017-06-21 测试文件生成、测试方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN109101412A CN109101412A (zh) 2018-12-28
CN109101412B true CN109101412B (zh) 2021-05-11

Family

ID=64796394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710475956.0A Active CN109101412B (zh) 2017-06-21 2017-06-21 测试文件生成、测试方法、装置、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN109101412B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739764A (zh) * 2018-12-29 2019-05-10 中国联合网络通信集团有限公司 一种应用程序测试方法和装置
CN111143709B (zh) * 2019-12-18 2023-11-21 深圳市超时空探索科技有限公司 一种3d地图场景下的撤销方法和装置
CN111767030A (zh) * 2020-07-01 2020-10-13 中国银行股份有限公司 一种数据采集的方法及装置
CN112363885B (zh) * 2020-11-10 2023-09-22 抖音视界有限公司 检测应用异常的方法、装置、电子设备及计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484273A (zh) * 2014-12-19 2015-04-01 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN105335288A (zh) * 2015-10-27 2016-02-17 东软集团股份有限公司 移动应用页面对象的定位方法和装置
CN105512023A (zh) * 2014-09-26 2016-04-20 腾讯科技(深圳)有限公司 一种Monkey测试方法及装置
CN105955889A (zh) * 2016-05-11 2016-09-21 南京大学 一种图形界面自动化测试方法
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337432B2 (en) * 2004-02-03 2008-02-26 Sharp Laboratories Of America, Inc. System and method for generating automatic test plans for graphical user interface applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512023A (zh) * 2014-09-26 2016-04-20 腾讯科技(深圳)有限公司 一种Monkey测试方法及装置
CN104484273A (zh) * 2014-12-19 2015-04-01 广州博冠信息科技有限公司 应用程序的测试方法、设备及系统
CN105335288A (zh) * 2015-10-27 2016-02-17 东软集团股份有限公司 移动应用页面对象的定位方法和装置
CN105955889A (zh) * 2016-05-11 2016-09-21 南京大学 一种图形界面自动化测试方法
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Android应用程序GUI自动化遍历研究;赵耀宗;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150915;全文 *

Also Published As

Publication number Publication date
CN109101412A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
CN107562610B (zh) 获取页面加载时间的方法、装置、终端和介质
CN109101412B (zh) 测试文件生成、测试方法、装置、存储介质和计算机设备
CN106021079B (zh) 一种基于用户频繁访问序列模型的Web应用性能测试方法
CN110221982B (zh) 业务系统的性能测试方法、装置、设备及可读存储介质
CN109815119B (zh) 一种app链接渠道的测试方法及装置
CN107800757B (zh) 用户行为记录方法及装置
CN110221959B (zh) 应用程序的测试方法、设备以及计算机可读介质
CN112817866A (zh) 录制回放方法、装置、系统、计算机设备以及存储介质
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
CN110781061B (zh) 一种记录用户行为链路的方法及装置
CN111290956A (zh) 基于脑图的测试方法、装置、电子设备及存储介质
CN111338581B (zh) 基于云计算的数据存储方法、装置、云服务器及系统
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN111338609B (zh) 信息获取方法、装置、存储介质及终端
CN115022201B (zh) 一种数据处理功能测试方法、装置、设备及存储介质
CN111352821A (zh) 业务测试方法、装置、电子设备和计算机可读存储介质
CN115712569A (zh) 一种流量回放的方法、装置、电子设备及存储介质
CN115687129A (zh) 一种覆盖率报告生成方法、装置、存储介质和计算机设备
CN111737090B (zh) 日志仿真方法、装置、计算机设备和存储介质
CN113704114A (zh) 功能接口的自动化测试方法、装置、设备及介质
CN113760696A (zh) 一种程序问题定位方法、装置、电子设备和存储介质
CN113326046A (zh) 获取编译时长的方法和装置
KR102032180B1 (ko) 디지털변전시스템 정보교환 서비스 검증시험 장치
CN112559331A (zh) 测试方法和装置
WO2004068347A1 (en) Method and apparatus for categorising test scripts

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