CN111400166A - 一种实时通信业务测试方法、装置、系统及电子设备 - Google Patents
一种实时通信业务测试方法、装置、系统及电子设备 Download PDFInfo
- Publication number
- CN111400166A CN111400166A CN202010105731.8A CN202010105731A CN111400166A CN 111400166 A CN111400166 A CN 111400166A CN 202010105731 A CN202010105731 A CN 202010105731A CN 111400166 A CN111400166 A CN 111400166A
- Authority
- CN
- China
- Prior art keywords
- real
- time communication
- code
- communication service
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 259
- 238000012360 testing method Methods 0.000 title claims abstract description 215
- 230000006399 behavior Effects 0.000 claims abstract description 134
- 238000000034 method Methods 0.000 claims abstract description 96
- 238000011161 development Methods 0.000 claims abstract description 90
- 230000008569 process Effects 0.000 claims abstract description 54
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 230000003993 interaction Effects 0.000 claims description 25
- 230000001960 triggered effect Effects 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 description 31
- 230000006870 function Effects 0.000 description 15
- 230000006855 networking Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Telephonic Communication Services (AREA)
Abstract
本发明的实施例公开一种实时通信业务测试方法、装置、系统及电子设备,涉及计算机技术领域,能够解决现有的测试效率低、易出错且成本高的问题。所述方法应用于终端设备,包括:获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;根据测试代码在本终端设备上运行实时通信业务,在运行过程中自动触发实时通信操作行为并基于该操作行为与其它终端设备上运行的实时通信业务交互;当操作结果异常时,进行报错。本发明适用于对实时通信业务的测试,以避免上线后出现问题从而影响用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种实时通信业务测试方法、装置、系统及电子设备。
背景技术
目前,音视频RTC(Real-Time Communication,实时通信)SDK(SoftwareDevelopment Kit,软件开发工具包)被广泛应用于互动娱乐、远程会议、在线教育等相关应用。由于现有的RTC SDK往往会经常性地进行小规模的改版升级,若想要嵌入有RTC SDK的相关应用能够在终端设备上正常运行,则需要在改版升级之后发布之前对其音视频RTC业务功能进行稳定性、兼容性等测试,以避免上线后出现问题从而影响用户的使用体验。
通常情况下,是由多个测试人员分别安装相关应用,手动操作该应用,长时间进行实时的音视频RTC业务功能测试。该测试方式无法做到短时间内大量、持续的测试操作,且人力投入多、易出错。此外,另一种较为常用的测试方法是获取开源协议的工具,对其进行改造得到专门的测试工具,但随着RTC SDK功能的更新,现有的工具也要一直更新,并且开源协议的工具本身的稳定性较差,前期的维护成本较高。
发明内容
有鉴于此,本发明实施例提供一种实时通信业务测试方法、装置、系统及电子设备,以解决现有的测试效率低、易出错且成本高的问题。
第一方面,本发明实施例提供一种实时通信业务测试方法,应用于第一终端终端,包括:
获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;
根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,其中,在运行过程中,根据所述测试代码中的所述自动化代码自动触发所述实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互;
当操作结果异常时,进行报错。
根据本发明实施例的一种具体实现方式,
所述测试代码为具备实时通信业务功能的设定应用的开发代码,所述设定应用的开发代码嵌入有所述实时通信业务的开发代码和所述自动化代码;
根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,包括:
根据所述设定应用的开发代码,在所述第一终端设备上安装设定应用并启动运行;
在设定应用运行过程中,通过执行所述实时通信业务的开发代码,运行所述实时通信业务。
根据本发明实施例的一种具体实现方式,
所述第一终端设备和至少一个第二终端设备上的测试代码均相同,其中所述自动化代码包括所述实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码;
在运行过程中自动触发所述实时通信操作行为,包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:所述第一终端设备上运行的所述实时通信业务的用户角色对应的实时通信操作行为。
根据本发明实施例的一种具体实现方式,在根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务之前,所述方法还包括:
获取所述实时通信操作行为的行为参数信息;
按照获取到的行为参数信息,配置所述实时通信操作行为。
根据本发明实施例的一种具体实现方式,所述获取测试代码,包括:接收测试设备下发的测试代码;
在获取测试代码之后,根据所述测试代码中的所述开发代码在所述第一终端设备上运行所述实时通信业务之前,所述方法还包括:接收所述测试设备下发的启动测试命令。
根据本发明实施例的一种具体实现方式,
在获取测试代码之前,所述方法还包括:
获取预先配置的所述实时通信业务的至少一个人机交互场景,每个人机交互场景包括用户在所述实时通信业务运行过程中触发的操作行为序列;
获取预先生成的模拟的用户对所述实时通信业务的的操作行为的开发代码,利用该开发代码组合得到每个人机交互场景下的自动化代码。
根据本发明实施例的一种具体实现方式,所述当操作结果异常时,进行报错,包括:当操作结果异常时,生成报错信息上传至崩溃平台。
第二方面,本发明实施例提供一种实时通信业务测试装置,应用于第一终端设备,包括:
获取模块,用于获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;
运行模块,用于根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,其中,在运行过程中,根据所述测试代码中的所述自动化代码自动触发所述实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互;
报错模块,用于当操作结果异常时,进行报错。
根据本发明实施例的一种具体实现方式,所述测试代码为具备实时通信业务功能的设定应用的开发代码,所述设定应用的开发代码嵌入有所述实时通信业务的开发代码和所述自动化代码;
所述运行模块用于根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,具体包括:
根据所述设定应用的开发代码,在所述第一终端设备上安装设定应用并启动运行;
在设定应用运行过程中,通过执行所述实时通信业务的开发代码,运行所述实时通信业务。
根据本发明实施例的一种具体实现方式,所述第一终端设备和至少一个第二终端设备上的测试代码均相同,其中所述自动化代码包括所述实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码;
所述运行模块用于在运行过程中自动触发所述实时通信操作行为,具体包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:所述第一终端设备上运行的所述实时通信业务的用户角色对应的实时通信操作行为。
根据本发明实施例的一种具体实现方式,所述装置还包括配置模块,用于在所述运行模块根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务之前:
获取所述实时通信操作行为的行为参数信息;
按照获取到的行为参数信息,配置所述实时通信操作行为。
根据本发明实施例的一种具体实现方式,所述获取模块用于获取测试代码,具体包括:接收测试设备下发的测试代码;
所述装置还包括命令接收模块,用于在所述获取模块获取测试代码之后,所述运行模块根据所述测试代码中的所述开发代码在所述第一终端设备上运行所述实时通信业务之前,接收所述测试设备下发的启动测试命令。
根据本发明实施例的一种具体实现方式,所述装置还包括生成模块,用于在所述获取模块获取测试代码之前:
获取预先配置的所述实时通信业务的的至少一个人机交互场景,每个人机交互场景包括用户在所述实时通信业务运行过程中触发的操作行为序列;
获取预先生成的模拟的用户对所述实时通信业务的的操作行为的开发代码,利用该开发代码组合得到每个人机交互场景下的自动化代码。
根据本发明实施例的一种具体实现方式,所述报错模块用于当操作结果异常时进行报错,具体包括:当操作结果异常时,生成报错信息上传至崩溃平台。
第三方面,本发明实施例提供一种实时通信业务测试系统,包括:多个终端设备;当所述多个终端设备中的一个终端设备作为第一终端设备,包括前述任一实现方式所述的实时通信业务测试装置时,所述多个终端设备中的其它终端设备为所述至少一个第二终端设备。
第四方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的方法。
第五方面,本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一实施方式所述的方法。
本发明实施例提供的一种实时通信业务测试方法、装置、系统及电子设备,在实时通信业务开发代码的基础上增加了实时通信操作行为的自动化代码,通过在实时通信业务运行过程中执行自动化代码,自动模拟实现了运行过程中的人机交互场景,测试人员只需查看是否有相应的报错信息即可判断实时通信业务的功能是否正常,大大减少了测试成本,提高了测试效率和准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例一的实时通信业务测试方法的流程图;
图2为本发明的实施例二的实时通信业务测试方法的示意图;
图3为本发明的实施例三的实时通信业务测试方法的示意图;
图4为本发明实时通信业务测试装置实施例的结构示意图;
图5为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种实时通信业务测试方法,以克服现有技术中测试效率低、易出错且成本高的弊端。
图1为本发明实施例一的实时通信业务测试方法的流程示意图,如图1所示,本实施例应用于包含有多个终端设备的测试组网架构下对实时通信业务的测试场景,以避免因业务出现问题而影响用户使用体验。本实施例的方法可以由所述测试组网架构中的任一终端设备执行,具体的,执行的终端设备作为第一终端设备,包括如下步骤101-103。
步骤101、获取测试代码,该测试代码包括实时通信业务的开发代码和实时通信操作行为的自动化代码。
本实施例中,测试代码可以为具备实时通信业务功能的设定应用的开发代码,该开发代码嵌入有实时通信业务的开发代码和实时通信操作行为的自动化代码。其中,设定应用可以是诸如互动娱乐(例如互动直播)、视频会议、远程医疗、在线教育等之类的应用,典型的所述实时通信业务为语音通信或者音视频通信业务。该实施方式,复用接入有RTCSDK的设定应用的现有开发代码,在此基础上进行二次开发,不仅节省测试资源,而且使得整个自动化过程有较高的稳定性,可以一直专注于操作行为的自动化实现。当然,对于单独进行测试的仅具备实时通信业务功能的独立应用,其测试代码可以由实时通信业务的开发代码和实时通信操作行为的自动化代码组成。具体实施时,测试代码可以以安装包的形式,由测试设备主动下发给终端设备,也可以由测试人员手动从测试设备下载或者从外接存储设备拷贝。
在实施例中,实时通信操作行为即对实时通信业务的操作行为,可包括实时通信时的人机交互场景下用户的操作行为,例如互动直播应用运行时,房主用户创建虚拟房间、删除虚拟房间,观众用户搜索某房主的房间、进出房主的房间等操作行为。当然,还可以是保证实时通信业务能够正常运行的其它操作行为。并且,实时通信操作行为既要包括对实时通信业务的正常操作行为又要包括异常操作行为(比如切断与其它终端设备的网络连接,观众用户搜索未被创建的房间),凡是其所产生的结果在实时通信业务的测试范围内的操作行为均在本发明实施例的保护范围之内。所谓实时通信操作行为的自动化代码,即为自动模拟实时通信操作行为的代码。
步骤102、根据测试代码在第一终端设备上运行实时通信业务,在运行过程中自动触发实时通信操作行为并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互。其中,第二终端设备指的是测试组网架构中除第一终端设备之外的与第一终端设备进行实时通信业务交互的其它终端设备,其可以是一个、两个或多个。
本实施例中,测试代码为设定应用的开发代码,该开发代码中嵌入有实时通信业务的开发代码和自动化代码。设定应用运行时需要运行实时通信业务。相应的,本步骤具体包括:根据设定应用的开发代码,在第一终端设备上安装设定应用并启动运行;在设定应用运行过程中,通过执行实时通信业务的开发代码运行实时通信业务,通过执行测试代码中的自动化代码自动触发对设定应用的实时通信业务下的操作行为。当然,对于仅具备实时通信业务功能的独立应用,本步骤具体包括:根据测试代码安装独立应用并启动运行;在独立应用运行过程中,通过执行测试代码中的自动化代码,自动触发实时通信操作行为。
说明一点,运行有实时通信业务的终端设备间通过实时通信服务器间接的连接在一起,当然也可以是彼此直接互联,本实施例对此不作具体限定。本发明实施例中根据测试代码安装的应用均是专门用于测试的特殊应用,其不同于现有的供用户使用的普通应用。该特殊应用的启动、运行与否,均不会影响其它普通应用启动、运行和使用。
步骤103、当操作结果异常时,进行报错。
在本实施例中,当第一终端设备上运行的实时通信业务在实时通信操作行为的操控下实时通信异常时,产生报错信息,具体的可采用现有技术中的任意一种操作结果异常检测和报错生成机制实现。之后,可以将报错信息存储在本地,定期主动向测试设备上报,或者在收到测试设备的报错获取请求后将存储的报错信息返回给测试设备。优选的,将报错信息上传至崩溃平台,这样测试设备可以按照待测应用启动时间访问崩溃平台查看报错信息,或者测试人员直接操作崩溃平台查看报错信息。该优选方式,复用现有的终端设备对运行应用向崩溃平台的报错机制,只要从崩溃平台查询即可,无需对终端设备作出改进,使其具备识别并响应报错请求的功能。
本实施例提供的技术方案,在实时通信业务的开发代码的基础上增加了实时通信操作行为的自动化代码,自动模拟业务运行过程中的人机交互场景,进而据此实现多台终端设备实时通信,完成终端用户间的互动,测试人员只需查看是否有报错信息即可判断测试结果,不仅测试成本低,还能很好的提高测试的效率和准确性。
实施例二
图2为本发明实施例二的实时通信业务测试方法的流程图,如图2所示,本实施例的方法以上述实施例一为基础对获取的自动化代码及相应的运行过程进行了优化,可以由测试组网架构中的任一终端设备执行,具体的,执行的终端设备作为第一终端设备,包括如下步骤201-203。
步骤201、获取测试代码,该测试代码包括实时通信业务的开发代码和模拟实现了包含有如下操作行为的自动化代码:实时通信业务的不同用户角色类型对应的实时通信操作行为。
在本实施例中,实时通信业务包含有多种类型的用户角色,例如,用户角色类型包括房主和观众。测试组网架构中的每个终端设备的实时通信业务的用户角色为多种类型中的一种。不同类型用户角色对应的实时通信操作行为不同。
具体实施时,测试组网架构中的各终端设备上的测试代码相同,均包含了实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码。当然,需要说明的是,在本发明其它实施例中,自动化代码还可以是仅包含有与第一终端设备的实时通信业务的用户角色对应的实时通信操作行为的自动化代码,该方式需预先获知角色类型。
步骤202、根据测试代码在第一终端设备上运行实时通信业务,在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:第一终端设备上运行的实时通信业务的用户角色对应的实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互。
本实施例中,在获取到测试代码后,确定第一终端设备的实时通信业务的用户角色,进而调用自动化代码中该确定角色对应的实时通信操作行为的自动化代码执行。其中,角色的确定可通过配置角色参数得到。示例性的,初始化时该角色参数为缺省配置,默认为一种固定的用户角色,在实时通信业务运行之前,可根据参与测试的终端设备个数、角色类型总数以及业务需求,灵活修改角色参数配置值来更换角色。优选的,参与测试的所有终端设备的实时通信业务的用户角色应能够完全覆盖所有类型,例如共有3种类型的用户角色,10台终端设备,其中至少有1台终端设备的实时通信业务的用户角色为第1种类型的用户角色,至少有1台终端设备的实时通信业务的用户角色为第2种类型的用户角色,至少有1台终端设备的实时通信业务的用户角色为第3种类型的用户角色。
在本发明实施例中,在第一终端设备上自动触发了实时通信操作行为后,基于该操作行为与测试组网架构中第二终端设备上运行的实时通信业务交互时,其交互过程属于现有技术,在此不再赘述。并且,具体的交互对象:第二终端设备,也是由实时通信业务的现有的业务逻辑决定。可选的,交互对象随着第一终端设备上的实时通信业务的用户角色的不同而不同。例如,互动直播应用中的音视频实时通信业务,房主这一用户角色的互动对象为各位观众,所以房主所对应的终端设备作为第一终端设备时,其交互对象为房主的所有观众所对应的各终端设备,而观众这一用户角色的互动对象为房主,所以观众所对应的终端设备作为第一终端设备时,其交互对象为房主所对应的终端设备。
步骤203、当操作结果异常时,进行报错。
本实施例中,报错的过程和上述方法实施例一的步骤103类似,此处不再赘述。
本实施例提供的技术方案,可使得测试人员共开发一套测试代码,测试的各终端设备共用该套测试代码,在运行测试代码时通过调用其中适应自己角色类型的自动化代码,完成实时通信业务的测试。如此,相较于分别设计对应于不同实时通信业务角色类型的测试代码,分设备安装,本实施例能够简化测试操作,降低测试的复杂度。
实施例三
图3为本发明实施例三的实时通信业务测试方法的流程图,如图3所示,本实施例的方法以上述实施例一、实施例二为基础提供一种更智能化的测试方法,具体可以由测试组网架构中的任一终端设备执行,具体的,执行的终端设备作为第一终端设备,包括如下步骤301-304。
步骤301、接收测试设备下发的测试代码。
步骤302、接收测试设备下发的启动测试命令。
在本实施例中,实时通信业务测试组网架构中除了各终端设备之外,还部署有测试设备,由测试设备控制参与测试的各终端设备的测试过程。测试设备与各终端设备可以通过有线连接或无线连接的方式进行交互,对此不作具体限定。典型的,终端设备为移动终端,测试设备与移动终端通过USB(Universal Serial Bus,通用串行总线)接口有线连接,移动终端操作系统为安卓操作系统时,测试设备可通过ADB(Android Debug Bridge,安卓调试桥)这样一种命令行工具与移动终端进行通信,实现对移动终端的测试控制,包括下发测试代码和启动测试命令。在确认参与测试的实时通信的各终端设备均收到测试代码后,测试设备可同时向各终端设备发出启动测试命令。特别的,若对各终端设备的实时通信业务的启动运行有先后顺序和时间间隔有要求,则可按照该要求向各终端设备发出启动测试命令。
优选的,本实施例提供的方法还包括:测试代码接收成功后,向测试设备回传接收成功指示消息。之后,接收到测试设备下发的启动测试命令后,执行步骤303。
步骤303、根据测试代码在第一终端设备上运行实时通信业务,在运行过程中自动触发实时通信操作行为并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互。
步骤304、当操作结果异常时,进行报错。
本实施例提供的技术方案,由测试设备代替人工控制各终端设备上实时通信业务的测试过,使得测试更加的智能化,节省人力投入,降低出错风险。
可选的,在获取测试代码之前,本实施例提供的方法还包括如下步骤:
获取预先配置的实时通信业务的至少一个人机交互场景,每个人机交互场景包括用户在实时通信业务运行过程中触发的操作行为序列;
获取预先生成的模拟的用户对实时通信业务的的操作行为的开发代码,利用该开发代码组合得到每个人机交互场景下的自动化代码。
当然,该可选步骤除了是本实施例方法的执行主体第一终端设备执行之外,还可以是测试设备执行,测试设备据此得到完整的测试代码下发给第一终端设备。
需要说明的是,为保证测试的全面性和准确性,配置的人机交互场景应尽可能多地覆盖用户在实时通信业务实际运行过程中所可能发生的各种情况。该可选方式按照用户的配置组合各种操作行为的开发代码,得到各不相同的人机交互场景下的自动化代码,相较于固定设置自动化代码的方式,其可以使得自动化实现更加的灵活、全面。
可选的,在根据测试代码在第一终端设备上运行实时通信业务之前,本实施例提供的方法还包括如下步骤:获取实时通信操作行为的行为参数信息;按照获取到的行为参数信息,配置实时通信操作行为。在本步骤中,行为参数信息用于描述实时通信操作行为的属性信息,通过设置该参数信息,实现对实时通信操作行为的触发频率、次数、执行时长等属性的控制。该可选方式能够使得测试人员根据具体的测试需求和测试场景感适应性调整测试过程,保证测试结果更准确、有效。示例性的,接收用户输入的对实时通信操作行为的行为参数的配置,将该配置写入实时通信操作行为的自动化代码。
下面采用一个具体的实施例,对图1~图3中任一个所示方法实施例的技术方案进行详细说明。
本实施例的适用场景是对互动直播应用中音视频实时通信业务的测试。当然,对其它应用中的实时通信业务的测试,也可参考本实施例。具体的,本实施例提供的实时通信业务测试方法包括如下步骤。
步骤401、测试设备判断互动直播应用的开发代码中是否嵌入有最新的音视频实时通信业务的开发代码;如果是,则执行步骤403,否则执行步骤402。
本实施例中,音视频实时通信业务的开发代码可以是全新开发的或者是在原来版本基础上更新的。音视频实时通信操作行为的自动化代码包括音视频实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码。
典型的,角色类型分为房主和观众,房主对应的音视频实时通信操作行为包括:周期性创建虚拟房间,自虚拟房间创建成功后等待若干时间删除所创建的虚拟房间;观众对应的实时通信操作行为包括:周期性搜索虚拟房间,进入搜索到的虚拟房间,等待若干时间后退出之前进入的虚拟房间。其中,虚拟房间的创建周期、存活时长、搜索周期、观众驻留时长均为音视频实时通信操作行为参数。示例性的,互动直播应用的音视频实时通信业务的角色类型均默认配置为观众。
步骤402、测试设备获取最新的音视频实时通信业务的开发代码,嵌入在互动直播应用的开发代码中。执行步骤403。
步骤403、测试设备获取音视频实时通信操作行为的自动化代码,嵌入在互动直播应用的开发代码中。
在本步骤中,对音视频实时通信业务的开发代码以及自动化代码的嵌入方式和嵌入位置均不作具体限定,只要能够保证这些代码后续可被正常调用且不影响互动直播应用开发代码中的其它代码执行即可。
步骤404、测试设备建立与参与测试的多个终端设备的通信连接。
在本步骤中,测试设备优选为PC机,终端设备优选为移动终端。测试设备与各移动终端通过USB接口有线连接,各移动终端的系统设置中启用USB调试(位于开发者选项下)。各移动终端机型相同,操作系统为相同版本的安卓操作系统,也可以是部分相同版本或者完全不同版本的安卓操作系统。测试设备基于所述有线连接通过ADB(Android DebugBridge,安卓调试桥)工具与各移动终端通信。当然,各移动终端还可以是相同版本操作系统下的不同机型的设备。说明一点,步骤404与上述步骤401-403的执行顺序并无先后之分,本实施例给出的仅是其中一种具体示例。
步骤405、测试设备将嵌入有音视频实时通信业务开发代码和音视频实时通信操作行为的自动化代码的互动直播应用开发代码发送给各终端设备。
步骤406、各终端设备接收用户输入的对自动化代码中音视频实时通信操作行为参数的配置,将该配置写入音视频实时通信操作行为的自动化代码。
具体的,用户可任选其中一台终端设备,将其音视频实时通信业务的用户角色配置修改为房主。后续,每个终端设备配置的实时通信操作行为参数仅是设备自己的音视频实时通信业务的用户角色对应的实时通信操作行为参数。
步骤407、测试设备控制各终端设备同时根据互动直播应用开发代码安装互动直播应用,并启动运行互动直播应用。
步骤408、各终端设备运行互动直播应用中的音视频实时通信业务,在运行过程中自动触发音视频实时通信操作行为并基于该操作行为与参与测试的其它终端设备上运行的音视频实时通信业务交互。
具体的,自动触发实时音视频通信操作行为,包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:本终端设备上运行的音视频实时通信业务的用户角色对应的音视频实时通信操作行为。
步骤409、测试设备查看各终端设备向崩溃平台上报的操作结果异常时的报错信息。
可选的,本实施例提供的方案还包括如下步骤。若根据查看结果判断出各终端设备无异常(没有报错信息)或通过率满足预设的达标条件(例如各终端设备的报错信息条数均不高于预设的告警阈值且均不存在预设的属于严重级的报错信息),则结束流程。否则,则执行步骤410。
步骤410、测试设备进行测试结果的异常告警。
步骤411、测试设备输出各终端设备向崩溃平台上报的报错信息。
步骤412、测试设备接收基于所述输出结果修改更新后的音视频实时通信业务的开发代码,删除互动直播应用开发代码中嵌入的音视频实时通信业务的开发代码。返回步骤401继续执行。
音视频RTC-SDK接入到互动直播应用中后应用即可进行实时语音或视频,这些行为常常要在同一个房间(虚拟)内进行,为了达到多台终端设备的互动直播应用可以共同进入同一个房间(虚拟)内完成实时的语音与视频,本实施例提供的方案对现有的已经接入RTC-SDK并完全商业化上线的成熟互动直播应用进行业务逻辑的改造,在源码中加入自动化底层人机交互事件逻辑,并提供可配置项供使用人员修改操作行为参数,安装有改造后的互动直播应用的任意一台终端设备可以配置作为音视频房间的创建者,而其他终端设备上的互动直播应用则可自行配置作为观众,相当于同一个互动直播应用搭配不同的配置,就可以将整个音视频自动化过程自动化,互动直播应用启动后全程无需人员干涉,互动直播应用可以长时间反复进行房间的建立,观众的加入,以达到模拟多人使用终端设备进行RTC-SDK音视频功能稳定性的验证。
本实施例提供的技术方案,使用已经商业化的互动直播应用进行了自动化改造,商品化应用自身的稳定性已经得到用户检验,这样自动化过程就可以保证稳定性与兼容性,整个自动化改造的维护又与现有异常平台相结合,用最少投入就可以达到最高的效益。
图4为本发明实时通信业务测试装置实施例的结构示意图,如图4所示,本实施例的装置应用于第一终端设备,可以包括:
获取模块41,用于获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;
运行模块42,用于根据测试代码中的开发代码,在第一终端设备上运行实时通信业务,其中,在运行过程中,根据测试代码中的所述自动化代码自动触发实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互;
报错模块43,用于当操作结果异常时,进行报错。
可选的,所述测试代码为具备实时通信业务功能的设定应用的开发代码,该开发代码嵌入有实时通信业务的开发代码和所述自动化代码;
所述运行模块42用于根据测试代码中的所述开发代码,在第一终端设备上运行实时通信业务,具体包括:根据设定应用的开发代码,在第一终端设备上安装设定应用并启动运行;在设定应用运行过程中,通过执行实时通信业务的开发代码,运行实时通信业务。
可选的,第一终端设备和至少一个第二终端设备上的测试代码均相同,其中所述自动化代码包括实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码;所述运行模块42用于在运行过程中自动触发实时通信操作行为,具体包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:第一终端设备上运行的实时通信业务的用户角色对应的实时通信操作行为。
可选的,所述装置还包括配置模块44,用于在所述运行模块42根据测试代码中的所述开发代码在第一终端设备上运行实时通信业务之前:
获取实时通信操作行为的行为参数信息;
按照获取到的行为参数信息,配置实时通信操作行为。
可选的,所述获取模块41用于获取测试代码,具体包括:接收测试设备下发的测试代码;
所述装置还包括命令接收模块45,用于在所述获取模块41获取测试代码之后,所述运行模块42根据所述测试代码中的所述开发代码在所述第一终端设备上运行所述实时通信业务之前,接收测试设备下发的启动测试命令。
可选的,所述装置还包括生成模块40,用于在所述获取模块41获取测试代码之前:
获取预先配置的实时通信业务的的至少一个人机交互场景,每个人机交互场景包括用户在实时通信业务运行过程中触发的操作行为序列;
获取预先生成的模拟的用户对实时通信业务的的操作行为的开发代码,利用该开发代码组合得到每个人机交互场景下的自动化代码。
可选的,所述报错模块43用于当操作结果异常时进行报错,具体包括:当操作结果异常时,生成报错信息上传至崩溃平台。
本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种实时通信业务测试系统,该系统包括多个终端设备,其中当所述多个终端设备中的一个终端设备作为第一终端设备,包括前述的实时通信业务测试装置时,所述多个终端设备中的其它终端设备为所述至少一个第二终端设备。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图5所示,上述电子设备可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的实时通信业务的测试方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
此外,本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一实施例提供的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将
一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些
实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种实时通信业务测试方法,其特征在于,应用于第一终端设备,所述方法包括:
获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;
根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,其中,在运行过程中,根据所述测试代码中的所述自动化代码自动触发所述实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互;
当操作结果异常时,进行报错。
2.根据权利要求1所述的方法,其特征在于,所述测试代码为具备实时通信业务功能的设定应用的开发代码,所述设定应用的开发代码嵌入有所述实时通信业务的开发代码和所述自动化代码;
根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,包括:
根据所述设定应用的开发代码,在所述第一终端设备上安装设定应用并启动运行;
在设定应用运行过程中,通过执行所述实时通信业务的开发代码,运行所述实时通信业务。
3.根据权利要求1所述的方法,其特征在于,所述第一终端设备和至少一个第二终端设备上的测试代码均相同,其中所述自动化代码包括所述实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码;
在运行过程中自动触发所述实时通信操作行为,包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:所述第一终端设备上运行的所述实时通信业务的用户角色对应的实时通信操作行为。
4.根据权利要求1所述的方法,其特征在于,在根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务之前,所述方法还包括:
获取所述实时通信操作行为的行为参数信息;
按照获取到的行为参数信息,配置所述实时通信操作行为。
5.根据权利要求1所述的方法,其特征在于,所述获取测试代码,包括:接收测试设备下发的测试代码;
在获取测试代码之后,根据所述测试代码中的所述开发代码在所述第一终端设备上运行所述实时通信业务之前,所述方法还包括:接收所述测试设备下发的启动测试命令。
6.根据权利要求1所述的方法,其特征在于,在获取测试代码之前,所述方法还包括:
获取预先配置的所述实时通信业务的至少一个人机交互场景,每个人机交互场景包括用户在所述实时通信业务运行过程中触发的操作行为序列;
获取预先生成的模拟的用户对所述实时通信业务的的操作行为的开发代码,利用该开发代码组合得到每个人机交互场景下的自动化代码。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述当操作结果异常时,进行报错,包括:当操作结果异常时,生成报错信息上传至崩溃平台。
8.一种实时通信业务测试装置,其特征在于,应用于第一终端设备,所述装置包括:
获取模块,用于获取测试代码,其中所述测试代码包括:实时通信业务的开发代码和实时通信操作行为的自动化代码;
运行模块,用于根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,其中,在运行过程中,根据所述测试代码中的所述自动化代码自动触发所述实时通信操作行为,并基于该操作行为与至少一个第二终端设备上运行的实时通信业务交互;
报错模块,用于当操作结果异常时,进行报错。
9.根据权利要求8所述的装置,其特征在于,所述测试代码为具备实时通信业务功能的设定应用的开发代码,所述设定应用的开发代码嵌入有所述实时通信业务的开发代码和所述自动化代码;
所述运行模块用于根据所述测试代码中的所述开发代码,在所述第一终端设备上运行所述实时通信业务,具体包括:
根据所述设定应用的开发代码,在所述第一终端设备上安装设定应用并启动运行;
在设定应用运行过程中,通过执行所述实时通信业务的开发代码,运行所述实时通信业务。
10.根据权利要求8所述的装置,其特征在于,所述第一终端设备和至少一个第二终端设备上的测试代码均相同,其中所述自动化代码包括所述实时通信业务的不同用户角色类型对应的实时通信操作行为的自动化代码;
所述运行模块用于在运行过程中自动触发所述实时通信操作行为,具体包括在运行过程中调用如下操作行为的自动化代码,以自动触发如下操作行为:所述第一终端设备上运行的所述实时通信业务的用户角色对应的实时通信操作行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105731.8A CN111400166A (zh) | 2020-02-20 | 2020-02-20 | 一种实时通信业务测试方法、装置、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105731.8A CN111400166A (zh) | 2020-02-20 | 2020-02-20 | 一种实时通信业务测试方法、装置、系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111400166A true CN111400166A (zh) | 2020-07-10 |
Family
ID=71430365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010105731.8A Pending CN111400166A (zh) | 2020-02-20 | 2020-02-20 | 一种实时通信业务测试方法、装置、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400166A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157560A (zh) * | 2021-03-12 | 2021-07-23 | 海能达通信股份有限公司 | 业务自动测试方法及相关模型的训练方法和装置、设备 |
CN115776456A (zh) * | 2022-11-28 | 2023-03-10 | 重庆长安汽车股份有限公司 | 通信协议测试方法、装置、测试设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281518A (zh) * | 2013-07-02 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 终端应用测试方法、装置、系统、平台及移动终端 |
WO2017067441A1 (zh) * | 2015-10-19 | 2017-04-27 | 广州爱九游信息技术有限公司 | 一种应用的测试方法、装置、系统以及非暂时性机器可读存储介质 |
CN107391359A (zh) * | 2016-05-17 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种业务测试方法及装置 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
-
2020
- 2020-02-20 CN CN202010105731.8A patent/CN111400166A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281518A (zh) * | 2013-07-02 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 终端应用测试方法、装置、系统、平台及移动终端 |
WO2017067441A1 (zh) * | 2015-10-19 | 2017-04-27 | 广州爱九游信息技术有限公司 | 一种应用的测试方法、装置、系统以及非暂时性机器可读存储介质 |
CN107391359A (zh) * | 2016-05-17 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 一种业务测试方法及装置 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157560A (zh) * | 2021-03-12 | 2021-07-23 | 海能达通信股份有限公司 | 业务自动测试方法及相关模型的训练方法和装置、设备 |
CN113157560B (zh) * | 2021-03-12 | 2024-03-15 | 海能达通信股份有限公司 | 业务自动测试方法及相关模型的训练方法和装置、设备 |
CN115776456A (zh) * | 2022-11-28 | 2023-03-10 | 重庆长安汽车股份有限公司 | 通信协议测试方法、装置、测试设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781085B (zh) | 一种游戏自动化测试方法、装置、终端和计算机存储介质 | |
US10698797B2 (en) | Mobile application program testing method, server, terminal, and storage medium | |
CN113498594B (zh) | 智能家居系统的控制方法、装置、电子设备及存储介质 | |
CN104765678A (zh) | 对移动终端设备上的应用进行测试的方法及装置 | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
CN103634592A (zh) | 智能电视自动化测试方法及系统 | |
CN112214405B (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN105468393A (zh) | 模块版本升级方法及终端装置 | |
CN111625381A (zh) | 应用程序的运行场景复现方法、装置、设备及存储介质 | |
CN110928625A (zh) | 应用程序的运行控制方法、装置、电子设备及存储介质 | |
CN110119350A (zh) | 软件开发工具包测试方法、装置和设备及计算机存储介质 | |
CN111400166A (zh) | 一种实时通信业务测试方法、装置、系统及电子设备 | |
CN113452556A (zh) | 产品技能的配置方法、装置、存储介质及电子装置 | |
CN109002305B (zh) | 一种设备程序的更新方法及其系统 | |
CN111026410A (zh) | 上位机软件自动部署的方法、装置、电子设备及存储介质 | |
CN110198222B (zh) | 一种配电自动化终端即插即用测试方法及测试主站 | |
CN113064816B (zh) | 一种可编程逻辑器件软件的测试装置及测试方法 | |
CN107203471B (zh) | 联调方法、服务平台及计算机存储介质 | |
CN111026651B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN115567422B (zh) | 一种基础平台测试方法、测试终端、主机及测试系统 | |
CN111128139B (zh) | 无侵入式语音测试方法及装置 | |
CN115129574A (zh) | 一种代码测试方法和装置 | |
CN113835939A (zh) | 故障信息的处理方法及装置、存储介质、电子装置 | |
CN111427604A (zh) | 基于功能手机的远程软件升级系统及升级方法 | |
CN117271374A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210602 Address after: 25, 5th floor, shuangjingfang office building, 3 frisha street, 189352, Singapore Applicant after: Zhuomi Private Ltd. Address before: Room 1101, Santai Commercial Building, 139 Connaught Road, Hong Kong, China Applicant before: HONG KONG LIVE.ME Corp.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200710 |