CN112527664A - 生成测试用例的方法、装置、电子设备及存储介质 - Google Patents
生成测试用例的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112527664A CN112527664A CN202011505377.4A CN202011505377A CN112527664A CN 112527664 A CN112527664 A CN 112527664A CN 202011505377 A CN202011505377 A CN 202011505377A CN 112527664 A CN112527664 A CN 112527664A
- Authority
- CN
- China
- Prior art keywords
- page
- project
- user
- unique identifier
- data packet
- 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/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及系统功能测试技术领域,提供一种生成测试用例的方法,首先在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本,基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识,通过采集线程采集点击元素及变化事件生成用户数据包,从而获取到用户所有的点击信息,再将元素定位信息及变动属性注入用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,进而测试人员可以根据形成的测试用例去获取对应语言的测试用例,或者由系统根据该形成的测试用例生成标准的测试用例,大大减少测试用例的维护和编写成本,并且杜绝测试遗漏的状况。
Description
技术领域
本发明涉及系统功能测试技术领域,涉及一种测试用例生成的方法,尤其涉及一种生成测试用例的方法、装置、电子设备及计算机可读存储介质。
背景技术
测试在产品开发迭代中是一个不可缺少的重要一环,其中功能测试又是测试环节中最重要的一部分,功能测试在产品开发中的重要性表现在方方面面,包括开发时开发人员校验功能的正确性,开发后测试人员保证产品功能的正确性,上线后保证产品的稳定性。
自动化测试就离不开测试用例的编写,测试用例的维护和编写迭代常常需要大量的人力,特别是迭代特别频繁的互联网行业,这也是自动化测试中人为参与最大的工作量,所以如果能自动生成用例,再由测试人员修改甚至是拿来直接使用,这样无疑会让测试往自动化这个方向更进一步。
因此,亟需一种减少编写和维护用例成本,提高网页用例适应性的生成测试用例的方法。
发明内容
本发明提供一种生成测试用例的方法、装置、电子设备及计算机可读存储介质,其主要目的在于在待测试页面中注入与页面操作不同线程的收集脚本,在每一操作页面中生成唯一标识,绑定页面用户,并实时监听每个用户的元素及元素变化以在该页面上采集测试用例,杜绝测试遗漏,减少用例采集、维护成本。
为实现上述目的,本发明提供的一种生成测试用例的方法,包括:
在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本;
基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识;
绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包;
针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
可选地,在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本的过程,包括:
根据所述待测试页面确定与所述待测试页面相关的项目符号;
在待测试页面上标注所述项目符号形成项目页面;
在预创脚本上注入与所述项目符号一一对应的收集符号以形成收集脚本,并根据所述收集符号与所述项目符号的对应关系将所述收集脚本注入所述项目页面;
所述收集脚本读取所述项目页面中包含的每一页面,并判断每一页面是否与所述项目符号一一对应,若一一对应则完成收集准备,若不一一对应,则所述收集脚本发出错误提示,以重新注入收集符号。
可选地,基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识的过程包括:
为所述收集脚本设置时间阈值形成采集程序;
为所述采集程序设定采集目标,使所述采集程序按照所述时间阈值定时向所述采集目标进行信息采集;
在所述项目页面中的每一页面流程设置唯一标识,并将所述唯一标识输入所述采集目标中。
可选地,绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包的过程包括:
查找所述项目页面的用户的注册信息,获取所述用户的授权,并将所述用户与所述采集线程相绑定;
所述采集线程获取所述项目页面的初始化数据,再次绑定所述用户的光标操作;
通过读取所述用户的光标操作获取所述用户的点击和输入事件,并将所述点击和输入事件作为点击元素发送至所述采集线程的消息队列中;
解析所述点击元素以获取所述用户的变化事件及动态过程;
将所述点击元素、变化事件及动态过程整合为用户数据包,并为所述用户数据包添加时间戳,将添加时间戳的用户数据包发送至所述消息队列。
可选地,所述变化事件及动态过程至少包括:新增节点、删除节点、属性变动、节点内容、和节点文本变化。
可选地,针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例的过程包括:
在所述项目页面中预设所述点击元素的定位信息;所述定位信息为每个点击元素的ID;
在所述消息队列中读取所述用户数据包,并根据所述用户数据包中的数据在所述项目页面中查找所述点击元素的定位信息;
基于所述点击元素的定位信息解析获取所述变化事件的变动属性;
将所述点击元素的定位信息、所述变化事件的变动属性输入所述数据包形成用例,并将所述用例传输至所述采集线程的消息队列;
在所述用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,并将所述测试用例上传至用例采集平台。
可选地,在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例之后还包括对所述测试用例进行筛选整理,对所述测试用例进行筛选整理的过程包括:
所述用例采集平台根据所述唯一标识和项目符号在所述项目页面中筛选出与所述唯一标识对应的页面流程中所有的变化事件,并按照时间戳进行时间排序;
在同一时间戳内对不同项目符号下的测试用例进行项目汇总形成单项目测试用例;
在同一项目符号下对不同唯一标识下的测试用例进行单页面划分形成单项目单页面测试用例。
为了解决上述问题,本发明还提供一种生成测试用例的装置,所述装置包括:
项目标注单元,用于在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本;
线程生成单元,用于基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识;
数据采集单元,用于绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包;
用例形成单元,用于针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的生成测试用例的方法中的步骤。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的生成测试用例的方法。
本发明实施例首先在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本,基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识,再绑定项目页面的用户身份,通过采集线程采集用户操作项目页面过程中与用户身份相对应的点击元素及变化事件,并将点击元素及变化事件生成用户数据包,从而获取到用户所有的点击信息,从而针对用户数据包获取点击元素的元素定位信息及变化事件的变动属性,再将元素定位信息及变动属性注入用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,从而测试人员可以根据形成的测试用例去获取对应语言的测试用例,或者由系统根据该形成的测试用例生成标准的测试用例,进而测试人员的工作从编写和维护变成只需要从测试用例库中维护部分需要的测试用例即可,大大减少了测试用例的维护和编写成本,并且杜绝测试遗漏的状况。
附图说明
图1为本发明一实施例提供的生成测试用例的方法的流程示意图;
图2为本发明一实施例提供的生成测试用例的装置的模块示意图;
图3为本发明一实施例提供的实现生成测试用例的方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种生成测试用例的方法。参照图1所示,为本发明一实施例提供的生成测试用例的方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,生成测试用例的方法包括:
S1:在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本;
在本发明的一个具体实施例中,步骤S1的过程可以包括:
S11:根据所述待测试页面确定与所述待测试页面相关的项目符号;在待测试页面上标注该项目符号形成项目页面;
S12:在预创脚本上注入与项目符号一一对应的收集符号以形成收集脚本,并根据收集符号与项目符号的对应关系将收集脚本注入项目页面;
S13:收集脚本读取项目页面中包含的每一页面,并判断每一页面是否与项目符号一一对应,若一一对应则完成收集准备,若不一一对应,则收集脚本发出错误提示,以重新注入收集符号。
具体的,在本实施例中待测试页面采用售卖网页,在采集该售卖网页的测试用例时,首先在该售卖网页上按预设标注规则标注项目符号,该项目符号可以是在创建该售卖网页时的网页命名,也可以是创建该售卖网站是的网站命名,甚至可以是集团项目命名,当然也可以是全新的专门针对测试而进行的测试命名,具体可以根据测试的实际需求设定。
在本实施例中,该售卖网页的项目符号为全新测试命名,更为具体的,该售卖网页的项目符号为“S web”,以保证在后期进行测试用例维护时,能够快速准确地找到售卖项目中的测试用例;而后创建能够在该售卖网页中进行用例采集的脚本,该脚本包含有与该售卖网页相对应的特征采集模块,并且根据测试需求预设与该售卖网页测试倾向相一致的测试数据容器,比如在售卖网页中点击加购与付款时,期间的速度及元素变化为倾向测试点,则将该元素的测试数据容器最大化设置;
在创建的脚本上注入与项目符号一一对应的收集符号形成收集脚本,并根据收集符号将收集脚本注入项目页面,该收集符号可以与项目符号相同,也可以根据数据库中的收集脚本的总体排名进行命名,换句话说该收集符号即为收集脚本的名称,每套项目页面对应一个收集脚本,故每个项目符号对应一个收集符号,以便后期进行测试用例管理;然后收集脚本读取项目页面中包含的每一页面,并判断每一页面是否与项目符号一一对应,在本实施例中,售卖网页处于售卖网站中,该售卖网站或许均需要测试,但各个售卖页面的测试倾向并非完全相同,因而为了防止脚本出错,需要判断注入脚本的售卖页面是否是真正需要进行测试用例采集的页面,若一一对应则完成收集准备,只需进行下一步的采集,若不一一对应,则收集脚本发出错误提示,以重返注入收集符号,虽然此种状况一般不易出现,但经过该判断过程,能够更准确地完成用例采集,从而生成具有倾向性的测试用例,进而提高测试用例的准确性和适应性。
S2:基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识。
在步骤S2中,基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识的过程包括:
S21:为收集脚本设置时间阈值形成采集程序;
S22:为采集程序设定采集目标,使采集程序按照时间阈值定时向采集目标进行信息采集;
S23:在项目页面中的每一页面流程设置唯一标识,并将唯一标识输入采集目标中;
在本实施例中,还包括S24:采集程序访问项目页面中的各个页面,寻找各个页面是否存在唯一标识,若不存在则为该页面新创建一个唯一标识,若存在,则判断各个页面的唯一标识是否在该采集目标的列表中,若在,则生成采集线程,若不在,则返回输入该页面的唯一标识,以防止采集遗漏。
其中,该唯一标识为随机生成的一个不会重复的字符串,在本实施例中记作uuid,生成的唯一标识放置在页面的统一资源定位符(url)中。
需要说明的是,采集线程为网页页面中与操作页面不同的另一线程,两个线程相并行,互不干扰,以售卖网页为例,采集该售卖网页测试用例的线程与售卖网页进行售卖的线程并行而立,互不干扰。
S3:绑定项目页面的用户身份,通过采集线程采集用户操作项目页面过程中与用户身份相对应的点击元素及变化事件,并将点击元素及变化事件生成用户数据包;
步骤S3的过程,包括:
S31:查找项目页面的用户的注册信息,获取用户的授权,并将用户与采集线程相绑定;
S32:先进行项目页面初始化,采集线程获取该项目页面的初始化数据,再次绑定用户的光标操作;
S33:通过读取用户的光标操作获取用户的点击和输入事件,并将点击和输入事件作为点击元素发送至采集线程的消息队列中;
S34:解析点击元素以获取用户的变化事件及动态过程;其中,该变化事件及动态过程至少包括:新增节点、删除节点、属性变动、节点内容、和节点文本变化。
S35:将点击元素、变化事件及动态过程整合为用户数据包,并为用户数据包添加时间戳,将添加时间戳的用户数据包发送至消息队列。
在本实施例中,仍以售卖网页作为待测试页面,采集线程首先获取该售卖网页中所有用户的注册信息,根据该注册信息获取到该用户的授权,应以用户之情为前提,采用采集线程对该用的进行监听,从而获取该用户点击的元素及变化事件,元素为该售卖网页上的选项,比如“加购物车”、“购买”、“浏览”键,变化事件为状态,或者说为一种动态,比如由加购转换为购买的状态,由浏览转为购买的状态,在变化事件所涉及的所有元素均属于采集线程采集的范围,具体的流程,如上所述,在此不做赘述。
S4:针对用户数据包获取点击元素的元素定位信息及变化事件的变动属性,将元素定位信息及变动属性注入所述用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例;
步骤S4的过程,包括:
S41:在项目页面中预设点击元素的定位信息;定位信息为每个点击元素的ID;
S42:在消息队列中读取用户数据包,并根据用户数据包中的数据在项目页面中查找点击元素的定位信息;
S43:基于点击元素的定位信息解析获取变化事件的变动属性;
S44:将点击元素的定位信息、变化事件的变动属性输入数据包形成用例,并将用例传输至采集线程的消息队列;
S45:在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,并将测试用例上传至用例采集平台。
在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例之后还包括对测试用例进行筛选整理S51,对测试用例进行筛选整理S51的过程包括:
S51-1:用例采集平台根据唯一标识和项目符号在项目页面中筛选出与唯一标识对应的页面流程中所有的变化事件,并按照时间戳进行时间排序;
S51-2:在同一时间戳内对不同项目符号下的测试用例进行项目汇总形成单项目测试用例;
S51-3:在同一项目符号下对不同唯一标识下的测试用例进行单页面划分形成单项目单页面测试用例。
在本实施例中,对测试用例进行筛选整理之后还包括对该测试用例的应用S52,由于用户可能不会走完一个完整流程所以需要测试人员主动筛选出可用的测试用例集合,筛选的过程可以为测试人员通过平台提供的筛选功能实现。
如上所述,本发明提供的生成测试用例的方法,首先在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本,基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识,再绑定项目页面的用户身份,通过采集线程采集用户操作项目页面过程中与用户身份相对应的点击元素及变化事件,并将点击元素及变化事件生成用户数据包,从而获取到用户所有的点击信息,从而针对用户数据包获取点击元素的元素定位信息及变化事件的变动属性,再将元素定位信息及变动属性注入用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,从而测试人员可以根据形成的测试用例去获取对应语言的测试用例,或者由系统根据该形成的测试用例生成标准的测试用例,进而测试人员的工作从编写和维护变成只需要从测试用例库中维护部分需要的测试用例即可,大大减少了测试用例的维护和编写成本,并且杜绝测试遗漏的状况。
如图2所示,本发明提供一种生成测试用例的装置100,本发明可以安装于电子设备中。根据实现的功能,该生成测试用例的装置100可以包括项目标注单元101、线程生成单元102、数据采集单元103、用例形成单元104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
项目标注单元101,用于在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本;
线程生成单元102,用于基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识;
数据采集单元103,用于绑定项目页面的用户身份,通过采集线程采集用户操作项目页面过程中与用户身份相对应的点击元素及变化事件,并将点击元素及变化事件生成用户数据包;
用例形成单元104,用于针对用户数据包获取点击元素的元素定位信息及变化事件的变动属性,将元素定位信息及变动属性注入用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
如图3所示,本发明提供一种生成测试用例的方法的电子设备1。
该电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在存储器11中并可在所述处理器10上运行的计算机程序,如生成测试用例的程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如生成测试用例的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如生成测试用例的程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的生成测试用例的程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
在待测试页面上按预设标注规则标注项目符号形成项目页面,并在项目页面中注入收集脚本;
基于收集脚本生成采集线程,并为项目页面中的每一页面流程设置唯一标识;
绑定项目页面的用户身份,通过采集线程采集用户操作项目页面过程中与用户身份相对应的点击元素及变化事件,并将点击元素及变化事件生成用户数据包;
针对用户数据包获取点击元素的元素定位信息及变化事件的变动属性,将元素定位信息及变动属性注入用户数据包内形成用例,并在用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述生成测试用例的私密和安全性,上述生成测试用例的数据存储于本服务器集群所处区块链的节点中。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种生成测试用例的方法,其特征在于,包括:
在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本;
基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识;
绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包;
针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
2.如权利要求1所述的生成测试用例的方法,其特征在于,在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本的过程,包括:
根据所述待测试页面确定与所述待测试页面相关的项目符号;
在待测试页面上标注所述项目符号形成项目页面;
在预创脚本上注入与所述项目符号一一对应的收集符号以形成收集脚本,并根据所述收集符号与所述项目符号的对应关系将所述收集脚本注入所述项目页面;
所述收集脚本读取所述项目页面中包含的每一页面,并判断每一页面是否与所述项目符号一一对应,若一一对应则完成收集准备,若不一一对应,则所述收集脚本发出错误提示,以重新注入收集符号。
3.如权利要求2所述的生成测试用例的方法,其特征在于,基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识的过程包括:
为所述收集脚本设置时间阈值形成采集程序;
为所述采集程序设定采集目标,使所述采集程序按照所述时间阈值定时向所述采集目标进行信息采集;
在所述项目页面中的每一页面流程设置唯一标识,并将所述唯一标识输入所述采集目标中。
4.如权利要求1所述的生成测试用例的方法,其特征在于,绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包的过程包括:
查找所述项目页面的用户的注册信息,获取所述用户的授权,并将所述用户与所述采集线程相绑定;
所述采集线程获取所述项目页面的初始化数据,再次绑定所述用户的光标操作;
通过读取所述用户的光标操作获取所述用户的点击和输入事件,并将所述点击和输入事件作为点击元素发送至所述采集线程的消息队列中;
解析所述点击元素以获取所述用户的变化事件及动态过程;
将所述点击元素、变化事件及动态过程整合为用户数据包,并为所述用户数据包添加时间戳,将添加时间戳的用户数据包发送至所述消息队列。
5.如权利要求4所述的生成测试用例的方法,其特征在于,
所述变化事件及动态过程至少包括:新增节点、删除节点、属性变动、节点内容、和节点文本变化。
6.如权利要求5所述的基于生成测试用例的方法,其特征在于,针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例的过程包括:
在所述项目页面中预设所述点击元素的定位信息;所述定位信息为每个点击元素的ID;
在所述消息队列中读取所述用户数据包,并根据所述用户数据包中的数据在所述项目页面中查找所述点击元素的定位信息;
基于所述点击元素的定位信息解析获取所述变化事件的变动属性;
将所述点击元素的定位信息、所述变化事件的变动属性输入所述数据包形成用例,并将所述用例传输至所述采集线程的消息队列;
在所述用例上标注与用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例,并将所述测试用例上传至用例采集平台。
7.如权利要求1所述的生成测试用例的方法,其特征在于,在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例之后还包括对所述测试用例进行筛选整理,对所述测试用例进行筛选整理的过程包括:
所述用例采集平台根据所述唯一标识和项目符号在所述项目页面中筛选出与所述唯一标识对应的页面流程中所有的变化事件,并按照时间戳进行时间排序;
在同一时间戳内对不同项目符号下的测试用例进行项目汇总形成单项目测试用例;
在同一项目符号下对不同唯一标识下的测试用例进行单页面划分形成单项目单页面测试用例。
8.一种生成测试用例的装置,其特征在于,所述装置包括:
项目标注单元,用于在待测试页面上按预设标注规则标注项目符号形成项目页面,并在所述项目页面中注入收集脚本;
线程生成单元,用于基于所述收集脚本生成采集线程,并为所述项目页面中的每一页面流程设置唯一标识;
数据采集单元,用于绑定所述项目页面的用户身份,通过所述采集线程采集用户操作所述项目页面过程中与所述用户身份相对应的点击元素及变化事件,并将所述点击元素及变化事件生成用户数据包;
用例形成单元,用于针对所述用户数据包获取所述点击元素的元素定位信息及所述变化事件的变动属性,将所述元素定位信息及变动属性注入所述用户数据包内形成用例,并在所述用例上标注与所述用户操作页面对应的唯一标识及所属项目页面的项目符号以形成测试用例。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的生成测试用例的方法中的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的生成测试用例的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505377.4A CN112527664A (zh) | 2020-12-18 | 2020-12-18 | 生成测试用例的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505377.4A CN112527664A (zh) | 2020-12-18 | 2020-12-18 | 生成测试用例的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527664A true CN112527664A (zh) | 2021-03-19 |
Family
ID=75001506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011505377.4A Pending CN112527664A (zh) | 2020-12-18 | 2020-12-18 | 生成测试用例的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527664A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113821451A (zh) * | 2021-11-24 | 2021-12-21 | 北京交研智慧科技有限公司 | 一种测试方法、装置、电子设备和可读存储介质 |
CN116070046A (zh) * | 2023-02-17 | 2023-05-05 | 贝壳找房(北京)科技有限公司 | 项目测试信息展示方法和装置、电子设备、存储介质 |
-
2020
- 2020-12-18 CN CN202011505377.4A patent/CN112527664A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254338A (zh) * | 2021-05-25 | 2021-08-13 | 深圳前海微众银行股份有限公司 | 测试用例生成方法、装置及设备 |
CN113821451A (zh) * | 2021-11-24 | 2021-12-21 | 北京交研智慧科技有限公司 | 一种测试方法、装置、电子设备和可读存储介质 |
CN113821451B (zh) * | 2021-11-24 | 2022-03-22 | 北京交研智慧科技有限公司 | 一种测试方法、装置、电子设备和可读存储介质 |
CN116070046A (zh) * | 2023-02-17 | 2023-05-05 | 贝壳找房(北京)科技有限公司 | 项目测试信息展示方法和装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527664A (zh) | 生成测试用例的方法、装置、电子设备及存储介质 | |
CN112506779A (zh) | 软件接口测试方法、装置、电子设备及存储介质 | |
CN113238929B (zh) | 基于Mock数据的代码测试方法、装置、电子设备及存储介质 | |
CN112559355A (zh) | 测试用例的生成方法、装置、电子设备及存储介质 | |
CN112115145A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN113377661A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN114398194A (zh) | 数据收集方法、装置、电子设备及可读存储介质 | |
CN114880238A (zh) | 移动端界面测试方法、装置、设备及存储介质 | |
CN115081016A (zh) | 日志脱敏方法、装置、电子设备及存储介质 | |
CN113886204A (zh) | 用户行为数据收集方法、装置、电子设备及可读存储介质 | |
CN113051224A (zh) | 文件传输方法、装置、电子设备及计算机可读存储介质 | |
CN112541688A (zh) | 业务数据校验方法、装置、电子设备及计算机存储介质 | |
CN112528206A (zh) | 网页日志收集方法、装置、电子设备及存储介质 | |
CN115544566A (zh) | 日志脱敏方法、装置、设备及存储介质 | |
CN115145870A (zh) | 失败任务原因定位方法、装置、电子设备及存储介质 | |
CN114911479A (zh) | 基于配置化的界面生成方法、装置、设备及存储介质 | |
CN114510400A (zh) | 任务执行方法、装置、电子设备及存储介质 | |
CN115080899A (zh) | 交互式子网页启动方法、装置、设备及存储介质 | |
CN114185588A (zh) | 增量包生成方法、装置、设备及存储介质 | |
CN114611477A (zh) | 数据表的设计推荐方法、装置、电子设备及介质 | |
CN114385497A (zh) | 测试环境生成方法、装置、电子设备及存储介质 | |
CN114036068A (zh) | 基于隐私安全的更新检测方法、装置、设备及存储介质 | |
CN112667244A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN113051171A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN113469649A (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 |