CN111352844B - 一种测试方法和相关装置 - Google Patents

一种测试方法和相关装置 Download PDF

Info

Publication number
CN111352844B
CN111352844B CN202010143012.5A CN202010143012A CN111352844B CN 111352844 B CN111352844 B CN 111352844B CN 202010143012 A CN202010143012 A CN 202010143012A CN 111352844 B CN111352844 B CN 111352844B
Authority
CN
China
Prior art keywords
node
software
tested
test
test case
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
CN202010143012.5A
Other languages
English (en)
Other versions
CN111352844A (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 CN202010143012.5A priority Critical patent/CN111352844B/zh
Publication of CN111352844A publication Critical patent/CN111352844A/zh
Application granted granted Critical
Publication of CN111352844B publication Critical patent/CN111352844B/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)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种测试方法和相关装置,针对待测软件的自动化测试需求可以确定用于测试的测试用例,该测试用例包括通过待测软件完成测试用例所对应的节点操作序列。节点操作序列用于标识实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。由于待测软件是通过软件引擎运行的,故在通过所述待测软件执行所述测试用例,进行对所述待测软件的测试的过程中,可以根据节点信息调用软件引擎所需的执行参数,并依据前述触发顺序,通过执行参数指示软件引擎在待测软件中模拟对节点的触发。该方法对于不同类型的待测软件均能适用,提高了测试方式的通用性。且大大减少了测试过程中人工成本,提高了测试效率。

Description

一种测试方法和相关装置
技术领域
本申请涉及数据处理领域,特别是涉及一种测试方法和相关装置。
背景技术
软件从研发开始就需要不断的进行测试,以通过测试确定软件运行期间可能出现的问题,性能参数是否合理等,从而可以通过测试结果调整、完善软件。
目前软件提供方主要的测试手段是召集用户进行测试,例如游戏软件可以通过向用户发放测试码、开放测试服务器等,通过召集一批用户玩游戏来确定可能的问题、所需的性能参数。
然而,这种方式的人工成本很高,耗时长,难以满足目前的测试需求。
发明内容
为了解决上述技术问题,本申请提供了一种测试方法和相关装置,提高了测试方式的通用性,以及提高了测试效率。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种测试方法,所述方法包括:
确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发。
另一方面,本申请实施例提供了一种测试装置,所述装置包括确定单元和测试单元:
所述确定单元,用于确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
所述测试单元,用于通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发。
另一方面,本申请实施例提供了一种测试设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述的测试方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述的测试方法。
由上述技术方案可以看出,针对待测软件的自动化测试需求可以确定用于测试的测试用例,该测试用例包括通过待测软件完成测试用例所对应的节点操作序列。节点操作序列用于标识实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。由于待测软件是通过软件引擎运行的,故在通过所述待测软件执行所述测试用例,进行对所述待测软件的测试的过程中,可以根据节点信息调用软件引擎所需的执行参数,并依据前述触发顺序,通过执行参数指示软件引擎在待测软件中模拟对节点的触发。从而可以通过上述调用执行参数的方式,便利的通过软件引擎实现对待测软件的自动化测试,且对于不同类型的待测软件均能适用,提高了测试方式的通用性。且大大减少了测试过程中人工成本,提高了测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种测试方法的应用场景示意图;
图2为本申请实施例提供的一种测试方法流程图;
图3为本申请实施例提供的一种测试用例回放流程图;
图4为本申请实施例提供的一种测试方法流程图;
图5为本申请实施例提供的一种自动化测试工具架构图;
图6为本申请实施例提供的一种开启小游戏的方法流程图;
图7为本申请实施例提供的一种小游戏开启界面示意图;
图8为本申请实施例提供的一种获取测试参数并展示的方法流程图;
图9为本申请实施例提供的一种测试装置结构图;
图10为本申请实施例提供的一种数据处理设备结构图;
图11为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前,针对软件的测试方式主要通过召集用户来进行。然而,这种方式的人工成本很高,耗时长,难以满足目前的测试需求。
为此,本申请实施例提供了一种测试方法,该方法通过自动化测试的方式,以减少测试过程中人工成本,并提高了测试效率。
首先,对本申请实施例的执行主体进行介绍。本申请提供的测试方法可以通过数据处理设备执行,该数据处理设备可以是终端设备。其中,该终端设备中可以部署有待测软件和对应的测试用例,终端设备可以通过执行本申请实施例提供的测试方法,实现对待测软件的测试。终端设备例如可以是智能手机、计算机、个人数字助理(Personal DigitalAssistant,PDA)、平板电脑、销售终端(Point of Sales,POS)、车载电脑等设备。
该数据处理设备可以是服务器,服务器中可以部署有测试用例,服务器可以通过执行本申请实施例提供的测试方法,为部署有待测软件(对应于测试用例)的终端设备提供测试服务。其中,服务器可以是独立的服务器,也可以是集群中的服务器。
为了便于理解本申请的技术方案,接下来以终端设备作为执行主体,并结合实际应用场景对本申请实施例提供的测试方法进行介绍。
参见图1,该图示出了本申请实施例提供的一种测试方法的应用场景示意图。如图1所示,该应用场景中包括终端设备101,该终端设备101中部署有待测软件和用于测试的测试用例。该终端设备可以通过自动化测试工具执行本申请实施例提供的测试方法,应用测试用例对该待测软件进行各类测试。
需要说明,本申请实施例中提及的待测软件是通过软件引擎运行的。其中,软件引擎可以是用于开发待测软件和支持待测软件运行的数据处理组件。也就是说,在用户通过操作使用待测软件的过程中,或者对待测软件的自动化测试过程中,通过软件引擎来响应或模拟用户操作生成对应的执行参数,并由对应节点的处理模块执行该执行参数以实现相应功能。本申请实施例中的软件引擎可以是游戏引擎。
还需说明,本申请实施例不限定待测软件的软件类型,只要是通过软件引擎开发、运行的软件即可。例如,该待测软件可以是应用(Application,APP)、小程序(MiniProgram)等。本申请实施例也不限定待测软件的内容类型,例如可以是办公类软件、游戏类软件等。
接下来以小游戏(一种游戏类的小程序,英文可以为Mini Game)作为待测软件为例,对本申请实施例提供的测试方式进行说明。其中,小游戏可以是一种基于平台开发,无需下载、安装即可使用的全新游戏类小程序,体现了“用完即走”的理念,可以充分节省用户的手机空间。小游戏无论是开发以及使用都相当轻便快捷,同时基于平台的社交属性让小游戏具备较强的社交传播力。
在本申请实施例中,终端设备101可以确定待测软件对应的测试用例。其中,该测试用例可以是通过依次操控待测软件中节点以完成相关测试需求而生成的。
该待测软件的节点可以为待测软件所涉及的各类可操控对象,例如软件控件等。在待测软件为游戏时,节点可以是游戏角色、非玩家角色(Non-Player Character,NPC)、虚拟控件、游戏物体(建筑、物品等)等游戏中各类可以被用户操控的对象。
该测试用例中包括通过待测软件完成测试用例所对应的节点操作序列,且该节点操作序列可以用于标识在实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。其中,节点的节点信息可以用于标识与触发该节点相关的信息。节点的触发顺序可以用于体现节点操作序列中所标识的各个节点被触发的先后顺序。
例如,参见图1,针对小游戏对应的测试用例,其中的节点操作序列可以用于标识所触发的节点1、2和3分别对应的节点信息1、2和3,以及用于标识节点1、2和3依次被触发的触发顺序。其中,节点1、2和3可以分别为“登陆游戏”控件、“角色B”(即游戏角色)和“进入游戏”控件,节点信息1、2和3可以分别用于标识点击“登陆游戏”控件的操作、点击“角色B”以选择角色的操作和点击“进入游戏”控件的操作。
在介绍完待测软件和测试用例的特点后,接下来介绍终端设备101如何通过自动化测试工具,结合待测软件的软件引擎,对待测软件进行测试用例的测试。
终端设备101可以通过待测软件执行测试用例,进行对待测软件的测试。在执行测试用例的过程中,可以根据测试用例中节点操作序列所标识的节点的触发顺序,依次指示软件引擎在待测软件中模拟对节点的触发,以进行测试。
由于待测软件是通过软件引擎运行的,在可以调用软件引擎在执行过程中所生成相关执行参数的前提下,可以根据节点的节点信息即与触发该节点相关的信息,调用该节点对应的执行参数。其中,节点对应的执行参数可以包括软件引擎指示该节点的处理模块执行实现相应功能所需的参数。从而,可以通过该执行参数指示软件引擎在待测软件中模拟对节点的触发。
例如,参见图1,在通过测试用例对待测软件进行测试的过程中,首先,可以根据节点操作序列中标识的节点信息1(对应于测试用例中第一个被触发的节点1),调用该节点1对应的与触发“登陆游戏”控件相关的执行参数1,并通过该执行参数1指示小游戏引擎在小游戏中模拟对节点1(即“登陆游戏”控件)的触发,实现在小游戏中完成登陆并跳转至角色选择的场景。
然后,按照节点操作序列中节点的触发顺序,并通过相同方式指示小游戏引擎在小游戏中依次模拟对节点2(即“角色B”)和节点3(即“进入游戏”控件)的触发,实现在小游戏中完成对游戏角色的选择,以及跳转至进入游戏场景。基于指示小游戏引擎模拟触发节点的方式相同,此处针对模拟触发节点2和节点3的方式不再进行赘述。
由此,该方法中,通过上述调用执行参数的方式,便利的通过软件引擎实现对待测软件的自动化测试,且对于不同类型的待测软件均能适用,提高了测试方式的通用性。且大大减少了测试过程中人工成本,提高了测试效率。
接下来,将以终端设备为执行主体,对本申请实施例提供的测试方法进行介绍。参见图2,该图示出了本申请实施例提供的一种测试方法流程图,所述方法可以包括:
S201:确定待测软件对应的测试用例。
本申请实施例提供的测试方法可以应用于部署各种系统的数据处理设备如终端设备中。如可以应用于部署安卓(Android)系统的终端设备以及部署苹果手机操作系统(Iphone Operation System,IOS)的终端设备中。
在本申请实施例中,终端设备中可以部署有待测软件和对应的测试用例。其中,待测软件可以通过软件引擎运行。软件引擎可以是用于开发待测软件和支持待测软件运行的数据处理组件。测试用例可以是通过依次操控待测软件中的节点以完成相关测试需求而生成的,具体生成方式在后续实施例中会详细说明。
在本申请实施例中,当终端设备接收到测试任务时,可以将任务中需要进行测试的软件确定为待测软件,并确定用于为待测软件进行测试的测试用例。
其中,该测试用例可以包括通过待测软件完成测试用例所对应的节点操作序列,该节点操作序列用于标识实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。节点的节点信息可以是与触发该节点相关的信息。
需要说明,本申请实施例不限定对待测软件进行测试的测试方面,可以根据测试任务中的测试需求,选择对应的测试用例来对待测软件进行测试。在一些场景中,当需要测试待测软件的性能情况时,可以确定用于测试待测软件性能的测试用例,若需要测试待测软件的漏洞(Bug)情况时,确定用于测试待测软件Bug的测试用例,以及还可以选择适合的测试用例测试待测软件的运行稳定性等等,不再赘述。
另外,终端设备不限定为待测软件确定的测试用例的数量,可以根据实际情况来确定。在一些场景中,为了提高测试的准确性和可靠性,可以为待测软件确定多个不同的测试用例。在一些场景中,为了缩短测试时间,提高测试效率,可以为待测软件确定一个测试用例,等等,不再赘述。
S202:通过所述待测软件执行所述测试用例,进行对所述待测软件的测试。
在本申请实施例中,在通过待测软件执行测试用例的过程中,可以依据测试用例中节点的触发顺序,依次指示软件引擎在待测软件中对测试用例中的各个节点进行模拟触发。
其中,基于待测软件通过软件引擎运行,由此可以根据每个节点的节点信息调用节点对应的执行参数,以通过执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发。该节点对应的执行参数包括了软件引擎指示该节点的处理模块执行实现相应功能所需的参数。
在本申请实施例中,为了尽可能保证终端设备可以根据测试用例中的节点信息在待测软件中准确查找到对应的节点,从而调用节点的执行参数以进行模拟触发。在一种可能的实现方式中,节点的节点信息可以包括节点的节点标识。其中,节点的节点标识可以用于区分待测软件中的节点,例如节点标识为节点名称。通过节点标识,利于在待测软件中准确查找节点。
节点的节点信息还可以包括节点位置,节点的节点位置可以用于体现节点在待测软件中的位置,通过节点的节点位置,可以对节点实现精确定位,从而利于准确查找出该节点。
另外,节点的节点信息还可以包括触发时间间隔,节点的触发时间间隔可以是在测试用例中触发该节点与触发其上一节点(测试用例中按照触发顺序在该节点前的前一个节点)间的时间间隔。在测试过程中通过按照触发时间间隔来进行节点的模拟触发,可以避免出现因不同设备对节点的加载时间的差异导致节点消失,进而影响测试效果的情况。
下面对节点信息进行举例说明,下述为测试用例中“Button_Enter”这一节点的节点信息。
“xpath”:[{“name”:“Button_Enter”,“index”:9},
{“name”:“TextRoot”,“index”:0},
{“name”:“InputRoot”,“index”:1},
{“name”:“Layer_Input”,“index”:4},
{“name”:“Root”,“index”:1},
{“name”:“UI_Chat”,“index”:0},
{“name”:“UINormal2Node”,“index”:0},],
“xpathType”:0,
“action”:“Click”,
“sleepTime”:17944
其中,该节点信息包括“Xpath”路径、
“Xpath”路径体现了该节点“Button_Enter”在待测软件中的节点标识和节点位置,其中的“name”为节点标识,“index”为节点在待测软件对应的节点树中在其父节点下的分支数即索引下标,且每行展示的节点为其上一行所展示节点的父节点。其中,待测软件的节点树可以是待测软件中以树形结构存储的节点,可以体现待测软件中节点间的关联关系,将在后续进行详细介绍。例如,以第一行展示的节点“Button_Enter”为例,其下一行展示的节点“TextRoot”为节点“Button_Enter”的父节点,且该节点“Button_Enter”属于其父节点“TextRoot”下的第9个分支。其它的节点也同上所述,此处不再赘述。也就是说,该“Xpath”路径记录了节点“Button_Enter”在待测软件中的一段关联关系。
该节点信息还包括“XpathType”,该“XpathType”用于标识“Xpath”路径的类型。在该示例中,“Xpath”路径的以“name+index”记录的方式对应于“XpathType”为0。通过在节点信息中添加“XpathType”,用于机器理解“Xpath”的读取方式。
该节点信息包括“action”,“action”可以是指用户的节点触发操作,即点击(Click)的触发操作。
节点信息还包括“sleeptime”,可以体现节点的触发时间间隔,该节点与上一节点的触发时间间隔未17.944s。
由上述技术方案可以看出,针对待测软件的自动化测试需求可以确定用于测试的测试用例,该测试用例包括通过待测软件完成测试用例所对应的节点操作序列。节点操作序列用于标识实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。由于待测软件是通过软件引擎运行的,故在通过所述待测软件执行所述测试用例,进行对所述待测软件的测试的过程中,可以根据节点信息调用软件引擎所需的执行参数,并依据前述触发顺序,通过执行参数指示软件引擎在待测软件中模拟对节点的触发。从而可以通过上述调用执行参数的方式,便利的通过软件引擎实现对待测软件的自动化测试,且对于不同类型的待测软件均能适用,提高了测试方式的通用性。且大大减少了测试过程中人工成本,提高了测试效率。
需要说明,本申请实施例不限定终端设备所确定的测试用例的得到方式,例如可以是由终端设备自身生成的,也可以是由其它设备向该终端设备提供的,等等。
接下来对终端设备生成测试用例的方法进行介绍,在一种可能的实现方式中,生成测试用例的方法可以包括:
S301:在通过待测软件执行测试用例生成任务的过程中,抓取所述软件引擎分发的事件派发函数。
其中,测试用例生成任务可以是指生成测试用例的任务。
可以理解的是,基于待测软件通过对应的软件引擎而运行。由此,在通过待测软件执行测试用例生成任务的过程中,基于此过程中会对待测软件中的节点进行相应触发操作,由此会产生对应于该节点的操作事件。其中,节点对应的操作事件可以用于标识针对该节点的触发操作以及与该触发的节点相关的信息。
然后,软件引擎可以基于节点对应的操作事件分发对应的事件派发函数,以使节点的处理模块根据该事件派发函数实现相应功能。其中,事件派发函数可以标识有操作事件所对应节点的节点信息,该节点的节点信息即为上述内容涉及的节点信息。
由此,在本申请实施例中,为了获取测试用例中所触发节点的节点信息,在执行测试用例生成任务的过程中,可以抓取软件引擎分发的事件派发函数。
S302:根据所述事件派发函数所标识节点的节点信息,构建所述节点操作序列。
在本申请实施例中,基于在测试用例生成任务的执行过程中会触发待测软件的多个节点,由此,可以通过依次抓取所触发的这些节点的事件派发函数,并根据这些事件派发函数所标识节点的节点信息,构建测试用例中的节点操作序列。
S303:根据所述节点操作序列生成所述测试用例。
从而基于节点操作序列生成待测软件的测试用例。
接下来以小游戏为例,对该S301-S303的方法进行介绍。
基于小游戏通常使用JavaScript、TypeScript的编程语言开发,然后编译成JavaScript来运行。由此,可以通过抓取JavaScript函数的方式生成测试用例。其中,可以把钩子(Hook)技术对应的代码注入到程序中。在测试用例生成任务的执行过程中,当用户通过“点击”(或“滑动”等)操作触发小游戏中的对应节点时,会在对应的节点上产生“Click”(或“Moveout”等)操作事件。针对游戏引擎,可以通过事件派发函数将此类事件分发出去。然后,可以通过Hook技术对游戏引擎分发的事件派发函数进行抓取。
其中,基于事件派发函数内包括操作事件以及操作事件所对应节点的节点信息。由此,可以基于所抓取的事件派发函数中的节点信息,构建节点操作序列。
在具体实现中,所构建的节点操作序列中节点的节点信息均可以如前述S202中的示例形式,即节点的节点信息中包括对应的Xpath路径、操作类型、操作时长、聊天框内容等。其中,生成节点的Xpath路径的方式为:在待测软件的节点中通过递归的方式记录该节点至其根节点的路径信息,该路径信息中主要包括每个节点的节点标识和节点在父节点的索引下标。
从而,通过节点操作序列生成用于测试待测软件的测试用例。
该方法基于待测软件通过软件引擎运行的特点,通过抓取事件派发函数的方式获得测试用例生成任务中所触发节点的节点信息,从而实现了测试用例的生成。
在实际场景中,待测软件通常可以提供聊天框,以供用户与使用该待测软件的其他用户进行聊天。另外,该聊天框还可以用于通过用户输入相应内容来控制待测软件实现相应功能。例如,在游戏软件中,玩家可以通过输入“角色转移至位置X”的内容,从而,游戏引擎进行响应,实现玩家角色的转移。
基于此,对待测软件进行通过输入内容控制待测软件实现相应功能的测试也十分必要,在测试用例生成任务执行的过程中,可以通过在输入框输入内容以控制待测软件实现相应功能。
然而,对于该种通过内容输入控制待测软件的情形,由于通常是通过终端设备原生的虚拟键盘来实现在聊天框输入内容的,即通过终端设备的系统引擎来实现内容输入,而不是由待测软件的软件引擎实现,由此导致软件引擎无法感知用户在该虚拟键盘中的触控动作,而只能检测到内容完成输入后的点击的发送按键(此为待测软件本身提供的虚拟按键)。
也就是说,当软件引擎检测到用户触发的此类可能涉及其它无法被感知操作(如用户此前在虚拟键盘的操作)的节点(发送按键)时,如果不确定基于这类节点所实际产生的输入内容,可能会对自动化测试的正常运行带来影响。故,在基于测试用例进行测试的过程中,需要能够识别出测试用例中的这类节点,并确定出该节点对应的输入内容,才能避免对测试效果造成影响。
为此,为使在测试过程中,自动化测试工具可以准确识别出这类可能涉及到其它无法被软件引擎感知操作的节点,在一种可能的实现方式中,可以通过在测试用例中节点的节点信息中添加节点类型这一特征,以用于识别节点是否与其它无法被软件引擎感知的操作相关。其中,设置节点的节点类型包括:与其它无法被软件引擎感知的操作相关,与其它无法被软件引擎感知的操作不相关。
另外,在测试过程中,在确定节点与其它无法被软件引擎感知的操作相关后,还需要确定该节点所对应的输入内容。
基于此,在执行测试用例生成任务的过程中,在一种可能的实现方式中,可以将基于内容输入事件分发的事件派发函数记为目标事件派发函数。其中,内容输入事件可以是基于用户在待测软件中输入内容时产生的操作事件。例如,在用户完成内容输入后点击发送按键时,可以产生对应的内容输入事件。
则,上述S302中构建节点操作序列的方法可以包括:
根据目标事件派发函数确定通过内容输入事件输入的内容信息。其中,内容信息可以是指所输入的内容。
在本申请实施例中,可以根据目标事件派发函数确定所对应触发的节点的节点类型,即确定节点是否与其它无法被软件引擎感知的操作相关,并将节点对应的节点类型添加至节点的节点信息中。另外,若确定所触发的节点与其它无法被软件引擎感知的操作相关,可以确定通过内容输入事件所输入的内容信息。其中,内容信息可以是指所输入的内容。
在具体实现中,确定输入的内容信息的方式可以是,忽略具体的键盘输入操作,通过软件引擎直接抓取在聊天框显示的内容信息。
然后,可以将内容信息添加到节点操作序列中针对该目标事件派发函数所标识节点的节点信息中。
基于前述“Button_Enter”节点的节点信息示例进行举例说明,假设该“Button_Enter”节点为用户输入内容后点击的发送按键,该按键即涉及有其它无法被游戏引擎感知的操作,则在该节点信息中可以添加“gm”:“/gm move 6100 6400”,该“gm”体现了该“Button_Enter”节点的节点类型为涉及有其它无法被游戏引擎感知的操作,且该节点对应的输入内容为“move 6100 6400”,即体现了将玩家角色移动至小游戏中坐标为(6100,6400)的位置。
通过该方式,使得所生成的测试用例中包括了节点的节点类型,以及包括了软件引擎无法感知的节点所对应输入的内容信息,从而便于后续在根据测试用例进行测试时,通过节点信息中的节点类型,可以确定节点是否可以被软件引擎感知,若无法感知,软件引擎可以直接在聊天框模拟显示节点信息中包括的内容信息,以实现自动化测试的顺利进行。
在实际场景中,随着待测软件版本的更新迭代,可能引起待测软件中的节点发生变化,例如,更新版本的软件中新增了一些节点,相比于上一版本减少了一些节点、调整了一些节点如调整节点位置等等。由此,导致测试用例中的节点可能与待测软件中的节点间产生差别,从而影响测试用例的测试能力。
基于此,在一种可能的实现方式中,可以将测试用例中节点操作序列所标识的任意一个节点作为目标节点。针对目标节点,在S202中根据节点信息调用对应的执行参数的方法,可以包括:
S401:根据所述目标节点的节点信息,确定所述目标节点相对于所述待测软件的正确性。若确定具有正确性,执行S402。
S402:调用所述目标节点的执行参数。
在本申请实施例中,在根据测试用例对目标节点进行模拟触发前,可以确定目标节点相对于需要测试的待测软件的正确性。其中,该正确性可以体现测试用例中的目标节点准确的存在于待测软件中。
若目标节点相对于待测软件具有正确性,可以表示测试用例中的目标节点还准确的存在于待测软件中。若不具有正确性,可以表示测试用例中的目标节点未准确的存在于待测软件中,例如待测软件中的该目标节点已被删除,导致在待测软件中不再存在该目标节点。
基于此,若确定具有正确性,则可以执行S402、即调用目标节点的执行参数,以在待测软件中对测试用例中的该目标节点进行模拟触发。
若确定不具有正确性,可以选择跳过测试用例中的该目标节点,并按照测试用例中节点的触发顺序,模拟触发该目标节点后的节点。
通过该种确定节点正确性的方式,无需要求测试用例与待测软件的完全一致,使得测试用例可以为后续进行版本更新的待测软件进行测试,延长了测试用例的使用寿命。
需要说明,本申请实施例不限定上述S401中根据目标节点的节点信息,确定目标节点相对于待测软件的正确性的方式,例如为了提高确定准确性,可以在确定待测软件中有节点具有与目标节点的节点信息中全部内容时,才确定目标节点相对于待测软件具有正确性。
另外,在一种可能的实现方式中,该S401的方法可以包括:
S501:根据所述目标节点的节点信息,在所述待测软件的节点树中查找得到第一待定节点。
其中,待测软件的节点树可以是一种以树结构形式存储待测软件中节点的方式,该节点树可以用于标识待测软件所包括的节点之间的关联关系,该关联关系包括各个节点与其父节点间的父关联关系以及与其子节点间的子关联关系。
由于目标节点的节点信息标识了与目标节点相关的信息,由此,可以通过目标节点的节点信息,在待测软件的节点树中查找。当在节点树中查找到节点可能为测试用例中的目标节点时,可以将其作为第一待定节点。其中,针对第一待定节点,可以是指在待测软件中查找出的与目标节点的节点信息中的部分内容相符合的节点。
S502:若所述第一待定节点的节点标识与所述目标节点的节点标识一致,确定所述目标节点相对于所述待测软件具有正确性。
接下来对S501-S502的方法进行举例说明。
终端设备中的自动化测试工具可以根据目标节点的节点信息中的Xpath路径(体现目标节点的节点位置),通过目标节点的索引下标在小游戏的节点树中按顺序查找出第一待定节点,并通过节点标识验证目标节点的正确性,即确定第一待定节点是否为目标节点。如果节点标识校验成功,即第一待定节点与目标节点的节点标识一致,可以确定小游戏中存在目标节点,即目标节点相对小游戏具有正确性。
基于目标节点的节点信息中包括目标节点的节点标识,且待测软件中的节点也具有对应的节点标识。由此,可以确定第一待定节点的节点标识与目标节点的节点标识是否一致,若一致,可以确定目标节点相对待测软件具有正确性。
该种通过校验节点标识来确定正确性的方式,有利于提高确定目标节点正确性的效率,进而提高待测软件的测试效率。
另外,在一种可能的实现方式中,若第一待定节点的节点标识与目标节点的节点标识不一致,所述方法还可以包括:
S503:确定所述节点树中是否有节点具有与所述目标节点相同的节点标识。
S504:若确定所述节点树中的第二待定节点具有与所述目标节点相同的节点标识,确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系。
在本申请实施例中,若第一待定节点的节点标识与目标节点的节点标识不一致,还可以直接确定待测软件的节点树中是否有节点具有与目标节点相同的节点标识。若确定有节点与目标节点具有相同的节点标识,可以将该节点作为第二待定节点,并确定目标节点的节点信息中是否标识有第二待定节点在节点树中具有的关联关系,即确定目标节点具有的关联关系与第二待定节点具有的关联关系是否相同。
其中,本申请实施例不限定确定目标节点与第二待定节点具有的关联关系是否相同的具体方式,可以确定它们的父关联关系(即节点与父节点的关联关系)是否相同,或者也可以确定它们的子关联关系(即节点与子节点的关联关系)是否相同,也可以是确定它们的父关联关系和子关联关系是否相同。
S505:若标识有所述第二待定节点在所述节点树中具有的关联关系,确定所述目标节点相对于所述待测软件具有正确性。
下面基于前述S501-S502中的示例,对该S503-S505的方法进行举例说明。
如果节点标识校验失败,即第一待定节点与目标节点的节点标识不一致。可以通过遍历的方式来查找与目标节点具有相同节点标识的节点,若查找到这样的节点,即为第二待定节点。对于第二待定节点和目标节点,可以进一步判断它们对应的子节点(即子关联关系)是否一致。如果一致,可以确定小游戏中存在目标节点,即目标节点相对小游戏具有正确性。
该方法在第一待定节点的节点标识与目标节点的节点标识不一致的情形下,并未直接认定待测软件中不具有目标节点,而是通过基于节点标识重新遍历查找可能为目标节点的第二待定节点,以继续进行校验,由此提高了目标节点正确性确定的准确性。
可以理解的是,待测软件中可能有多个节点均具有与目标节点相同的节点标识,而第二待定节点仅为这些节点中的一个。由此,在一种可能的实现方式中,若目标节点的节点信息中未标识第二待定节点在节点树中具有的关联关系,即第二待定节点具有的关联关系与目标节点具有的关联关系不相同,则,所述方法还可以包括:
S506:确定所述节点树中是否有节点具有与所述目标节点相同的节点标识。
S507:若确定所述节点树中的第三待定节点具有与所述目标节点相同的节点标识,将所述第三待定节点作为所述第二待定节点,并执行S504、确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系的步骤。
其中,针对第三待定节点,可以是待测软件中除第二待定节点外的具有与目标节点相同节点标识的节点。
下面基于前述S503-S505中的示例,对该S506-S507的方法进行举例说明。
如果验证第二待定节点和目标节点分别对应的子节点(即子关联关系)不一致,可以触发回溯机制,继续查找下一个与目标节点具有相同节点标识的节点。若查找到这样的节点,即为第三待定节点,并将第三待定节点作为第二待定节点,进行如上述对第二待定节点进行校验的方式。
该方法基于待测软件中可能包括多个具有相同节点标识的节点的特点,在确定第二待定节点仍不是测试用例中目标节点的情况下,通过重复在节点树中查找具有与目标节点相同节点标识的节点并进行校验,提高了目标节点正确性确定的准确性。
在实际场景中,随着待测软件版本的更新迭代,测试用例中的目标节点可能在待测软件中已经被删除或修改,即可能已经在待测软件中消失。而且,为防止出现如下情况,即因小游戏中节点加载时间的差异,导致测试过程中对某些节点未能及时模拟触发,进而导致自动化测试无法继续。在一种可能的实现方式中,所述方法还可以包括:
S508:若执行N次上述S504的步骤后,即在执行N次确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系之后,若未确定所述目标节点相对于所述待测软件具有正确性,跳过对所述目标节点的正确性确定。
其中,N为大于等于1的整数。
在本申请实施例中,若跳过对目标节点的正确性确定,即无法调用目标节点的执行参数以指示软件引擎进行模拟触发,也就是跳过了对目标节点在待测软件中的模拟触发。
在具体实现中,可以根据实际情况设置测试过程中允许跳过的节点数量阈值,例如,针对应用一个测试用例进行测试的过程中,可以设置允许跳过的节点数量阈值为1。
通过该种在多次执行查找目标节点失败后即结束查找并选择跳过的方式,避免了由于长时间重复验证一个节点而导致测试失败的情形,提高自动化测试工具的容错性。
接下来对上述S501-S508的方法进行举例说明。
参见图3,该图示出了本申请实施例提供的一种测试用例回放流程图。如图所示,该测试用例回放方法包括:
S601:回放测试用例。
S602:查找节点n。
其中,令节点n为测试用例中的目标节点。
S603:是否存在节点n。
在该示例中,可以确定小游戏中是否存在目标节点即节点n。确定是否存在节点n即为确定目标节点相对于待测软件的正确性。
若是,即确定存在节点n,则执行S604,若否,即确定不存在节点n,则执行S606。
S604:模拟触发节点n。
即对目标节点在小游戏中进行模拟触发。
S605:是否存在节点n+1。
按照节点操作序列中节点的触发顺序,确定测试用例是否还包括在目标节点即节点n后触发的节点n+1。
若是,令n=n+1,并执行S602,若否,执行S608。
S606:查找次数是否小于N。
基于终端设备(部署有进行测试的小游戏)的网络状况以及设备性能的区别,小游戏中的节点加载情况会有所不一样。如果未在小游戏中查找到节点n,可以设置N(例如N=10)的循环查找判断,以尽可能找到节点n。
若是,执行S607,若否,执行S602。
S607:是否已跳过节点n。
考虑到小游戏中的某个节点可能已经消失,从而导致节点n的查找失败。该示例中加入了跳过节点功能,若对节点n进行10次尝试查找操作均失败,可以允许跳过、忽略节点n。并对下一个节点n+1进行正确性验证。在具体实现中,设置最多允许连续一次跳过错误节点。
若是,执行S602,若否,执行S608。
S608:结束针对测试用例的测试。
在一种可能的实现方式中,S202中通过待测软件执行测试用例以对待测软件进行测试的方法,可以包括:
在依据测试用例中节点的触发顺序,通过最后一个节点的执行参数指示软件引擎在待测软件中模拟对节点的触发后,即完成通过测试用例对所述待测软件的测试。
例如如图3所示,在S604中完成针对节点n的模拟触发之后,在S605中可以按照测试用例中节点的触发顺序,确定测试用例中是否还存在在节点n后应模拟触发的节点。当确定测试用例中在节点n后不存在需要触发的节点n+1时,即该节点n为测试用例中的最后一个节点,在完成对其的模拟触发后,即完成了通过测试用例对所述待测软件的测试。
在实际场景中,在S201中可能为待测软件确定了多个测试用例。由此,在一种可能的实现方式中,所述方法还可以包括:若确定待测软件对应的测试用例包括多个,依次通过待测软件执行测试用例。
接下来进行举例说明,参见图4,该图示出了本申请实施例提供的一种测试方法流程图,所述方法包括:
S701:重置测试用例。
在该示例中,将分别以部署Android系统和部署IOS系统的终端设备作为执行测试方法的终端设备进行说明。为了方便描述,可以将部署Android系统的终端设备记为Android设备,将部署IOS系统的终端设备记为IOS设备。
在该示例中,可以将多个测试用例分别存储至IOS设备或Android设备的本地。针对IOS设备,由于IOS系统的封闭性,自动化测试工具可以将多个不同的测试用例封装到本地单独js文件中。对于Android设备,可以通过调试桥(Android Debug Bridge,ADB)指令,将多个测试用例直接推(push)到终端设备对应的文件夹中。其中,ADB可以是一种功能多样的命令行工具,用于与Android设备进行通信。
在自动化测试初始化阶段,可以重置(reset)测试用例。首先,可以将设备本地保存的测试用例索引位重置为0。在通过这些测试用例进行测试的过程中,在每次完成对一个测试用例的测试时,可以将该测试用例的索引位设置为+1。这样,可以确定本地的测试用例中索引位为0的测试用例是未运行过的测试用例,由此可以运行索引位为0的测试用例,从而实现依次运行测试用例。
S702:自动测试。
S703:回放测试用例。
其中,回放(Replay)测试用例即为通过测试用例对小游戏进行测试。通过调用js文件中的测试用例,实现不同测试用例的顺序自动化测试。
在完成通过测试用例进行的测试后,可以将该测试用例本地的索引位设置为+1。
S704:是否存在下一测试用例。
其中,可以按照测试用例的存储位置顺序,确定出在S703中的完成回放的测试用例后是否存在一个测试用例,并确定该测试用例索引位是否为0,若是,可以确定存在下一测试用例。
需要说明,当需要运行指定测试用例时,可以通过调整js文件中测试用例的顺序,或者通过在终端设备直接录制、回放来实现。
若是,执行S702,若否,执行S705。
S705:结束测试。
该方法通过多种测试用例进行测试,提高了测试用例的多样性,有利于提高测试的准确性和可靠性。
在本申请实施例中,在完成通过测试用例对待测软件的测试之后,所述方法还可以包括:获取测试对应的测试参数,并展示与上一次测试所对应测试参数的比对。
在具体实现中,可以根据实际需求获取需要的测试参数,如针对小游戏类软件而言,为了测试小游戏的性能,测试参数可以包括每秒传输帧数(Frames Per Second,FPS)、每分钟卡顿(Jank)次数、中央处理器(Central Processing Unit,CPU)占用率、图形处理器(Graphic Processing Unit,GPU)占用率、实际使用内存(Proportional Set Size,PSS)峰值、上行流量、下行流量和截图等。
在该示例中,自动化测试工具可以保存之前全部测试中获取的测试参数,还可以抓取本次测试过程中获取的测试参数。从而,可以基于此次应用的测试用例,查找出上一次通过该测试用例进行测试获取的测试参数。并将此次通过该测试用例获取的测试参数和上一次应用该测试用例获取的测试参数进行比对。
在进行测试参数比对的过程中,为了向测试人员或开发人员清晰的展示此次测试和上一次测试的测试结果,针对相比于上次测试在此次测试中数值有所增加的测试参数,可以在其单元格中添加“+”的标记和对应增加的数值,并将对应的单元格设置为突出的颜色如红色等,针对相比于上次测试在此次测试中数值有所减小的测试参数,可以在其单元格中添加“-”的标记和对应减少的数值,并将对应的单元格设置为另一种突出的颜色如绿色等。其中,单元格是Excel表格中行与列的交叉部分,它是组成表格的最小单位。
然后,可以将进行测试对比的Excel文件转换为超文本标记语言(Hyper TextMarkup Language,HTML)格式文件,形成测试报告。从而,通过邮件发送相关测试和开发人员。
参见下表1和表2,展示了为对4种终端设备(分别为IOS设备、IOS设备、Android设备和Android设备)中的一个小游戏进行测试的测试报告。其中的测试参数包括包括FPS、每分钟Jank次数、CPU占用率、GPU占用率、内存峰值、上行流量、下行流量、性能详情链接。
表1测试报告表
Figure BDA0002399747060000211
表2测试报告表
Figure BDA0002399747060000212
为使测试人员或开发人员更易关注两次测试中出现变化的测试参数,在该测试报告中,可以针对相比于上次测试在此次测试中数值有所增加或减少的测试参数,将对应的单元格的底色设置为适合的颜色,以提醒测试人员或开发人员查看。
可见,通过该种测试参数对比展示的方式,直观的向测试人员或开发人员展示测试结果,有助于测试人员或开发人员理解测试结果。
接下来,以大型多人在线(Massive Multiplayer Online,MMO)的角色扮演类小游戏作为待测软件为例,并结合实际应用场景对本申请实施例提供的测试方法进行介绍。
在该示例中,参见图5,该图示出了本申请实施例提供的一种自动化测试工具架构图,如图5所示,终端设备中的自动化测试工具中包括小游戏开启(Mini Game Tool)模块、测试用例录制回放(Replay)模块、测试参数采集(PerfdogService)模块和数据处理(DataProcess)模块。
接下来对应用自动化测试工具对MMO小游戏进行测试的方法进行介绍。
首先,可以通过自动化测试工具中的小游戏开启模块开启终端设备中的MMO小游戏。
参见图6,该图示出了本申请实施例提供的一种开启小游戏的方法流程图,如图6所示,小游戏开启模块开启终端设备中MMO小游戏的方法包括:
S801:唤醒设备。
小游戏开启模块在对IOS设备和Android设备测试MMO小游戏之前,需要唤醒对应设备。
S802:开启小游戏的平台。
其中,小游戏平台也可以是一个应用(Application,APP)。
由于IOS设备或Android设备拉起APP时需要分别使用Webdriveragent、Uiautomator。其中,Webdriveragent可以是一套开源IOS自动化测试框架,可以用于端对端的用户界面(User Interface,UI)测试,且能够同时支持模拟器和真机。Uiautomator可以是一种Android自动化测试框架,可以用于进行功能性测试,可以用于Android原生UI元素的测试,也可以跨进程操作。小游戏平台中的小游戏开启模块集成了这些工具。UI测试可以是基于用户游戏图形界面,并通过模拟用户动作实现界面操作(如点击、键盘输入等)的自动测试方法。
由此,可以根据小游戏平台对应的应用身份证标识号(Application IdentityDocument,APPID)并通过Webdriveragent开启IOS设备的平台,通过Uiautomator开启Android设备的平台。其中,APPID可以是应用程序软件的编号或证件号码。
S803:校验平台信息。
S804:开启小游戏。
在开启小游戏平台且完成平台相关信息校验之后,可以根据MMO小游戏的Appid并通过平台下行系统消息直接拉起MMO小游戏。
在通过小游戏开启模块开启终端设备中的MMO小游戏后,可以通过测试用例录制回放模块录制测试用例,以及根据录制的测试用例对MMO小游戏进行测试。
为了方便自动化测试工具对MMO小游戏的测试,可以在MMO小游戏的展示界面中添加相应的按钮,以使得自动化测试工具可以在进行自动化测试的过程中,通过在MMO小游戏的展示界面中触发对应的按钮,以执行对应的方法。
参见图7,该图示出了本申请实施例提供的一种小游戏开启界面示意图,如图7所示,在该示例中,在待测试的MMO小游戏开启界面中设置的按钮分别为,“开始录制”、“开始测试”、“重置(reset)”和“自动测试(autotest)”。
在该示例中,“开始录制”按钮可以用于录制即生成测试用例,自动化测试工具通过触发“开始录制”按钮,以使其中的测试用例录制回放模块开始运行,从而进行测试用例的录制。在完成录制后可以再次点击“开始录制”按钮以结束录制,从而可以得到测试用例并将其保存在MMO小游戏的临时目录下。
“开始测试”按钮可以用于根据测试用例进行测试即回放测试用例,通过触发“开始测试”按钮,以通过执行单个测试用例即测试用例回放进行测试。其中,测试用例录制回放模块可以读取存在MMO小游戏临时目录下的测试用例,按测试用例中节点的触发顺序来指示游戏引擎依次模拟玩家对游戏的操作,即对节点进行模拟触发,从而实现通过测试用例进行测试的目的。
另外,在自动化测试中应用多个不同测试用例进行测试的过程中,为了保证按顺序执行不同的测试用例,自动化测试工具可以通过触发“重置”按钮来对测试用例的索引位进行重置。
“自动测试”按钮可以用于控制多个测试用例按顺序依次执行,自动化测试工具通过触发“自动测试”按钮。
其中,针对通过测试用例录制和回放模块对测试用例的录制过程和测试过程,可以参见前述的测试用例生成方法和应用测试用例进行测试的方法,此处不再赘述。
需要说明,基于开发初期软件引擎的更新迭代较快,导致游戏界面中UI元素以及节点的变化比较频繁。由此,在通过测试用例进行测试的过程中,除了通过测试用例中Xpath所记录的节点位置来查找节点,以对节点进行模拟触发,还可以基于测试用例中的节点的截图,通过图像识别的方法来查找节点,以进行模拟触发。或者,可以结合Xpath和图像识别的方式,来减少版本更新迭代带来的节点信息和UI界面图像信息的变化。例如,当需要查找“自动测试”按钮以开启测试用例回放流程时,可以优先使用图像识别的方式查找,当查找失败时再通过节点查找的方式来查找“自动测试”按钮。
另外,在测试过程中,测试参数采集模块可以采集测试过程中的测试参数并进行展示。其中,可以基于性能采集模块应用的PerfdogService组件,该性能采集模块可以实现对IOS设备和Android设备分别进行准确的性能数据采集、统计和分类。
参见图8,该图示出了本申请实施例提供的一种获取测试参数并展示的方法流程图,所述方法可以包括:
S901:服务组件进行初始化。
其中,服务组件可以进行初始化,在初始化过程中,自动化测试的脚本可以通过网际互连协议(Internet Protocol,IP)地址和端口号连接到服务组件,并生成一个对应的Stub接口,通过Stub接口来与服务组件连接的IOS\Android系统的终端设备通信。其中,Stub可以是一种谷歌开源远程过程调用(Google Remote Procedure Call,GRPC)客户端的接口模块。GRPC是一个高性能、通用的开源远程过程调用(Remote Procedure Call,RPC)框架,主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf序列化协议开发,且支持众多开发语言。
S902:开始测试。
S903:回放测试用例。
其中,在开启测试后,可以通过触发MMO小游戏界面上的“开始测试”按钮开始回放测试用例,以进行测试。
S904:抓取IOS设备的测试参数。
在测试过程中,对于IOS设备,可以选择抓取MMO小游戏的相关测试参数。其中,基于系统版本的不同,对于IOS10和IOS11及以上系统的内存信息需要区别抓取。
S905:抓取Android设备的测试参数。
对于Android设备,可以自动选择MMO小游戏的对应子进程,抓取该子进程的相关测试参数。
S906:结束测试。
在测试用例回放结束后,可以结束测试。
S907:数据处理。
PerfdogService组件可以在本地和云上服务器以Excel文件的形式保存对应的测试参数。
在完成测试后,可以由数据处理模块对此次测试的测试参数进行处理,包括与上次测试的测试参数进行比对等,针对数据处理模块对测试参数的数据处理过程,可以参见前述的测试参数比对展示方法,此处不再赘述。
基于前述实施例提供的测试方法,本申请实施例提供了一种测试装置,该测试装置可以应用于数据处理设备中,如应用于终端设备或服务器等。参见图9,该图示出了本申请实施例提供的一种测试装置结构图,所述装置900包括确定单元901和测试单元902:
所述确定单元901,用于确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
所述测试单元902,用于通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发。
在一种可能的实现方式中,所述确定单元901,还具体用于:
在通过待测软件执行测试用例生成任务的过程中,抓取所述软件引擎分发的事件派发函数,所述事件派发函数标识所述测试用例生成任务的执行过程中,操作事件所对应节点的节点信息;
根据所述事件派发函数所标识节点的节点信息,构建所述节点操作序列;
根据所述节点操作序列生成所述测试用例。
在一种可能的实现方式中,所述确定单元901,还具体用于:
根据所述目标事件派发函数确定通过所述内容输入事件输入的内容信息,目标事件派发函数对应的操作事件为内容输入事件;
将所述内容信息添加到所述目标事件派发函数所标识节点的节点信息中。
在一种可能的实现方式中,所述测试单元902,具体用于:
目标节点为所述节点操作序列所标识的任意一个节点,针对所述目标节点,根据所述目标节点的节点信息,确定所述目标节点相对于所述待测软件的正确性;
若确定具有正确性,调用所述目标节点的执行参数。
在一种可能的实现方式中,所述测试单元902,具体用于:
根据所述目标节点的节点信息,在所述待测软件的节点树中查找得到第一待定节点,所述节点树用于标识所述待测软件所包括节点间的关联关系;
若所述第一待定节点的节点标识与所述目标节点的节点标识一致,确定所述目标节点相对于所述待测软件具有正确性。
在一种可能的实现方式中,所述测试单元902,具体用于:
若所述第一待定节点的节点标识与所述目标节点的节点标识不一致,确定所述节点树中是否有节点具有与所述目标节点相同的节点标识;
若确定所述节点树中的第二待定节点具有与所述目标节点相同的节点标识,确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系;
若标识有所述第二待定节点在所述节点树中具有的关联关系,确定所述目标节点相对于所述待测软件具有正确性。
在一种可能的实现方式中,所述测试单元902,具体用于:
若未标识所述第二待定节点在所述节点树中具有的关联关系,确定所述节点树中是否有节点具有与所述目标节点相同的节点标识;
若确定所述节点树中的第三待定节点具有与所述目标节点相同的节点标识,将所述第三待定节点作为所述第二待定节点,执行所述确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系的步骤。
在一种可能的实现方式中,所述测试单元902,具体用于:
若执行N次所述确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系后,未确定所述目标节点相对于所述待测软件具有正确性,跳过对所述目标节点的正确性确定。
在一种可能的实现方式中,所述节点操作序列中的所述节点信息包括所标识节点的节点标识、节点类型、节点位置和触发时间间隔。
在一种可能的实现方式中,所述测试单元902,具体用于:
若确定所述待测软件对应的测试用例包括多个,依次通过所述待测软件执行所述测试用例。
在一种可能的实现方式中,所述测试单元902,具体用于:
在依据所述触发顺序,通过最后一个节点的执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发后,完成通过所述测试用例对所述待测软件的测试。
在一种可能的实现方式中,所述测试单元902,具体用于:
在所述完成通过所述测试用例对所述待测软件的测试之后,获取所述测试对应的测试参数,并展示与上一次测试所对应测试参数的比对。
由上述技术方案可以看出,针对待测软件的自动化测试需求可以确定用于测试的测试用例,该测试用例包括通过待测软件完成测试用例所对应的节点操作序列。节点操作序列用于标识实施测试用例时,在待测软件中所触发节点的节点信息和节点的触发顺序。由于待测软件是通过软件引擎运行的,故在通过所述待测软件执行所述测试用例,进行对所述待测软件的测试的过程中,可以根据节点信息调用软件引擎所需的执行参数,并依据前述触发顺序,通过执行参数指示软件引擎在待测软件中模拟对节点的触发。从而可以通过上述调用执行参数的方式,便利的通过软件引擎实现对待测软件的自动化测试,且对于不同类型的待测软件均能适用,提高了测试方式的通用性。且大大减少了测试过程中人工成本,提高了测试效率。
本申请实施例还提供了一种测试设备,该测试设备即为上述提及的数据处理设备,下面结合附图对数据处理设备(测试设备)进行介绍。请参见图10所示,本申请实施例提供了一种数据处理设备结构图,该设备1000还可以是终端设备,以终端设备为手机为例:
图10示出的是与本申请实施例提供的手机的部分结构框图。参考图10,手机包括:射频(Radio Frequency,简称RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,简称WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division MultipleAccess,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器1080还具有以下功能:
确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发。
本申请实施例提供的数据处理设备可以是服务器,请参见图11所示,图11为本申请实施例提供的一种服务器的结构图,服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中的步骤也可以由服务器执行,该服务器可以基于该图11所示的服务器结构。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行前述各个实施例所述的方法。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (15)

1.一种测试方法,其特征在于,所述方法包括:
确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发,所述节点对应的执行参数包括所述软件引擎指示该节点的处理模块执行实现相应功能所需的参数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过待测软件执行测试用例生成任务的过程中,抓取所述软件引擎分发的事件派发函数,所述事件派发函数标识所述测试用例生成任务的执行过程中,操作事件所对应节点的节点信息;
根据所述事件派发函数所标识节点的节点信息,构建所述节点操作序列;
根据所述节点操作序列生成所述测试用例。
3.根据权利要求2所述的方法,其特征在于,目标事件派发函数对应的操作事件为内容输入事件,所述根据所述事件派发函数所标识节点的节点信息,构建所述节点操作序列,包括:
根据所述目标事件派发函数确定通过所述内容输入事件输入的内容信息;
将所述内容信息添加到所述目标事件派发函数所标识节点的节点信息中。
4.根据权利要求1所述的方法,其特征在于,目标节点为所述节点操作序列所标识的任意一个节点,针对所述目标节点,所述根据所述节点信息调用对应的执行参数,包括:
根据所述目标节点的节点信息,确定所述目标节点相对于所述待测软件的正确性;
若确定具有正确性,调用所述目标节点的执行参数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标节点的节点信息,确定所述目标节点相对于所述待测软件的正确性,包括:
根据所述目标节点的节点信息,在所述待测软件的节点树中查找得到第一待定节点,所述节点树用于标识所述待测软件所包括节点间的关联关系;
若所述第一待定节点的节点标识与所述目标节点的节点标识一致,确定所述目标节点相对于所述待测软件具有正确性。
6.根据权利要求5所述的方法,其特征在于,若所述第一待定节点的节点标识与所述目标节点的节点标识不一致,所述方法还包括:
确定所述节点树中是否有节点具有与所述目标节点相同的节点标识;
若确定所述节点树中的第二待定节点具有与所述目标节点相同的节点标识,确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系;
若标识有所述第二待定节点在所述节点树中具有的关联关系,确定所述目标节点相对于所述待测软件具有正确性。
7.根据权利要求6所述的方法,其特征在于,若未标识所述第二待定节点在所述节点树中具有的关联关系,所述方法还包括:
确定所述节点树中是否有节点具有与所述目标节点相同的节点标识;
若确定所述节点树中的第三待定节点具有与所述目标节点相同的节点标识,将所述第三待定节点作为所述第二待定节点,执行所述确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系的步骤。
8.根据权利要求7所述的方法,其特征在于,若执行N次所述确定所述目标节点的节点信息中是否标识有所述第二待定节点在所述节点树中具有的关联关系后,未确定所述目标节点相对于所述待测软件具有正确性,跳过对所述目标节点的正确性确定。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述节点操作序列中的所述节点信息包括所标识节点的节点标识、节点类型、节点位置和触发时间间隔。
10.根据权利要求1-8任意一项所述的方法,其特征在于,所述方法还包括:
若确定所述待测软件对应的测试用例包括多个,依次通过所述待测软件执行所述测试用例。
11.根据权利要求1-8任意一项所述的方法,其特征在于,所述通过所述待测软件执行所述测试用例,进行对所述待测软件的测试,包括:
在依据所述触发顺序,通过最后一个节点的执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发后,完成通过所述测试用例对所述待测软件的测试。
12.根据权利要求11所述的方法,其特征在于,在所述完成通过所述测试用例对所述待测软件的测试之后,所述方法还包括:
获取所述测试对应的测试参数,并展示与上一次测试所对应测试参数的比对。
13.一种测试装置,其特征在于,所述装置包括确定单元和测试单元:
所述确定单元,用于确定待测软件对应的测试用例;所述测试用例包括通过所述待测软件完成所述测试用例所对应的节点操作序列,所述节点操作序列用于标识实施所述测试用例时,在所述待测软件中所触发节点的节点信息和节点的触发顺序;所述待测软件通过软件引擎运行;
所述测试单元,用于通过所述待测软件执行所述测试用例,进行对所述待测软件的测试;
其中,在执行所述测试用例的过程中,根据所述节点信息调用节点对应的执行参数,依据所述触发顺序,通过所述执行参数指示所述软件引擎在所述待测软件中模拟对节点的触发,所述节点对应的执行参数包括所述软件引擎指示该节点的处理模块执行实现相应功能所需的参数。
14.一种测试设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-12任意一项所述的测试方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-12任意一项所述的测试方法。
CN202010143012.5A 2020-03-04 2020-03-04 一种测试方法和相关装置 Active CN111352844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010143012.5A CN111352844B (zh) 2020-03-04 2020-03-04 一种测试方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010143012.5A CN111352844B (zh) 2020-03-04 2020-03-04 一种测试方法和相关装置

Publications (2)

Publication Number Publication Date
CN111352844A CN111352844A (zh) 2020-06-30
CN111352844B true CN111352844B (zh) 2021-08-17

Family

ID=71192555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010143012.5A Active CN111352844B (zh) 2020-03-04 2020-03-04 一种测试方法和相关装置

Country Status (1)

Country Link
CN (1) CN111352844B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897724B (zh) * 2020-07-21 2022-12-06 国云科技股份有限公司 一种适用于云平台的自动化测试方法及装置
CN112597053B (zh) * 2020-12-30 2024-08-06 中国工商银行股份有限公司 设有安全控件的用户界面自动化测试方法及装置
CN112699047B (zh) * 2021-01-13 2023-08-25 腾讯科技(深圳)有限公司 一种应用测试方法、装置、计算机设备及存储介质
CN112765039B (zh) * 2021-02-03 2022-05-06 上海复深蓝软件股份有限公司 测试数据消费染色方法、装置、计算机设备及存储介质
CN112948259A (zh) * 2021-03-29 2021-06-11 深圳市广和通无线股份有限公司 一种应用测试方法、装置、电子设备及存储介质
CN113434353B (zh) * 2021-08-03 2024-06-25 联泰集群(北京)科技有限责任公司 一种服务器的测试方法、装置、电子设备和存储介质
CN116303101B (zh) * 2023-05-19 2023-08-15 建信金融科技有限责任公司 测试案例生成方法、装置和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365643B (zh) * 2012-03-30 2017-07-21 Ge医疗系统环球技术有限公司 一种自动生成图形用户界面的测试脚本的方法及装置
CN103713989B (zh) * 2012-09-29 2018-02-02 百度在线网络技术(北京)有限公司 一种针对用户终端的测试用例生成方法和装置
CN104536889A (zh) * 2014-12-26 2015-04-22 北京奇虎科技有限公司 用户界面测试的方法、用例管理平台、操作终端及系统
CN105740148B (zh) * 2016-01-29 2018-03-06 博雅网信(北京)科技有限公司 一种移动终端自动化测试的脚本引擎系统及测试方法
CN107807878B (zh) * 2016-09-09 2021-04-09 北京航空航天大学 基于关键字的通用测试资源驱动与执行管理方法
CN110110153A (zh) * 2018-01-24 2019-08-09 北京京东尚科信息技术有限公司 一种节点搜索的方法和装置
CN109582563B (zh) * 2018-10-26 2024-04-05 平安科技(深圳)有限公司 测试案例的测试方法、装置、计算机设备及存储介质
CN110147327B (zh) * 2019-05-23 2023-04-18 浙江传媒学院 一种基于多粒度的web自动化测试管理方法
CN110674047B (zh) * 2019-09-26 2023-06-27 北京字节跳动网络技术有限公司 软件测试方法、装置及电子设备

Also Published As

Publication number Publication date
CN111352844A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111352844B (zh) 一种测试方法和相关装置
CN106534941B (zh) 实现视频互动的方法和装置
CN111666222B (zh) 一种测试方法和相关装置
CN107943683B (zh) 一种测试脚本生成方法、装置、电子设备及存储介质
CN105260082B (zh) 一种测试数据展示方法及开发终端
CN109375907B (zh) 审核流程开发方法、业务审核方法、装置、设备及介质
CN112148579B (zh) 一种用户界面的测试方法和装置
CN107943685B (zh) 一种遍历路径生成方法、装置、服务器及存储介质
CN111078556B (zh) 应用测试方法及装置
CN109977013B (zh) 一种调试信息获取方法、系统及装置
CN111555938A (zh) 一种信息处理的方法以及相关装置
CN110069375A (zh) 一种压力测试的方法以及相关装置
CN112328492B (zh) 一种主播间的互动控制方法、装置和电子设备
CN106776301B (zh) 子元素测试方法及装置
CN112214405A (zh) 一种软件测试方法、装置、电子设备和可读存储介质
CN115904950A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN110347578B (zh) 一种应用的测试方法、装置及存储介质
CN110069407B (zh) 一种应用程序的功能测试方法和装置
CN113468069A (zh) 应用测试方法、装置、计算机设备及存储介质
CN108075945B (zh) 一种应用测试方法及装置
CN110750193B (zh) 一种基于人工智能的场景拓扑确定方法和装置
CN115328770A (zh) 应用程序的测试方法、装置、电子设备及存储介质
CN110633192B (zh) 测试方法、测试装置、终端设备及计算机可读存储介质
CN113012267A (zh) 一种特效动画的测试方法和相关装置
CN106341436A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024755

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant