CN115237744A - 数据传输方法、装置及终端 - Google Patents
数据传输方法、装置及终端 Download PDFInfo
- Publication number
- CN115237744A CN115237744A CN202110462900.8A CN202110462900A CN115237744A CN 115237744 A CN115237744 A CN 115237744A CN 202110462900 A CN202110462900 A CN 202110462900A CN 115237744 A CN115237744 A CN 115237744A
- Authority
- CN
- China
- Prior art keywords
- terminal
- identification information
- tested
- condition
- target
- 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
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据传输方法、装置及终端,属于计算机技术领域。本申请通过基于测试指令,将终端的标识信息修改为目标标识信息,由此获取到符合待测条件的测试指示信息,并通过该测试指示信息向服务器申请对应的业务数据,从而在ABTest过程中,能够仅利用一台终端模拟出多台终端在不同的测试条件下的情况,无需大量寻找不同的终端进行测试,降低了版本测试的成本,提高了版本测试的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据传输方法、装置及终端。
背景技术
随着计算机技术的发展和终端功能的多样化,用户能够通过终端上的应用程序访问各种类型的业务。互联网行业内应用程序的开发和迭代变得越来越快,在应用程序的版本更新过程中,在新的版本发布之前通常需要经过不断的测试。
ABTest(AB测试)是一种适用于互联网场景中的测试新版本或新功能的方法,通常为同一个优化目标制定两种(或两种以上)不同的分流方案,在同一个测试周期内,将不同的分流方案随机投放到各个用户的终端,让每个终端随机地使用任意一个分流方案,收集各个用户的体验数据和业务数据,最后根据显著性检验分析评估出效果最好的方案在正式版本中采用。
在上述ABTest过程中,为了保证A方案和B方案都具有足够多的测试样本,则需要大量寻找满足不同待测条件的终端设备进行测试,导致版本测试耗费的成本高、效率低。
发明内容
本申请实施例提供了一种数据传输方法、装置及终端,能够降低版本测试的耗费成本、提高测试效率。该技术方案如下:
一方面,提供了一种数据传输方法,应用于终端,该方法包括:
响应于携带待测条件的测试指令,对终端的标识信息进行修改,得到目标标识信息,所述待测条件为待测试的业务数据的触发条件;
基于所述目标标识信息,获取符合所述待测条件的测试指示信息;
向服务器发送携带所述测试指示信息的业务请求,所述业务请求用于请求与所述待测条件对应的所述业务数据;
接收所述服务器基于所述业务请求所返回的所述业务数据。
一方面,提供了一种数据传输装置,该装置包括:
修改模块,用于响应于携带待测条件的测试指令,对终端的标识信息进行修改,得到目标标识信息,所述待测条件为待测试的业务数据的触发条件;
获取模块,用于基于所述目标标识信息,获取符合所述待测条件的测试指示信息;
发送模块,用于向服务器发送携带所述测试指示信息的业务请求,所述业务请求用于请求与所述待测条件对应的所述业务数据;
接收模块,用于接收所述服务器基于所述业务请求所返回的所述业务数据。
在一种可能实施方式中,所述修改模块用于:
访问所述服务器在所述终端上存储的目标文件,所述目标文件用于向所述服务器提供所述标识信息;
在所述目标文件中,将所述标识信息所在的字段中存储的数据修改为所述目标标识信息。
在一种可能实施方式中,所述获取模块用于:
对所述目标标识信息进行加密,得到所述测试指示信息。
在一种可能实施方式中,所述获取模块用于:
将所述目标标识信息确定为所述测试指示信息。
在一种可能实施方式中,所述装置还包括:
添加模块,用于响应于所述待测条件为新账号的业务数据的触发条件,在所述终端与所述服务器的会话描述文件中添加控制信息,所述会话描述文件用于记录对应的会话连接的属性信息,所述控制信息用于表示所述终端所对应的账号为新账号,所述新账号为注册完毕后首次处于登录状态的账号。
在一种可能实施方式中,所述控制信息为键值对,所述键值对的键名为新账号,所述键值对的键值为真。
在一种可能实施方式中,所述业务数据用于测试与所述待测条件对应的待测功能,所述装置还包括:
显示模块,用于在所述终端的调试界面中显示调试开关选项,所述调试开关选项用于控制开启或关闭所述待测功能;响应于对所述调试开关选项的开启操作,触发执行所述待测功能。
在一种可能实施方式中,若所述标识信息为账号标识,则所述目标标识信息为目标账号标识;若所述标识信息为设备标识,则所述目标标识信息为目标设备标识。
一方面,提供了一种终端,该终端包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述数据传输方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述数据传输方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。终端的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得终端能够执行上述数据传输方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过基于测试指令,将终端的标识信息修改为目标标识信息,由此获取到符合待测条件的测试指示信息,并通过该测试指示信息向服务器申请对应的业务数据,从而在ABTest过程中,能够仅利用一台终端模拟出多台终端在不同的测试条件下的情况,无需大量寻找不同的终端进行测试,降低了版本测试的成本,提高了版本测试的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据传输方法的实施环境示意图;
图2是本申请实施例提供的一种数据传输方法的流程图;
图3是本申请实施例提供的一种数据传输方法的交互流程图;
图4是本申请实施例提供的一种标识信息的示意图;
图5是本申请实施例提供的一种标识信息修改前后的调试界面对比图;
图6是本申请实施例提供的一种标识信息的示意图;
图7是本申请实施例提供的一种对目标标识信息进行加密的原理性示意图;
图8是本申请实施例提供的一种数据传输方法的原理性示意图;
图9是本申请实施例提供的一种目标条件的原理性示意图;
图10是本申请实施例提供的一种调试开关选项的界面示意图;
图11是本申请实施例提供的一种显示目标资源的原理性示意图;
图12是本申请实施例提供的一种数据传输方法的复杂度的原理性示意图;
图13是本申请实施例提供的一种数据传输装置的结构示意图;
图14是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
以下,对本申请实施例所涉及的术语进行解释:
ABTest:即AB测试,是一种适用于互联网场景中的测试新版本或新功能的方法,通常为同一个优化目标制定两种(或两种以上)不同的分流方案,在同一个测试周期内,将不同的分流方案随机投放到各个用户的终端,让每个终端随机地使用任意一个分流方案,收集各个用户的体验数据和业务数据,最后根据显著性检验分析评估出效果最好的方案在正式版本中采用。
Cookies:在计算机领域中是指一种能够让网站服务器把少量数据储存到终端的硬盘或内存,或是从终端的硬盘读取数据的一种技术。当用户通过终端上的浏览器应用浏览一个网站时,网站服务器会在终端的硬盘上放置一个小型的文本文件,这个文本文件就称为Cookies。Cookies用于记录账号标识、账号密码、设备标识、浏览过的网页、停留的时长等等,当用户再次访问这个网站时,网站服务器可以通过读取Cookies来获知终端的相关信息,并返回相应的业务数据,比如在页面上显示的欢迎标语、或者支持用户不用输入账号标识和账号密码就直接登录等等。
图1是本申请实施例提供的一种数据传输方法的实施环境示意图。参见图1,该实施环境包括终端101和服务器102,下面进行说明:
终端101安装和运行有业务相关的应用程序,该应用程序包括但不限于:浏览器应用、直播应用、社交应用、点餐应用、支付应用、打车应用、短视频应用等。在一个示例中,终端101可以通过浏览器应用访问服务器102搭建的网站,并在终端101与服务器102建立会话之后,通过会话向服务器102发送业务请求(例如网页请求)。在另一个示例中,终端101还可以通过直播应用直接向服务器102发送业务请求(例如资源拉取请求),本申请实施例对此不进行具体限定。
终端101可以通过有线或无线通信方式与服务器102进行直接或间接地连接,本申请实施例在此不对连接方式进行限制。
服务器102用于为上述应用程序提供后台服务,服务器102包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102和终端101两者之间采用分布式计算架构进行协同计算。如本申请所公开的数据传输方法,其中这些业务相关的业务数据可保存于区块链上。
在一些实施例中,服务器102是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端101是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
本领域技术人员可以知晓,上述终端101的数量可以更多或更少。比如上述终端101可以仅为一个,或者上述终端101为几十个或几百个,或者更多数量。本申请实施例对终端101的数量和设备类型不加以限定。
在相关技术中,当应用程序等产品存在ABTest需求时,会根据ABTest的待测条件来进行测试。比如,在判断终端是使用A方案还是B方案时,可以通过终端绑定的账号标识或者设备标识来进行测试。在一个示例中,如果根据终端绑定的账号标识来进行测试,当账号标识的尾数是偶数时,则可判定该尾数符合A方案的待测条件,以使得终端使用A方案,进而可对A方案在终端的实现或执行进行测试;当账号标识的尾数是奇数时,则可判定该尾数符合B方案的待测条件,以使得终端使用B方案,进而可对B方案在终端的实现或执行进行测试,为了保证两类方案都具有足够多的测试样本,则需要大量寻找不同的账号来进行测试。在另一个示例中,如果根据终端绑定的设备标识来进行测试,当设备标识的尾数是偶数时,则使用A方案,当设备标识的尾数是奇数时,则使用B方案,为了保证两类方案都具有足够多的测试样本,则需要大量寻找不同的终端设备来进行测试。
可以看出,当所需测试的方案的待测条件种类较多时,寻找账号和设备是非常耗时耗力的,导致版本测试耗费的成本高、效率低,不利于自动化测试。比如,在通过设备标识的尾数是奇数还是偶数来区分A方案或B方案时,有可能测试人员寻找到的10台终端设备中只有1台符合A方案的待测条件,或者10台终端设备中没有符合A方案的待测条件的,导致寻找符合待测条件的终端设备耗时更长。
有鉴于此,本申请实施例提供一种数据传输方法,能够通过对ABTest的待测条件的研究,针对终端的标识信息进行本地修改,并快速地构建出符合待测条件的测试指示信息,通过测试指示信息来请求获取对应分流方案的业务数据,使得版本测试过程更加省时;此外,通过部署加密算法以获取待测指示信息,使得测试人员无需反复咨询开发人员,使得版本测试过程更加省力;此外,只需要反复迭代多次对终端的标识信息的本次修改,就能够仅使用一台终端设备模拟出多种符合不同的待测条件的业务场景,并针对业务场景下的业务数据进行测试和调试,能够针对ABTest进行自动化监控,使得版本测试过程更加省心。
图2是本申请实施例提供的一种数据传输方法的流程图。参见图2,该实施例应用于终端,该实施例包括下述步骤:
201、终端响应于携带待测条件的测试指令,对该终端的标识信息进行修改,得到目标标识信息,该待测条件为待测试的业务数据的触发条件。
该终端是一种电子设备,终端上安装有业务相关的应用程序,根据所支持的业务的类型不同,应用程序可具有不同的类型,比如当业务请求为网页请求时,应用程序可以为浏览器应用,又比如当业务请求为视频拉取请求时,应用程序可以为直播应用、短视频应用、视频点播应用等,本申请实施例对应用程序的类型不进行具体限定。
该终端的标识信息用于唯一标识该终端,例如,该终端的标识信息可以是登录该终端的账号的账号标识(uid),或者,该终端的标识信息还可以是该终端的设备标识(pvid或者did),本申请实施例对该标识信息的类型不进行具体限定。
需要说明的是,该目标标识信息与该标识信息的类型保持一致,也即是说,若该标识信息为账号标识,则该目标标识信息为目标账号标识;若该标识信息为设备标识,则该目标标识信息为目标设备标识。
可选地,该测试指令可以由技术人员在终端上输入,或者,该测试指令也可以由迭代运行的计算机程序来触发,该计算机程序用于迭代多次修改终端的标识信息,并请求对应的业务数据以完成自动化、批量化地测试工作,本申请实施例对此不进行具体限定。
在一些实施例中,以ABTest测试为例,当待测试的业务数据为A方案的业务数据时,待测条件即为A方案的业务数据的触发条件,当待测试的业务数据为B方案的业务数据时,待测条件为B方案的业务数据的触发条件,依此类推,在ABCDTest中,涉及到A、B、C、D四类方案,当待测试的业务数据为C方案的业务数据时,待测条件即为C方案的业务数据的触发条件,当待测试的业务数据为D方案的业务数据时,待测条件即为D方案的业务数据的触发条件,本申请实施例不对参与测试的方案的种类数量进行具体限定。
在上述过程中,通过将目标标识信息与该标识信息的类型保持在修改前后一致,能够对于不同类型的标识信息,有针对性地修改成同一类型的另一个目标标识信息,使得后续基于目标标识信息获取测试指示信息的过程具有更高的准确性。此外,在测试指示信息不符合待测条件时,能够方便地通过迭代执行上述修改操作,直到基于修改得到的目标标识信息所获取的测试指示信息符合待测条件时,停止迭代,能够大大提升测试指示信息的获取效率。
在一些实施例中,终端在修改标识信息时,则可以执行如下操作:终端访问该服务器在该终端上存储的目标文件,该目标文件用于向该服务器提供该标识信息;在该目标文件中,将该标识信息所在的字段中存储的数据修改为该目标标识信息。
在一个示例性场景中,若该业务请求为网页请求、该服务器为网站服务器,则该目标文件可以是小型文本文件Cookies,也即是说,终端执行如下操作:终端访问该服务器在该终端上存储的文本文件Cookies;在该Cookies中,将该标识信息所在的字段中存储的数据修改为该目标标识信息。
可选地,终端可以通过如下方式访问浏览器的Cookies:终端在浏览器应用中触发进入浏览器的调试界面,在调试界面中输入对Cookies中该字段的修改命令,触发将该标识信息修改为该目标标识信息。例如,终端通过浏览器开发者工具(Browser DeveloperTools)进入该调试界面,在该调试界面中选择Name(命名)为“pgg_pvid”的字段,将该字段的Value(值)修改为目标标识信息,比如,用户可以通过输入如下修改命令:document.cookie="pgg_pvid=目标标识信息;Domain=XXX",来实现将终端的标识信息修改为目标标识信息的操作。
在上述过程中,终端通过在Cookies中修改标识信息为目标标识信息,能够使得服务器在会话中查看Cookies时会读取到修改后的目标标识信息,从而达到使用一台终端设备模拟出另一台终端设备的测试效果,这样即使本终端设备的标识信息不符合待测条件,通过将标识信息修改为目标标识信息,并利用目标标识信息可以获取到符合待测条件的测试指示信息,从而节约了寻找新的终端设备的时间成本。
在另一个示例性场景中,若该业务请求为视频拉取请求、该服务器为视频服务器,则该目标文件还可以是服务器在终端的视频应用上预存的配置文件,本申请实施例目标文件具体是哪种文件不进行具体限定。
202、终端基于该目标标识信息,获取符合待测条件的测试指示信息。
在一些实施例中,终端在获取该测试指示信息时,可以直接将该目标标识信息确定为该测试指示信息,这样能够简化测试流程,节约终端的处理资源。
在一些实施例中,终端在获取该测试指示信息时,还可以对该目标标识信息进行加密,得到该测试指示信息。通过对该目标标识信息进行加密,使得在测试指示信息传输的过程中,即便测试指示信息泄露,攻击者仍然无法破解出该目标标识信息,从而增强了信息传输的安全性和隐私性。
可选地,终端在对该目标标识信息进行加密时,可以采取对称加密算法或者非对称加密算法,例如,采取哈希算法、摘要算法等,本申请实施例不对该目标标识信息的加密算法进行具体限定。
在一些实施例中,终端可以将该目标标识信息发送给后台单独部署的加密模块,通过该加密模块返回加密后得到的测试指示信息,可选地,该加密模块可以是一个API(Application Programming Interface,应用程序接口),还可以是一个封装好的函数等,本申请实施例对此不进行具体限定。
在一些实施例中,加密模块在向前端返回该测试指示信息的同时,还会附带返回一个账号类型指示信息,该账号类型指示信息用于指示本次待测条件中所欲测试的账号是否为新账号,当该账号类型指示信息的取值为真时,代表该待测条件所欲测试的账号为新账号,当该账号类型指示信息的取值为假时,代表该待测条件所欲测试的账号不是新账号。
可选地,该账号类型指示信息可以是一个布尔型数据,取值为True代表真,取值为False代表假,或者,该账号类型指示信息可以是一个二值型数据,取值为1代表真,取值为0代表假,本申请实施例对此不进行具体限定。
需要说明的是,这里的新账号是指注册完毕后首次处于登录状态的账号,或者,该新账号还可以指注册时刻到当前时刻之间的时间间隔小于或等于目标时间间隔的账号,该目标时间间隔可以是任一大于或等于0的数值。
在一些实施例中,终端响应于后台的加密模块返回的账号类型指示信息的取值为True,终端确认该待测条件为新账号的业务数据的触发条件。接着,终端响应于该待测条件为新账号的业务数据的触发条件,在该终端与该服务器的会话描述文件中添加控制信息,该会话描述文件用于记录对应的会话连接的属性信息,该控制信息用于表示该终端所对应的账号为新账号。
在一些实施例中,上述控制信息可以以键值对的形式添加,也即,该控制信息为键值对,该键值对的键名为新账号,该键值对的键值为真。例如,终端在浏览器中触发进入浏览器的调试界面,在调试界面中输入对控制信息的添加命令。在一个示例中,该添加命令可以为:sessionStorage.setItem('virgin',true),其中,setItem()作为Storage接口的方法,接受一个键名和值作为参数,将会把键名添加到存储中,如果键名已存在,则更新其对应的值。在本示例中,'virgin'为setItem()所欲创建或更新的键名,即代表新账号,true为setItem()所欲创建更新的键名对应的值,即代表取值为真。
在上述过程中,通过添加控制信息来模拟新账号的情况,使得能够在无需注册申请新账号的条件下,能够测试服务器向新账号才会返回的业务数据是否存在异常,节约了申请账号的时长,进一步降低了版本测试的成本、提高了版本测试的效率。
203、终端向服务器发送携带该测试指示信息的业务请求,该业务请求用于请求与该待测条件对应的该业务数据。
在一些实施例中,终端可以根据用户的业务需求,生成业务请求,并将该测试指示信息添加到该业务请求的指定字段(如请求头字段)中,使得服务器可以根据该测试指示信息,从ABTest的多种分流方案中,筛选出与该测试指示信息对应的分流方案,并将该分流方案所对应的业务数据返回至终端,这一业务数据也即与该待测条件对应。
在一个示例性场景中,服务器侧ABTest的分流逻辑可以是:如果测试指示信息的尾数为偶数,则服务器向终端返回方案A的业务数据;否则,如果测试指示信息的尾数为奇数,则服务器向终端返回方案B的业务数据。
在一个示例性场景中,服务器侧ABTest的分流逻辑可以是:如果测试指示信息的位数位于0-2之间,则服务器向终端返回方案A的业务数据;如果测试指示信息的位数位于3-4之间,则服务器向终端返回方案B的业务数据;如果测试指示信息的位数位于5-6之间,则服务器向终端返回方案C的业务数据;如果测试指示信息的位数位于7-9之间,则服务器向终端返回方案D的业务数据。
204、终端接收该服务器基于该业务请求所返回的该业务数据。
在一些实施例中,终端接收服务器基于该业务请求所返回的业务数据,也即,在待测条件不同时,符合待测条件的测试指示信息也随之不同,从而服务器返回的业务数据不同。可选地,该待测条件可由技术人员设定,或者,该待测条件也可以不人为指定,而是在迭代过程中随着目标标识信息的不同而自适应变化。
可选地,终端根据该业务数据,可以向用户提供业务服务,例如,当业务请求为网页请求时,业务数据为网页资源,终端可以基于该网页资源在浏览器应用中显示对应的网页,或者,当业务请求为视频拉取请求时,业务数据为视频资源,终端可以基于该视频资源在应用程序中播放对应的视频,本申请实施例对此不进行具体限定。
在一些实施例中,该业务数据包括在符合目标条件时才触发显示的目标资源,也即,目标资源并非在终端接收到之后就能直接显示,而是需要终端在符合目标条件时才能触发显示,其中该目标资源可以是一个弹窗,或者,还可以是一个动画,或者还可以是一个子窗口等,本申请实施例不对目标资源进行具体限定。
可选地,该目标条件可以是用户在指定的UI(User Interface,用户接口)界面点击指定的功能选项,或者,该目标条件可以是用户在指定的UI界面中浏览超过目标时长(目标时长大于或等于0),或者,该目标条件还可以是用户完成了首次充值或者消费行为,本申请实施例不对目标条件进行具体限定。
在一些实施例中,在该业务数据用于测试与该待测条件对应的待测功能的情况下,由于测试人员通常并不需要关注待测功能的触发条件具体是什么,而需要关注的是待测功能是否能够正常使用,例如,某一待测功能为显示弹窗,而这一待测功能的触发条件为用户在视频推荐页面中点击并退出了超过三个视频,如果测试人员想要测试弹窗是否能够正常显示,那么需要繁琐的反复点击并退出超过三个视频,此时的测试流程十分繁琐。
有鉴于此,终端可以执行如下操作:在该终端的调试界面中显示调试开关选项,该调试开关选项用于控制开启或关闭该待测功能;响应于对该调试开关选项的开启操作,触发执行该待测功能。
在上述过程中,终端通过调试开关选项,可以直接触发执行该待测功能,而无需检测是否满足待测功能的触发条件,这样能够避免测试人员繁琐的执行触发条件所需要的操作流程,大大提高了测试效率。
在一些实施例中,终端可以重复多次执行上述步骤201-204,通过反复修改终端的标识信息,并获取对应的测试指示信息,利用携带测试指示信息的业务请求来请求对应的业务数据,能够快速构造ABTest场景,便于业务测试,相当于利用一个终端模拟出了多个终端,并能够测试在不同待测条件下返回的不同业务数据,大大节约了寻找多种符合不同待测条件的终端的耗时,提高了测试效率,且有利于ABTest的自动化。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过基于测试指令,将终端的标识信息修改为目标标识信息,由此获取到符合待测条件的测试指示信息,并通过该测试指示信息向服务器申请对应的业务数据,从而在ABTest过程中,能够仅利用一台终端模拟出多台终端在不同的测试条件下的情况,无需大量寻找不同的终端进行测试,降低了版本测试的成本,提高了版本测试的效率。
图3是本申请实施例提供的一种数据传输方法的交互流程图,请参考图3,该实施例应用于终端与服务器的交互过程,该实施例包括下述步骤:
301、终端响应于携带待测条件的测试指令,访问服务器在该终端上存储的目标文件,该目标文件用于向该服务器提供终端的标识信息。
其中,该待测条件为待测试的业务数据的触发条件。
在本申请实施例中,以该服务器为网站服务器、业务请求为网页请求为例进行说明,此时目标文件是指小型文本文件Cookies,终端可以通过如下方式访问浏览器的Cookies:终端在浏览器应用中触发进入浏览器的调试界面。例如,终端通过浏览器开发者工具(Browser Developer Tools)进入该调试界面。
302、终端在该目标文件中,将该终端的标识信息所在的字段中存储的数据修改为目标标识信息。
该终端的标识信息用于唯一标识该终端,例如,该终端的标识信息可以是登录该终端的账号的账号标识(uid),或者,该终端的标识信息还可以是该终端的设备标识(pvid或者did),本申请实施例对该标识信息的类型不进行具体限定。
需要说明的是,该目标标识信息与该标识信息的类型保持一致,也即是说,若该标识信息为账号标识,则该目标标识信息为目标账号标识;若该标识信息为设备标识,则该目标标识信息为目标设备标识。
图4是本申请实施例提供的一种标识信息的示意图,如图4所示,在应用程序的元信息界面400中,可以查询到终端的账号标识为“UID:12345678”,终端的设备标识为“QIMEI:12abcf4sf21344235”。
在上述过程中,通过将目标标识信息与该标识信息的类型保持在修改前后一致,能够对于不同类型的标识信息,有针对性地修改成同一类型的另一个目标标识信息,使得后续基于目标标识信息获取测试指示信息的过程具有更高的准确性。此外,在测试指示信息不符合待测条件时,能够方便地通过迭代执行上述修改操作,直到基于修改得到的目标标识信息所获取的测试指示信息符合待测条件时,停止迭代,能够大大提升测试指示信息的获取效率。
在一些实施例中,终端可以在浏览器的调试界面中输入对Cookies中该字段的修改命令,触发将该标识信息修改为该目标标识信息。例如,终端在该调试界面中选择Name(命名)为“pgg_pvid”的字段,将该字段的Value(值)修改为目标标识信息,比如,用户输入如下修改命令:document.cookie="pgg_pvid=目标标识信息;Domain=XXX",来实现将终端的标识信息修改为目标标识信息的操作。
图5是本申请实施例提供的一种标识信息修改前后的调试界面对比图,如图5所示,501示出了在标识信息修改之前,“pgg_pvid”字段的值为具有设备唯一性的“123456789123456789”,502则示出了在标识信息修改之后,“pgg_pvid”字段的值为“10000”,是一个由终端随机生成或者由技术人员人工输入的目标标识信息。在一个示例性场景中,假设测试指示信息为目标标识信息自身,而服务器侧的分流逻辑是按照测试指示信息的尾数的奇偶性来选择分流方案的,那么,可以看出,原本终端只能测试在标识信息尾数为奇数情况下返回的业务数据是否异常,而通过修改标识信息为目标标识信息,还能够测试在目标标识信息尾数为偶数情况下返回的业务数据是否异常。针对两种以上的分流方案,通过修改成其他的目标标识信息,同样能够模拟出更多种分流方案所需的待测条件,并基于对应的业务数据来检测是否发生异常。
在上述步骤301-302中,示出了对终端的标识信息进行修改,得到目标标识信息的一种可能实施方式。在另一些实施例中,若服务器不是网站服务器,而业务请求也并非网页请求时,则终端可以从日志信息中查询到自身的标识信息,并在应用程序的相关调试文件中将标识信息修改为目标标识信息,本申请实施例不对标识信息的修改方式进行具体限定。
图6是本申请实施例提供的一种标识信息的示意图,请参考600,示出了一种日志信息,在日志信息中查看“did”字段中的取值,即可得到终端的标识信息“63cd93424i95123”。
303、终端对该目标标识信息进行加密,得到符合该待测条件的测试指示信息。
可选地,终端在对该目标标识信息进行加密时,可以采取对称加密算法或者非对称加密算法,例如,采取哈希算法、摘要算法等,本申请实施例不对该目标标识信息的加密算法进行具体限定。
在一些实施例中,终端可以将该目标标识信息发送给后台单独部署的加密模块,通过该加密模块返回加密后得到的测试指示信息,可选地,该加密模块可以是一个API(Application Programming Interface,应用程序接口),还可以是一个封装好的函数等,本申请实施例对此不进行具体限定。
图7是本申请实施例提供的一种对目标标识信息进行加密的原理性示意图,如700所示,终端向测试人员搭建的加密服务器(即加密模块,可以是一个物理独立的服务器,也可以是服务器中的一个功能模块)发送目标标识信息,该目标标识信息可以是目标账号标识或者目标设备标识,在发送目标标识信息时可以将目标标识信息封装在HTTP(HyperTextTransfer Protocol,超文本传输协议)请求中进行发送,加密服务器对该目标标识信息进行加密,得到测试指示信息,并向终端输出该测试指示信息(即加密后的值)。
在上述过程中,通过对该目标标识信息进行加密,使得在测试指示信息传输的过程中,即便测试指示信息泄露,攻击者仍然无法破解出该目标标识信息,从而增强了信息传输的安全性和隐私性。
在一些实施例中,上述步骤303还可以采取下述方式进行替换:终端将该目标标识信息确定为该测试指示信息,这样能够简化测试流程,节约终端的处理资源。
在上述步骤303中,示出了终端基于该目标标识信息,获取符合待测条件的测试指示信息的一种可能实施方式,终端可以直接将该目标标识信息确定为该测试指示信息,也可以将加密后的目标标识信息确定为该测试指示信息,本申请实施例对此不进行具体限定。
在一些实施例中,加密模块在向前端返回该测试指示信息的同时,还会附带返回一个账号类型指示信息,该账号类型指示信息用于指示本次待测条件中所欲测试的账号是否为新账号,当该账号类型指示信息的取值为真时,代表该待测条件所欲测试的账号为新账号,当该账号类型指示信息的取值为假时,代表该待测条件所欲测试的账号不是新账号。
可选地,该账号类型指示信息可以是一个布尔型数据,取值为True代表真,取值为False代表假,或者,该账号类型指示信息可以是一个二值型数据,取值为1代表真,取值为0代表假,本申请实施例对此不进行具体限定。
需要说明的是,这里的新账号是指注册完毕后首次处于登录状态的账号,或者,该新账号还可以指注册时刻到当前时刻之间的时间间隔小于或等于目标时间间隔的账号,该目标时间间隔可以是任一大于或等于0的数值。
304、终端响应于该待测条件为新账号的业务数据的触发条件,在该终端与该服务器的会话描述文件中添加控制信息。
其中,该会话描述文件用于记录对应的会话连接的属性信息,该控制信息用于表示该终端所对应的账号为新账号。
在一些实施例中,终端响应于后台的加密模块返回的账号类型指示信息的取值为True,终端确认该待测条件为新账号的业务数据的触发条件。接着,终端响应于该待测条件为新账号的业务数据的触发条件,在该终端与该服务器的会话中添加控制信息。
可选地,上述控制信息可以以键值对的形式添加,也即,该控制信息为键值对,该键值对的键名为新账号,该键值对的键值为真。例如,终端在浏览器中触发进入浏览器的调试界面,在调试界面中输入对控制信息的添加命令。在一个示例中,该添加命令可以为:sessionStorage.setItem('virgin',true),其中,setItem()作为Storage接口的方法,接受一个键名和值作为参数,将会把键名添加到存储中,如果键名已存在,则更新其对应的值。在本示例中,'virgin'为setItem()所欲创建或更新的键名,即代表新账号,true为setItem()所欲创建更新的键名对应的值,即代表取值为真。
在上述过程中,通过添加控制信息来模拟新账号的情况,使得能够在无需注册申请新账号的条件下,能够测试服务器向新账号才会返回的业务数据是否存在异常,节约了申请账号的时长,进一步降低了版本测试的成本、提高了版本测试的效率。
305、终端向服务器发送携带该测试指示信息的业务请求。
其中,该业务请求用于请求与该待测条件对应的该业务数据。
在一些实施例中,终端可以根据用户的业务需求,生成业务请求,并将该测试指示信息添加到该业务请求的指定字段(如请求头字段)中,使得服务器可以根据该测试指示信息,从ABTest的多种分流方案中,筛选出与该测试指示信息对应的分流方案,并将该分流方案所对应的业务数据返回至终端,这一业务数据也即与该待测条件对应。
306、服务器响应于该业务请求,向终端发送与该待测条件对应的业务数据。
在一些实施例中,服务器侧ABTest的分流逻辑可以是:如果测试指示信息的尾数为偶数,则服务器向终端返回方案A的业务数据;否则,如果测试指示信息的尾数为奇数,则服务器向终端返回方案B的业务数据。
图8是本申请实施例提供的一种数据传输方法的原理性示意图,如800所示,以该终端的标识信息为设备标识、该目标标识信息为目标设备标识为例进行说明,终端本地将设备标识修改为目标设备标识后,将目标设备标识发送至后台单独部署的加密模块进行加密,加密模块返回加密后的目标设备标识(即测试指示信息),终端向服务器发送携带测试指示信息的业务请求,服务器接收业务请求,解析业务请求得到测试指示信息,并根据测试指示信息判断该测试指示信息所符合的待测条件,向终端发送与该待测条件对应的业务数据。例如,服务器根据测试指示信息的尾数,确认测试指示信息符合待测条件“尾数为偶数”时,向终端发送方案A的业务数据,否则,若服务器确认测试指示信息符合待测条件“尾数为奇数”时,向终端发送方案B的业务数据。
在一些实施例中,服务器侧ABTest的分流逻辑可以是:如果测试指示信息的位数位于0-2之间,则服务器向终端返回方案A的业务数据;如果测试指示信息的位数位于3-4之间,则服务器向终端返回方案B的业务数据;如果测试指示信息的位数位于5-6之间,则服务器向终端返回方案C的业务数据;如果测试指示信息的位数位于7-9之间,则服务器向终端返回方案D的业务数据。
根据ABTest的分流方案的数量不同,服务器可以配置不同的分流逻辑,这一分流逻辑可以由技术人员进行自定义设置,本申请实施例ABTest的分流方案的数量以及分流逻辑不进行具体限定。
307、终端接收该服务器基于该业务请求所返回的该业务数据。
在一些实施例中,终端接收服务器基于该业务请求所返回的业务数据,也即,在待测条件不同时,符合待测条件的测试指示信息也随之不同,从而服务器返回的业务数据不同。可选地,该待测条件可由技术人员设定,或者,该待测条件也可以不人为指定,而是在迭代过程中随着目标标识信息的不同而自适应变化。
可选地,终端根据该业务数据,可以向用户提供业务服务,例如,当业务请求为网页请求时,业务数据为网页资源,终端可以基于该网页资源在浏览器应用中显示对应的网页,或者,当业务请求为视频拉取请求时,业务数据为视频资源,终端可以基于该视频资源在应用程序中播放对应的视频,本申请实施例对此不进行具体限定。
308、若该业务数据用于测试与该待测条件对应的待测功能,终端在该终端的调试界面中显示调试开关选项。
其中,该调试开关选项用于控制开启或关闭该待测功能。
在一些实施例中,以该待测功能为在符合目标条件时才触发显示的目标资源为例进行说明,也即,目标资源并非在终端接收到之后就能直接显示,而是需要终端在符合目标条件时才能触发显示,其中该目标资源可以是一个弹窗,或者,还可以是一个动画,或者还可以是一个子窗口等,本申请实施例不对目标资源进行具体限定。
可选地,该目标条件可以是用户在指定的UI(User Interface,用户接口)界面点击指定的功能选项,或者,该目标条件可以是用户在指定的UI界面中浏览超过目标时长(目标时长大于或等于0),或者,该目标条件还可以是用户完成了首次充值或者消费行为,本申请实施例不对目标条件进行具体限定。
图9是本申请实施例提供的一种目标条件的原理性示意图,请参考图9,以目标条件为用户在指定的UI界面900中点击指定的功能选项901-908中任一个,此后会在UI界面900中弹出一个弹窗(即目标资源)。
在一些实施例中,在该业务数据用于测试与该待测条件对应的待测功能的情况下,由于测试人员通常并不需要关注待测功能的触发条件具体是什么,而需要关注的是待测功能是否能够正常使用(例如,目标资源是否能够正常显示),因此终端可以通过该调试开关选项来控制终端在不符合触发条件的情况下直接执行该待测功能,也即终端在调试界面中显示该调试开关选项之后,响应于用户对该调试开关选项的开启操作,执行下述步骤309。可选地,该调试开关选项是一个可视化的图形按钮,或者是菜单栏中的一个功能选项,本申请实施例对此不进行具体限定。
图10是本申请实施例提供的一种调试开关选项的界面示意图,请参考图10,在调试界面1000中包括调试开关选项1001,用户通过点击该调试开关选项1001,可以触发进入调试开关选项1001的状态设置界面,在状态设置界面中,通过对该调试开关选项1001的开启操作,可以将该调试开关选项设置为开启状态。
309、终端响应于对该调试开关选项的开启操作,触发执行该待测功能。
可选地,该开启操作可以是用户将该调试开关选项设置为“ON”(开启)状态,反之,如果用户想要关闭该调试开关选项,则可以将该调试开关选项设置为“OFF”(关闭)状态。
在一些实施例中,终端默认该调试开关选项为关闭状态,用户通过点击该调试开关选项,即可将该调试开关选项从关闭状态修改为开启状态,或者,用户也可以通过语音指令、手势指令、双击、长按等方式来执行该开启操作,本申请实施例对此不进行具体限定。
图11是本申请实施例提供的一种显示目标资源的原理性示意图,如1100所示,假设待测功能为显示弹窗,终端可以通过判断是否满足待测功能的触发条件,在满足触发条件时执行待测功能即显示弹窗,在不满足触发条件时不执行待测功能即不显示弹窗,除此以外,还提供一种方便测试人员快速测试的方式,也即在测试人员开启调试开关选项之后,跳过对触发条件的判断步骤,直接执行待测功能即显示弹窗,从而能够简化测试流程。
在上述过程中,终端通过调试开关选项,可以直接触发执行待测功能,而无需检测是否满足待测功能的触发条件,这样能够避免测试人员繁琐的执行触发条件所需要的操作流程,大大提高了测试效率,且有利于自动化测试各种场景下的业务数据。可选地,以待测功能为显示目标资源为例,在显示目标资源之后,测试人员可检查目标资源是否显示异常,如目标资源是否兼容本终端的机型、目标资源是否正常显示、目标资源的界面逻辑是否异常等等,以目标资源为弹窗为例,是否兼容本终端的机型是指是否能显示弹窗,是否正常显示是指弹窗的尺寸、弹窗内图文是否乱码、弹窗内文字字号是否异常、弹窗颜色是否正确,界面逻辑是否异常是指弹窗在界面的堆叠显示次序是否正确(如是否置于顶层)等,本申请实施例对此不进行具体限定。
在一些实施例中,终端可以重复多次执行上述步骤301-309,通过反复修改终端的标识信息,并获取对应的测试指示信息,利用携带测试指示信息的业务请求来请求对应的业务数据,能够快速构造ABTest场景,便于业务测试,相当于利用一个终端模拟出了多个终端,并能够测试在不同待测条件下返回的不同业务数据,大大节约了寻找多种符合不同待测条件的终端的耗时,提高了测试效率,且有利于ABTest的自动化。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过基于测试指令,将终端的标识信息修改为目标标识信息,由此获取到符合待测条件的测试指示信息,并通过该测试指示信息向服务器申请对应的业务数据,从而在ABTest过程中,能够仅利用一台终端模拟出多台终端在不同的测试条件下的情况,无需大量寻找不同的终端进行测试,降低了版本测试的成本,提高了版本测试的效率。
图12是本申请实施例提供的一种数据传输方法的复杂度的原理性示意图,如1201所示,示出了在传统的寻找多台终端进行版本测试时的复杂度,寻找各种终端的复杂度为O(n),寻找后台开发人员计算测试指示信息的复杂度为O(n),服务器根据分流逻辑评估与测试指示信息对应的具体是哪种业务数据的复杂度为O(n),因此,传统版本测试方式的整体复杂度较高,且人力成本耗费大。如1202所示,示出了基于本申请实施例的数据传输方法进行版本测试时的复杂度,由于仅需要一台终端设备,通过迭代本地修改标识信息并请求对应的业务数据,即可完成多种不同待测条件下的多种不同业务数据的测试,通过后台部署的加密模块能够实现测试指示信息的自动计算,且服务器能够基于业务请求自动判别具体分发哪种业务数据,因此三个步骤整体的复杂度为O(1),相较于传统版本测试方式大大降低了复杂度,节约了人力成本,提高了测试的工作效率,且能够实现自动化测试。
图13是本申请实施例提供的一种数据传输装置的结构示意图,请参考图13,该装置包括:
修改模块1301,用于响应于携带待测条件的测试指令,对终端的标识信息进行修改,得到目标标识信息,该待测条件为待测试的业务数据的触发条件;;
获取模块1302,用于基于该目标标识信息,获取符合该待测条件的测试指示信息;
发送模块1303,用于向服务器发送携带该测试指示信息的业务请求,该业务请求用于请求与该待测条件对应的该业务数据;
接收模块1304,用于接收该服务器基于该业务请求所返回的该业务数据。
本申请实施例提供的装置,通过基于测试指令,将终端的标识信息修改为目标标识信息,由此获取到符合待测条件的测试指示信息,并通过该测试指示信息向服务器申请对应的业务数据,从而在ABTest过程中,能够仅利用一台终端模拟出多台终端在不同的测试条件下的情况,无需大量寻找不同的终端进行测试,降低了版本测试的成本,提高了版本测试的效率。
在一种可能实施方式中,该修改模块1301用于:
访问该服务器在该终端上存储的目标文件,该目标文件用于向该服务器提供该标识信息;
在该目标文件中,将该标识信息所在的字段中存储的数据修改为该目标标识信息。
在一种可能实施方式中,该获取模块1302用于:
对该目标标识信息进行加密,得到该测试指示信息。
在一种可能实施方式中,该获取模块1302用于:
将该目标标识信息确定为该测试指示信息。
在一种可能实施方式中,基于图13的装置组成,该装置还包括:
添加模块,用于响应于该待测条件为新账号的业务数据的触发条件,在该终端与该服务器的会话描述文件中添加控制信息,该会话描述文件用于记录对应的会话连接的属性信息,该控制信息用于表示该终端所对应的账号为新账号,该新账号为注册完毕后首次处于登录状态的账号。
在一种可能实施方式中,该控制信息为键值对,该键值对的键名为新账号,该键值对的键值为真。
在一种可能实施方式中,该业务数据用于测试与该待测条件对应的待测功能,基于图13的装置组成,该装置还包括:
显示模块,用于在该终端的调试界面中显示调试开关选项,该调试开关选项用于控制开启或关闭该待测功能;响应于对该调试开关选项的开启操作,触发执行该待测功能。
在一种可能实施方式中,若该标识信息为账号标识,则该目标标识信息为目标账号标识;若该标识信息为设备标识,则该目标标识信息为目标设备标识。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将终端设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见数据传输方法实施例,这里不再赘述。
图14是本申请实施例提供的一种终端的结构示意图。可选地,该终端1400的设备类型包括:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
可选地,处理器1401包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1401采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1401包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1402包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1402还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1401所执行以实现本申请中各个实施例提供的数据传输方法。
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
外围设备接口1403可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1404通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1401进行处理。可选地,显示屏1405还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405为一个,设置终端1400的前面板;在另一些实施例中,显示屏1405为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,可选地,显示屏1405设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1405采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1407包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1400的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。可选地,定位组件1408是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1409用于为终端1400中的各个组件进行供电。可选地,电源1409是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
在一些实施例中,加速度传感器1411检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1401根据加速度传感器1411采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1412检测终端1400的机体方向及转动角度,陀螺仪传感器1412与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1413设置在终端1400的侧边框和/或显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,能够检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。可选地,指纹传感器1414被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商Logo时,指纹传感器1414能够与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401根据光学传感器1415采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的前面板。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图14中示出的结构并不构成对终端1400的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的数据传输方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。终端的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得终端能够执行以完成上述实施例中的数据传输方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于终端,所述方法包括:
响应于携带待测条件的测试指令,对终端的标识信息进行修改,得到目标标识信息,所述待测条件为待测试的业务数据的触发条件;
基于所述目标标识信息,获取符合所述待测条件的测试指示信息;
向服务器发送携带所述测试指示信息的业务请求,所述业务请求用于请求与所述待测条件对应的所述业务数据;
接收所述服务器基于所述业务请求所返回的所述业务数据。
2.根据权利要求1所述的方法,其特征在于,所述对终端的标识信息进行修改,得到目标标识信息包括:
访问所述服务器在所述终端上存储的目标文件,所述目标文件用于向所述服务器提供所述标识信息;
在所述目标文件中,将所述标识信息所在的字段中存储的数据修改为所述目标标识信息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标标识信息,获取符合所述待测条件的测试指示信息包括:
对所述目标标识信息进行加密,得到所述测试指示信息。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标标识信息,获取符合所述待测条件的测试指示信息包括:
将所述目标标识信息确定为所述测试指示信息。
5.根据权利要求1所述的方法,其特征在于,所述向服务器发送携带所述测试指示信息的业务请求之前,所述方法还包括:
响应于所述待测条件为新账号的业务数据的触发条件,在所述终端与所述服务器的会话描述文件中添加控制信息,所述会话描述文件用于记录对应的会话连接的属性信息,所述控制信息用于表示所述终端所对应的账号为新账号,所述新账号为注册完毕后首次处于登录状态的账号。
6.根据权利要求5所述的方法,其特征在于,所述控制信息为键值对,所述键值对的键名为新账号,所述键值对的键值为真。
7.根据权利要求1所述的方法,其特征在于,所述业务数据用于测试与所述待测条件对应的待测功能,所述接收所述服务器基于所述业务请求所返回的所述业务数据之后,所述方法还包括:
在所述终端的调试界面中显示调试开关选项,所述调试开关选项用于控制开启或关闭所述待测功能;
响应于对所述调试开关选项的开启操作,触发执行所述待测功能。
8.根据权利要求1至7中任一项所述的方法,其特征在于,若所述标识信息为账号标识,则所述目标标识信息为目标账号标识;
若所述标识信息为设备标识,则所述目标标识信息为目标设备标识。
9.一种数据传输装置,其特征在于,所述装置包括:
修改模块,用于响应于携带待测条件的测试指令,对终端的标识信息进行修改,得到目标标识信息,所述待测条件为待测试的业务数据的触发条件;
获取模块,用于基于所述目标标识信息,获取符合所述待测条件的测试指示信息;
发送模块,用于向服务器发送携带所述测试指示信息的业务请求,所述业务请求用于请求与所述待测条件对应的所述业务数据;
接收模块,用于接收所述服务器基于所述业务请求所返回的所述业务数据。
10.一种终端,其特征在于,所述终端包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求8任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110462900.8A CN115237744A (zh) | 2021-04-22 | 2021-04-22 | 数据传输方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110462900.8A CN115237744A (zh) | 2021-04-22 | 2021-04-22 | 数据传输方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115237744A true CN115237744A (zh) | 2022-10-25 |
Family
ID=83666906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110462900.8A Pending CN115237744A (zh) | 2021-04-22 | 2021-04-22 | 数据传输方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115237744A (zh) |
-
2021
- 2021-04-22 CN CN202110462900.8A patent/CN115237744A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582579B (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN110413501B (zh) | 浏览器兼容性测试方法、装置、系统及可读存储介质 | |
CN107766747B (zh) | 校验应用程序安装包完整性的方法、移动终端及服务器 | |
CN111338910B (zh) | 日志数据处理、显示方法、装置、设备及存储介质 | |
WO2020048392A1 (zh) | 应用程序的病毒检测方法、装置、计算机设备及存储介质 | |
CN112420217B (zh) | 消息推送方法、装置、设备及存储介质 | |
CN111177013A (zh) | 日志数据获取方法、装置、计算机设备及存储介质 | |
CN111858382A (zh) | 应用程序测试方法、装置、服务器、系统及存储介质 | |
CN109040339B (zh) | 基于ajax的跨域请求处理方法、装置及设备 | |
CN111159604A (zh) | 图片资源加载方法及装置 | |
CN114064450A (zh) | 应用程序测试方法、装置、电子设备及存储介质 | |
CN111625315A (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN111338933A (zh) | 埋点验证方法、装置、设备及存储介质 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN113377647B (zh) | 页面处理方法、装置、服务器、终端及可读存储介质 | |
CN107800720B (zh) | 劫持上报方法、装置、存储介质及设备 | |
CN113377976B (zh) | 资源搜索方法、装置、计算机设备及存储介质 | |
CN115600213A (zh) | 基于应用程序的漏洞管理方法、装置、介质及设备 | |
CN113591090B (zh) | 程序漏洞的上报方法、装置、设备及存储介质 | |
CN114510417A (zh) | 一种图像渲染效果测试方法、装置、电子设备和存储介质 | |
CN115237744A (zh) | 数据传输方法、装置及终端 | |
CN113312249A (zh) | 日志数据生成方法、日志数据显示方法及装置 | |
CN112052419A (zh) | 图片加载方法、装置、设备及可读存储介质 | |
CN112000576A (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 |