页面的测试方法和装置、存储介质和电子装置
技术领域
本申请涉及计算机领域,尤其涉及一种页面的测试方法和装置、存储介质和电子装置。
背景技术
目前,用户可以使用终端设备上运行的应用程序(app)所提供的一个或多个功能。随着使用人数的增加,需要保证应用程序所提供功能的准确性和稳定性。
服务器可以采用自动化测试技术对应用程序所提供的功能进行测试。自动化测试技术可以用于版本回归阶段功能走查,开发人员根据应用程序的基础功能范围,以覆盖完整的功能节点为目的做回归测试,应用的功能节点主要是指应用所提供的基础功能,例如,对于购物类应用,上述功能节点可以是:“美妆”,“百货”,“数码”,“母婴”等。
然而,在实现本发明过程中,发明人发现上述自动化测试方式,应用程序的所有功能节点均会被回归测试,所有的功能节点的测试方式是相同或者类似的,对于很少被使用的功能,每次都需要回归,而对于用户常用的功能,由于仅进行基本功能测试,测试的又不够全面。
因此,相关技术中对应用程序的功能节点进行回归测试的方式,存在测试资源分配不合理的问题。
发明内容
本申请实施例提供了一种页面的测试方法和装置、存储介质和电子装置,以至少解决相关技术中对应用程序的功能节点进行回归测试的方式存在的测试资源分配不合理的问题。
根据本申请实施例的一个方面,提供了一种页面的测试方法,包括:根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;按照页面排序结果,从多个页面中选取待测试页面;根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,上述方法还包括:接收第一客户端发送的操作指示信息,其中,操作指示信息用于指示对目标页面执行的页面操作,目标页面为多个页面中的一个,对目标页面执行的页面操作包括第一页面操作;使用操作指示信息,更新与目标页面对应的第一操作信息。
可选地,在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,上述方法还包括:接收第二客户端发送的参数指示信息,其中,参数指示信息用于指示从操作信息集合中选取操作信息的操作参数和操作参数的参数值,操作信息集合为目标应用的页面的操作信息的集合;按照操作参数和参数值,从操作信息集合中选取出多个页面的第一操作信息。
可选地,根据多个页面的第一操作信息,确定多个页面的页面排序结果包括:根据多个页面的页面点击记录,确定多个页面中的每个页面的页面点击次数,其中,第一操作信息为页面点击记录;按照页面点击次数对多个页面进行排序,得到页面排序结果。
可选地,按照页面排序结果,从多个页面中选取出待测试页面包括:根据页面排序结果所指示的页面顺序,依次从多个页面中选取出目标数量的待测试页面。
可选地,根据待测试页面的第二操作信息,生成待测试页面的测试用例包括:从第二操作信息中抽取出目标类型的测试参考信息,其中,目标类型包括以下至少之一:操作位置,操作路径,页面的跳转入口;使用测试参考信息更新参考测试用例的测试要素,得到测试用例。
可选地,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果包括:按照测试用例对待测试页面进行多个测试操作,得到与多个测试操作对应的测试结果,其中,多个测试操作包括:用于测试待测试页面中的页面跳转入口的可用性的第一操作,用于测试选取页面跳转入口之后是否进行页面跳转的第二操作,用于测试跳转后的页面是否异常的第三操作。
可选地,在按照测试用例对待测试页面进行测试,得到待测试页面的测试结果之后,上述方法还包括:获取测试指示信息,其中,目标应用包含多个节点,测试指示信息用于指示对多个节点中的待测试节点进行回归测试;根据测试指示信息对待测试节点进行回归测试,得到待测试节点的测试结果。
根据本申请实施例的另一个方面,提供了一种页面的测试装置,包括:确定单元,用于根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;第一选取单元,用于按照页面排序结果,从多个页面中选取待测试页面;生成单元,用于根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;第一测试单元,用于按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,上述装置还包括:第一接收单元,用于在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,接收第一客户端发送的操作指示信息,其中,操作指示信息用于指示对目标页面执行的页面操作,目标页面为多个页面中的一个,对目标页面执行的页面操作包括第一页面操作;更新单元,用于使用操作指示信息,更新与目标页面对应的第一操作信息。
可选地,上述装置还包括:第二接收单元,用于在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,接收第二客户端发送的参数指示信息,其中,参数指示信息用于指示从操作信息集合中选取操作信息的操作参数和操作参数的参数值,操作信息集合为目标应用的页面的操作信息的集合;第二选取单元,用于按照操作参数和参数值,从操作信息集合中选取出多个页面的第一操作信息。
可选地,确定单元包括:确定模块,用于根据多个页面的页面点击记录,确定多个页面中的每个页面的页面点击次数,其中,第一操作信息为页面点击记录;排序模块,用于按照页面点击次数对多个页面进行排序,得到页面排序结果。
可选地,第一选取单元包括:选取模块,用于根据页面排序结果所指示的页面顺序,依次从多个页面中选取出目标数量的待测试页面。
可选地,生成单元包括:抽取模块,用于从第二操作信息中抽取出目标类型的测试参考信息,其中,目标类型包括以下至少之一:操作位置,操作路径,页面的跳转入口;更新模块,用于使用测试参考信息更新参考测试用例的测试要素,得到测试用例。
可选地,第一测试单元包括:测试模块,用于按照测试用例对待测试页面进行多个测试操作,得到与多个测试操作对应的测试结果,其中,多个测试操作包括:用于测试待测试页面中的页面跳转入口的可用性的第一操作,用于测试选取页面跳转入口之后是否进行页面跳转的第二操作,用于测试跳转后的页面是否异常的第三操作。
可选地,上述装置还包括:获取单元,用于在按照测试用例对待测试页面进行测试,得到待测试页面的测试结果之后,获取测试指示信息,其中,目标应用包含多个节点,测试指示信息用于指示对多个节点中的待测试节点进行回归测试;第二测试单元,用于根据测试指示信息对待测试节点进行回归测试,得到待测试节点的测试结果。
根据本申请的又一个实施例,还提供了一种计算机可读的存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,采用优先走查应用的功能节点中的页面的方式,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;按照页面排序结果,从多个页面中选取待测试页面;根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;按照测试用例对待测试页面进行测试,得到待测试页面的测试结果,由于以用户体验为维度,基于页面操作信息优先走查用户使用最高频率的页面(待测试页面),达到了提高测试资源分配合理性的效果,从而解决了相关技术中对应用程序的功能节点进行回归测试的方式存在的测试资源分配不合理的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的服务器的硬件结构框图;
图2是根据本申请实施例的一种可选的页面的测试方法的流程图;
图3是根据本申请实施例的另一种可选的页面的测试方法的流程图;
图4是根据本申请实施例的一种可选的页面的测试装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
根据本申请实施例的一个方面,提供了一种页面的测试方法。可选地,该方法可以在服务器或者类似的运算装置中执行。以运行在服务器上为例,图1是根据本申请实施例的一种可选的服务器的硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于MCU(Microcontroller Unit,微处理器)或者FPGA(Field Programmable Gate Array,现场可编程逻辑们阵列)等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的页面的测试方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个NIC(Network Interface Controller,网络适配器),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述服务器的页面的测试方法,图2是根据本申请实施例的一种可选的页面的测试方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;
步骤S204,按照页面排序结果,从多个页面中选取待测试页面;
步骤S206,根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;
步骤S208,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,上述步骤的执行主体可以为服务器等,但不限于此,其他能够进行页面测试的装置(例如,终端设备),均可以用于执行本申请实施例中的方法。
通过本实施例,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;按照页面排序结果,从多个页面中选取待测试页面;根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;按照测试用例对待测试页面进行测试,得到待测试页面的测试结果,解决了相关技术中对应用程序的功能节点进行回归测试的方式存在的测试资源分配不合理的问题,提高了测试资源分配的合理性。
下面结合图2对本申请实施例中的页面的测试方法进行解释说明。
在步骤S202提供的技术方案中,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作。
相关技术中应用程序的自动化测试方式,应用程序的所有功能节点均会被回归测试,所有的功能节点的测试方式是相同或者类似的,对于很少被使用的功能,每次都需要回归,而对于用户常用的功能,由于仅进行基本功能测试(例如,仅进行H5页面测试),测试的可能不够全面(例如,用户常用的页面可能无法覆盖到),因此,存在测试资源分配不合理的问题。
为解决上述问题,本申请实施例中提供了一种页面的测试方法,该测试方法以用户体验为维度,优先基于页面的操作信息对目标应用的页面进行测试,以保证用户使用频率高的页面能够被测试到。
可选地,在本实施例中,待测试的应用为目标应用,该目标应用中可以包含多个功能节点,每个功能节点中可以包含一个或多个页面(不同的页面可以位于功能节点不同的层次或者层级)。对于不同的页面,用户可以使用该应用的客户端进行多种类型的操作,例如,点击,滑动,选取等等页面操作。
页面的操作信息可以体现出用户对于页面的关注程度,关注度越高,用户对于页面的操作频率、操作时间等会越高。因此,对于目标应用的多个页面(该多个页面可以是目标应用的全部页面或者部分),可以根据多个页面的第一操作信息,对多个页面进行排序,得到多个页面的页面排序结果。
第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作。第一页面操作可以是对页面执行的一种或多个页面操作,可以包括但不限于以下操作或者其组合:点击操作,双击操作,滑动操作。
用户对于同一页面的操作需求会随时间的变化而发生变化,因此,在不同时间段内,对同一页面执行的第一页面操作并不相同,为了保证页面测试的准确性,第一操作信息可以用于指示在一个时间段(例如,目标时间段)内对多个页面中的每个页面执行的第一页面操作。
在步骤S204提供的技术方案中,按照页面排序结果,从多个页面中选取待测试页面。
在得到多个页面的页面排序结果之后,可以按照页面排序结果,从多个页面中选取待测试页面。待测试页面的选取条件可以通过配置信息进行设定,上述配置信息可以是测试***默认的配置信息,也可以是根据用户的输入操作所确定的配置信息。选取待测试页面的依据可以包括以下至少之一:
页面数量阈值,例如,按照页面排序结果选取Top N(例如,Top 50)的页面作为待测试页面;
页面操作频率阈值,例如,按照页面排序结果选取页面操作频率超过预定频率阈值的页面作为待测试页面;
页面所属的功能节点,例如,按照页面排序结果选取某一功能节点下的页面作为待测试页面。
上述选取条件可以通过配置信息进行设定,上述配置信息可以是测试***默认的配置信息,也可以是根据用户的输入操作所确定的配置信息。
例如,可以按照页面排序结果,从多个页面中选取出页面操作次数大于或者等于预定次数阈值的页面,或者,选取出页面操作频率大于或者等于预定频率阈值的页面,或者,对于属于不同功能节点的页面,可以分别设置选取条件,以满足不同功能的需求。
在步骤S206提供的技术方案中,根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作。
对于一个待测试页面,可以根据待测试页面的第二操作信息,自动生成待测试页面的测试用例。待测试页面的第二操作信息为待测试页面的操作历史信息,第二页面操作可以是对待测试页面的历史操作,可以包括一种页面操作,或者,多种页面操作的组合。
需要说明的是,第一操作信息是用于对多个页面进行排序的页面操作信息,第二操作信息是用于生成待测试页面的测试用例的页面操作信息。对于一个页面,两者之间可以是包含关系(即,第一操作信息包含第二操作信息,或者,第二操作信息包含第一操作信息),也可以是部分包含关系(即,第一操作信息与第二操作信息之间存在交集),还可以是没有交集的关系。
例如,对于一个页面,第一操作信息是对该页面的页面入口执行的点击操作的操作信息(例如,点击次数,点击时间等),或者,对该页面执行的点击操作的操作信息(例如,点击次数,点击时间等);第二操作信息是对于该页面执行的点击操作的操作信息(例如,点击位置,点击路径,点击时间等)。
测试用例(Test Case)是指对一特定对象(例如,软件产品,功能节点,应用页面等)所执行的测试任务的描述,体现测试方案、方法、技术和策略。其内容包括但不限于以下至少之一:测试目标,测试环境,输入数据,测试步骤,预期结果,测试脚本等,最终形成文档。
例如,对于一个页面,其对应的测试用例可以但不限于包括以下信息:页面标识(测试目标),页面地址,测试元素(例如,该页面中其他页面的页面入口)以及对应的点击路径(输入数据),测试步骤(例如,各个测试元素的测试顺序),预期结果(入口可用性,可以跳转,无崩溃等),测试脚本。
待测试页面可以有多个,在进行测试时,可以生成与每个待测试页面对应的测试用例,并分别对各个待测试页面进行测试,得到各个待测试页面的测试结果。多个待测试页面可以是顺序测试的,也可以是并行测试的。
需要说明的是,在待测试页面为多个时,选取待测试页面和对待测试页面进行测试可以是顺序执行的:先选取出所有的待测试页面,然后再对各个页面进行测试,也可以是并行执行的:选取待测试页面的同时对选取的待测试页面进行测试。
待测试页面的测试用例是根据待测试页面的操作历史信息自动生成的,待测试页面的操作历史信息可以体现出用户操作待测试页面的偏好,也就是,对于待测试页面,用户使用该页面中提供的哪些信息,以及如何控制页面为其提供需要的信息。根据操作历史信息,可以生成待测试页面的测试用例,以模拟用户使用该页面所执行的操作,来测试该页面的可以可用性、稳定性等多个方面的性能。
在步骤S208提供的技术方案中,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
在得到测试用例之后,可以使用该测试用例对待测试页面进行测试,得到待测试页面的测试结果。
在进行页面测试时,可以使用测试用例中的测试脚本对页面进行各种测试操作,得到每种测试操作的测试结果,并与预期结果进行比较,确定是否达到预期。
作为一种可选的实施例,在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,上述方法还包括:
S11,接收第一客户端发送的操作指示信息,其中,操作指示信息用于指示对目标页面所执行的页面操作,目标页面为多个页面中的一个,对目标页面执行的页面操作包括第一页面操作;
S12,使用操作指示信息,更新与目标页面对应的第一操作信息。
多个页面中的每个页面的第一操作信息可以是在用户操作终端设备上运行的目标应用的页面时获取的。
在终端设备侧,终端设备上运行有app(目标应用的客户端),用户可以使用该app提供的各种功能(即,功能节点)的页面,并可以操作各页面。例如,第一对象可以操作其终端设备上运行的第一客户端各个页面,该第一客户端为目标应用的客户端。
对于多个页面中的任一页面,例如,目标页面,用户在浏览该页面时,终端设备可以检测用户对该页面的页面操作,向服务器发送操作指示信息(即,页面操作信息),该操作指示信息用于指示对目标页面执行的页面操作,例如,所在页面,点击位置,点击路径,点击时间,操作指示信息还可以包括:点击元素名称、设备***(例如,ios/安卓)、设备型号等。对目标页面执行的页面操作包括第一页面操作,以便服务器可以根据操作指示信息进行第一操作信息的更新。
上述点击路径(或者,滑动路径)可以是用户为了使用该页面提供的某些功能或者链接(页面入口),由当前位置至该功能或者该链接所在区域在该页面上的点击路径(或者,滑动路径)。
例如,A页面中包括:B页面和C页面的入口,在用户操作A页面时,可以检测用户对页面的操作,确定对A页面中的操作指示信息,包括:A页面的标识,点击位置,点击路径,点击时间,B页面的入口名称,以记录用户在A页面中点击进入B页面的过程。
在服务器侧,后台***(运行在后台服务器上)接收到终端设备发送的操作指示信息之后,可以生成并更新该页面的第一操作信息,例如,页面点击记录。页面点击记录可以包括:页面标识,点击位置,点击路径,点击时间,还可以包括:点击元素名称,设备***,设备型号。
第一操作信息可以保存到数据库中,以便后台***进行数据的查询和处理。
需要说明的是,操作指示信息可以是在每次切换操作页面时发送的。用户在操作一个页面期间,同种类型的页面操作可以执行多次,例如,可以多次点击该页面的相同或者不同位置。在对多个页面排序依据的是页面点击次数的情况下,每个页面操作期间的多次点击操作可以统计为一次页面点击操作,也可以统计为多个点击操作,第一页面操作的统计方式可以根据需要进行设定,本实施例中对此不作限定。
通过本实施例,通过获取用户对页面的操作指示信息并更新页面的页面操作信息,可以提高页面操作信息获取的准确性和实时性。
作为一种可选的实施例,在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,上述方法还包括:
S21,接收第二客户端发送的参数指示信息,其中,参数指示信息用于指示从操作信息集合中选取操作信息的操作参数和操作参数的参数值,操作信息集合为目标应用的页面的操作信息的集合;
S22,按照操作参数和参数值,从操作信息集合中选取出多个页面的第一操作信息。
对于页面测试的工作人员(例如,测试人员)或者其他人员,可以通过操作终端设备上的信息筛选界面,以设置从目标应用的操作信息集合选取操作信息的条件。
例如,对于第二对象的第二客户端,可以检测到第二对象对于第二客户端上的信息筛选界面执行的目标操作;响应该目标操作,生成参数指示信息,并将该参数指示信息发送给后台服务器,该参数指示信息用于指示从操作信息集合中选取操作信息的操作参数和操作参数的参数值,操作信息集合为所述目标应用的页面的操作信息的集合,也就是,对该目标应用的全部或者部分页面执行的操作信息的集合,该全部或者部分页面可以包括上述多个页面。
上述操作参数可以是以下参数中的一个或多个:页面操作信息所属的时间段,设备***,设备型号,页面所属的功能节点等。
后台服务器接收到第二客户端发送的参数指示信息以后,可以按照操作参数和操作参数的参数值,从操作信息集合中选取出第一操作信息。例如,操作参数为操作信息所属的时间段,操作参数的参数值为XX年XX月XX日XX时至YY年YY月YY日YY时,可以从操作信息集合中筛选出处于该时间段内的操作信息,即,第一操作信息。
例如,后台***可以根据页面点击记录,周期性生成页面点击排行数据。该页面点击排行数据可以是:分时段的所有页面点击次数的排行,所有页面的总点击次数的排行,还可以是:基于设备***、设备型号的所有页面点击次数的排行等。除了页面标识之外,排行数据还可以包括:点击位置,点击元素名称,设备***、设备型号等。
通过本实施例,通过设置页面操作信息的筛选条件进行页面操作信息的筛选,使得测试***可以提供分时段筛选统计数据、根据用户设备筛选等功能,提高测试***进行页面测试的灵活性。
作为一种可选的实施例,根据多个页面的第一操作信息,确定多个页面的页面排序结果包括:
S31,根据多个页面中的各个页面的页面点击记录,确定多个页面中的每个页面的页面点击次数,其中,第一操作信息为页面点击记录;
S32,按照各个页面的页面点击次数对多个页面进行排序,得到页面排序结果。
第一操作信息可以包括多个页面中的各个页面的页面点击记录。根据各个页面的页面点击记录,可以统计各个页面的页面点击次数,页面点击次数可以是页面点击记录的数量。
需要说明的是,第一操作信息也可以是各个页面的页面点击次数信息,也就是说,后台服务器预先统计各个页面的页面点击次数,以便进行页面排序。
在得到每个页面的页面点击次数之后,可以按照每个页面的页面点击次数对多个页面进行排序,从而得到多个页面的页面排序结果。
例如,待排序的页面可以有5个:页面1~页面5,根据各个页面的页面点击记录,可以得到各个页面的页面点击次数:页面1,10次;页面2,15次;页面3,13次;页面4,26次;页面5,20次(此处仅为示例,页面实际的点击次数与此可能存在较大区别)。按照页面点击次数,得到5个页面的排序结果:页面4,页面5,页面2,页面3,页面1。
通过本实施例,按照页面点击次数对多个页面进行排序,由于页面点击次数(或者,操作频率)可以直接体现用户对于页面的关注程度,提高页面排序结果的合理性。
作为一种可选的实施例,按照页面排序结果,从多个页面中选取出待测试页面包括:
S41,根据页面排序结果所指示的页面顺序,依次从多个页面中选取出目标数量的待测试页面。
按照页面排序结果,可以从多个页面中选取出待测试页面。选取待测试页面的依据可以是:在页面排序结果中各个页面的顺序。
考虑到测试资源的有限性,例如,在测试规模较小的测试环境中,并不能对所有页面均进行测试。因此,可以仅从页面维度确定待测试的页面,而不考虑应用的基本功能(功能节点)。
可以预设选取的待测试页面的数量(目标数量),例如,Top N(可以是Top50)的页面。根据设定的目标数量,按照页面排序结果所指示的页面顺序(由前到后的顺序),依次选取出目标数量的待测试页面。
通过本实施例,以用户体验为维度,优先测试用户使用频率最高的页面,可以提高测试资源分配的合理性。
作为一种可选的实施例,根据待测试页面的第二操作信息,生成待测试页面的测试用例包括:
S51,从第二操作信息中抽取出目标类型的测试参考信息,其中,目标类型包括以下至少之一:操作位置,操作路径,页面的跳转入口;
S52,使用测试参考信息更新参考测试用例的测试要素,得到测试用例。
待测试页面的第二操作信息可以是待测试页面的操作历史信息,可以包括但不限于:待测试页面的点击位置、点击路径、点击时间等信息。为了生成测试用例,可以从第二操作信息中抽取出需要的测试参考信息,测试参考信息的类型可以包括但不限于以下至少之一:操作位置,操作路径,操作时间,页面的跳转入口。上述操作位置、操作路径、操作时间和页面的跳转入口(链接)之间可以具有对应关系。
例如,页面A包含页面B的链接(页面入口),对于页面A的操作历史信息,为了模拟用户在页面A中点击进入页面B的过程,可以提取出A页面的标识、点击位置、点击路径、点击时间(可以用于模拟用户的操作,例如,操作间隔)、B页面的入口名称,以记录用户在A页面中点击进入B页面的过程。
在得到目标类型的测试参考信息之后,可以使用该测试参考信息更新参考测试用例的测试要素,例如,对参考测试用例的测试要素进行数据填充,从而可以自动生成待测试页面的测试用例。
通过本实施例,通过从操作历史信息中抽取出目标类型的测试参考信息并进行测试要素填充,可以自动生成测试用例,提高测试用例的生成效率,以及测试用例的合理性。
作为一种可选的实施例,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果包括:
S61,按照测试用例对待测试页面进行多个测试操作,得到与多个测试操作对应的测试结果,其中,多个测试操作包括:用于测试待测试页面中的页面跳转入口的可用性的第一操作,用于测试选取页面跳转入口之后是否进行页面跳转的第二操作,用于测试跳转后的页面是否异常的第三操作。
测试用例可以用于走查页面的以下性能:入口可用性,是否可以跳转、是否无崩溃。根据一定的设计标准和规则,可以对设计方案从头到尾进行一次问题的发现与总结,便于修改和迭代,上述发现和总结设计方案中存在的问题的过程,称为走查。走查进行的主要是UI视觉、界面样式、功能主流程是否通畅等方面的校验工作。走查可以是通过执行测试用例进行的。按照测试用例,可以对待测试页面执行测试操作,上述测试操作可以包括但不限于以下至少之一:
1)用于测试待测试页面中的页面跳转入口的可用性的第一操作(用于测试入口可用性);
2)用于测试选取页面跳转入口之后是否进行页面跳转的第二操作(用于测试页面是否可跳转);
3)用于测试跳转后的页面是否存在异常的第三操作(用于测试页面是否无崩溃)。
对待测试页面执行的多个测试操作可以是基于测试用例中各个测试操作的处理逻辑执行的,在测试操作执行完之后,可以记录测试结果,并生成测试报告,在测试报告中还可以包含:标注测试页面、测试位置、截图等信息。
通过本实施例,通过走查页面的入口可用性、是否可以跳转、是否无异常等,可以保证满足页面测试的基本需求,提高测试资源使用的合理性。
作为一种可选的实施例,在按照测试用例对待测试页面进行测试,得到待测试页面的测试结果之后,上述方法还包括:
S71,获取测试指示信息,其中,目标应用包含多个节点,测试指示信息用于指示对多个节点中的待测试节点进行回归测试;
S72,根据测试指示信息对待测试节点进行回归测试,得到待测试节点的测试结果。
对于测试资源有限的场景,可以以用户体验为维度,优先走查用户使用最高频率的页面,根据页面的页面操作信息设计测试用例,保证用户常用的页面能够被覆盖到;然后保证基础功能可以被测试到,对于很少被使用的功能(功能节点),可以根据实际需求,决定是否需要每次进行回归。
例如,目标应用可以包含多个节点(功能节点)。在进行一次回归测试时,测试人员可以通过客户端(例如,第二客户端)配置此次回归测试需要被测试的功能节点。客户端可以检测测试人员的配置操作,得到测试指示信息,该测试指示信息可以用于指示对多个节点中的待测试节点进行回归测试。
后台服务器可以接收客户端发送的测试指示信息,并根据测试指示信息配置此次回归测试的节点(待测试节点),并对配置的待测试节点进行回归测试,得到待测试节点的测试结果。回归测试的具体过程可以参考相关技术,在此不做赘述。
通过本实施例,通过配置待测试的功能节点,并按照配置的功能节点进行回归测试,可以提高测试资源分配的合理性,提高测试效率。
下面结合可选示例对上述页面的测试方法进行说明。本示例中的页面的测试方法主要涉及服务器的处理,可选地,还可以涉及服务器与终端设备的交互操作。
在本示例中,以用户体验为维度,优先走查用户使用最高频率的页面,然后保证基础功能。根据用户所触达的页面设计测试用例,保证用户常用的页面能够被覆盖到,而很少被使用的功能,不必每次都被测试。例如,定期(如一个月)获取页面点击排行数据前N个页面,基于排行榜自动生成自动化测试用例并进行走查,保证页面正常展示。
如图3所示,本示例中的页面的测试方法可以包括以下步骤:
步骤S302,获取页面点击数据。
在终端设备侧,终端设备上运行有app,用户可以使用该app提供的各种功能的页面,并可以操作各页面。用户在进行页面浏览时,终端设备可以检测用户的页面操作,向服务器发送操作指示信息,例如,所在页面,点击位置,点击路径,点击时间,操作指示信息还可以包括:点击元素名称、设备***(例如,ios/安卓)、设备型号等。
在服务器侧,后台***可以在接收到终端设备发送的操作指示信息之后,生成并更新页面点击记录(作用同上述第一操作信息)。页面点击记录可以包括:页面标识,点击位置,点击路径,点击时间,还可以包括:点击元素名称、设备***、设备型号。
页面点击记录可以保存到数据库中,以便后台***进行数据的查询和处理。
步骤S304,生成页面点击排行数据。
后台***可以获取数据库中保存的页面点击记录,并提供分时段筛选统计数据、根据用户设备筛选等功能。
后台***可以根据页面点击记录,周期性生成页面点击排行数据(作用同前述页面排序结果)。该页面点击排行数据可以是:分时段的所有页面点击次数的排行,所有页面的总点击次数的排行,还可以是:基于设备***、设备型号的所有页面点击次数的排行等。除了页面标识之外,排行数据还可以包括:点击位置,点击元素名称,设备***、设备型号等。
步骤S306,基于排行榜自动生成自动化测试用例并进行走查。
基于页面点击排行数据,筛选出符合当前业务需求的时间段等前提条件的页面数据,整理Top N(例如,Top 50)页面(作用同前述待测试页面)以及各个页面的点击位置、点击路径信息,生成测试用例。
每个测试页面可以生成一个测试用例,根据统计的点击统计数据,遍历当前测试页面的点击位置。每个测试用例主要走查入口可用性,是否可以跳转、无崩溃,并记录测试结果,生成测试报告,标注测试页面、测试位置、截图等信息。
上述测试方式可以作为回归测试的补充,或者,在测试资源有限的情况下,直接作为app的测试方式,而不进行功能测试。
通过本示例,基于业务进行走查,可以最大限度的保障用户操作流程通畅,为流量引流提供支持,保证将用户引导到核心业务操作页面;作为基础功能回归的辅助,在业务迭代较快、基础功能变更不大时,或测试工期有限,只能进行有限场景的覆盖时,优先保障用户相关的测试内容,保证业务转化率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,提供了一种用于实施上述实施例中的页面的测试方法的页面的测试装置。可选地,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的一种可选的页面的测试装置的结构框图,如图4所示,该装置包括:
(1)确定单元42,用于根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;
(2)第一选取单元44,与确定单元42相连,用于按照页面排序结果,从多个页面中选取待测试页面;
(3)生成单元46,与第一选取单元44相连,用于根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;
(4)第一测试单元48,与生成单元46相连,用于按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,确定单元42可以用于上述实施例中的步骤S202,第一选取单元44可以用于上述实施例中的步骤S204,生成单元46可以用于执行上述实施例中的步骤S206,第一测试单元48可以用于执行上述实施例中的步骤S208。
通过本实施例,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;按照页面排序结果,从多个页面中选取待测试页面;根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;按照测试用例对待测试页面进行测试,得到待测试页面的测试结果,解决了相关技术中对应用程序的功能节点进行回归测试的方式存在的测试资源分配不合理的问题,提高了测试资源分配的合理性。
作为一种可选的实施例,上述装置还包括:
第一接收单元,用于在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,接收第一客户端发送的操作指示信息,其中,操作指示信息用于指示对目标页面执行的页面操作,目标页面为多个页面中的一个,对目标页面执行的页面操作包括第一页面操作;
更新单元,用于使用操作指示信息,更新与目标页面对应的第一操作信息。
作为一种可选的实施例,上述装置还包括:
第二接收单元,用于在根据多个页面的第一操作信息,确定多个页面的页面排序结果之前,接收第二客户端发送的参数指示信息,其中,参数指示信息用于指示从操作信息集合中选取操作信息的操作参数和操作参数的参数值,操作信息集合为目标应用的页面的操作信息的集合;
第二选取单元,用于按照操作参数和参数值,从操作信息集合中选取出多个页面的第一操作信息。
作为一种可选的实施例,确定单元42包括:
确定模块,用于根据多个页面的页面点击记录,确定多个页面中的每个页面的页面点击次数,其中,第一操作信息为页面点击记录;
排序模块,用于按照页面点击次数对多个页面进行排序,得到页面排序结果。
作为一种可选的实施例,第一选取单元44包括:
选取模块,用于根据页面排序结果所指示的页面顺序,依次从多个页面中选取出目标数量的待测试页面。
作为一种可选的实施例,生成单元46包括:
抽取模块,用于从第二操作信息中抽取出目标类型的测试参考信息,其中,目标类型包括以下至少之一:操作位置,操作路径,页面的跳转入口;
更新模块,用于使用测试参考信息更新参考测试用例的测试要素,得到测试用例。
作为一种可选的实施例,第一测试单元48包括:
测试模块,用于按照测试用例对待测试页面进行多个测试操作,得到与多个测试操作对应的测试结果,其中,多个测试操作包括:用于测试待测试页面中的页面跳转入口的可用性的第一操作,用于测试选取页面跳转入口之后是否进行页面跳转的第二操作,用于测试跳转后的页面是否异常的第三操作。
作为一种可选的实施例,上述装置还包括:
获取单元,用于在按照测试用例对待测试页面进行测试,得到待测试页面的测试结果之后,获取测试指示信息,其中,目标应用包含多个节点,测试指示信息用于指示对多个节点中的待测试节点进行回归测试;
第二测试单元,用于根据测试指示信息对待测试节点进行回归测试,得到待测试节点的测试结果。
需要说明的是,上述各模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本申请实施例的又一个方面,提供了一种计算机可读的存储介质。可选地,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行本申请实施例中所提供的上述任一项方法中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;
S2,按照页面排序结果,从多个页面中选取待测试页面;
S3,根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;
S4,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
根据本申请实施例的又一个方面,提供了一种电子装置,包括:处理器(该存储器可以是图1中的处理器102)和存储器(该存储器可以是图1中的存储器104),该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本申请实施例中所提供的上述任一项方法中的步骤。
可选地,上述电子装置还可以包括传输设备(该传输设备可以是图1中的传输设备106)以及输入输出设备(该输入输出设备可以是图1中的输入输出设备108),其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据多个页面的第一操作信息,确定多个页面的页面排序结果,其中,多个页面为目标应用的页面,第一操作信息用于指示对多个页面中的每个页面执行的第一页面操作;
S2,按照页面排序结果,从多个页面中选取待测试页面;
S3,根据待测试页面的第二操作信息,生成待测试页面的测试用例,其中,第二操作信息用于指示对待测试页面执行的第二页面操作;
S4,按照测试用例对待测试页面进行测试,得到待测试页面的测试结果。
可选地,本实施例中的可选示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。