一种基于大数据的测试用例管理方法及装置与流程

文档序号:17079905发布日期:2019-03-09 00:08阅读:231来源:国知局
一种基于大数据的测试用例管理方法及装置与流程

本发明属于软件开发技术领域,具体涉及一种基于大数据的测试用例管理方法及装置。



背景技术:

软件测试指的是软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认,保证与评估软件质量的重要手段。在此过程中,测试用例的撰写与维护是非常重要的一环,也是进行测试发现缺陷评估产品质量的重要依据。

但是在实际项目或产品开发周期内,鉴于各种内部或外部因素,软件测试的周期往往会被压缩,致使测试人员任务重、时间短,而在较短时间内快速发现优先级较高的缺陷,不仅仅需要测试人员长期的经验以及对产品的熟悉程度、业务技能等多方面因素综合,更需要的是高质量的测试用例。由于每个人对同一需求的理解程度、思维广度、测试视角各方面都有所不同,所以编写出的测试用例可能就会遗漏某些测试点,或者颗粒度过大,场景与业务用例欠缺,通用功能测试用例重复等等问题。



技术实现要素:

针对现有技术的不足,本发明提供一种基于大数据的测试用例管理方法及装置,以解决上述技术问题。

第一方面,本申请实施例提供一种基于大数据的测试用例管理方法,所述方法包括:

在协议层设置测试用例库;

设置测试用例关键词并建立关键词与测试用例的映射关系;

根据在应用层录入的关键词调用测试用例库中与录入的关键词具有映射关系的测试用例;

将调用的测试用例作为参考测试用例。

结合第一方面,在第一方面的第一种实施方式中,所述在协议层设置测试用例库包括:

利用区块链技术设置分布式的测试用例库;

利用logstash开源的服务器数据处理管道采集测试用例并将采集的测试用例存储至测试用例库;

判断在应用层编写的测试用例是否已经存在于测试用例库中:

是,则显示匹配信息;

否,则将应用层的测试用例上传至测试用例库。

结合第一方面,在第一方面的第二种实施方式中,所述将调用的测试用例作为参考测试用例包括:

将调用的测试用例缓存至应用层并在应用层显示所述测试用例;

对缓存的测试用例进行分析总结获取并显示多维度测试用例设计信息;

将选中的缓存测试用例存储至本地数据库并清除缓存测试用例;

根据输入的关键词筛选本地数据库中与所述关键词具有映射关系的测试用例;

对本地调用的测试用例进行编辑并对编辑内容进行智能纠错;

按照迭代阶段刷新本地数据库中的测试用例编号。

结合第一方面,在第一方面的第三种实施方式中,所述方法还包括:

根据产品缺陷查询缺陷模块对应的测试用例;

判断对应测试用例是否存在:

是,则返回对应测试用例;

否,则判定存在测试用例未覆盖情况并显示判定结果。

结合第一方面,在第一方面的第四种实施方式中,所述方法还包括:

根据用户信息创建用户id;

根据登录的用户id授予相应的操作权限。

第二方面,本申请实施例提供一种基于大数据的测试用例管理装置,所述装置包括:

上层设置单元,配置用于在协议层设置测试用例库;

映射设置单元,配置用于设置测试用例关键词并建立关键词与测试用例的映射关系;

用例调用单元,配置用于根据在应用层录入的关键词调用测试用例库中与录入的关键词具有映射关系的测试用例;

用例参考单元,配置用于将调用的测试用例作为参考测试用例。

结合第二方面,在第二方面的第一种实施方式中,所述上层设置单元包括:

结构设置模块,配置用于利用区块链技术设置分布式的测试用例库;

用例采集模块,配置用于利用logstash开源的服务器数据处理管道采集测试用例并将采集的测试用例存储至测试用例库;

用例判断模块,配置用于判断在应用层编写的测试用例是否已经存在于测试用例库中;

匹配显示模块,配置英语显示匹配信息;

用例上传模块,配置用于将应用层的测试用例上传至测试用例库。

结合第二方面,在第二方面的第二种实施方式中,所述用例参考单元包括:

用例缓存模块,配置用于将调用的测试用例缓存至应用层并在应用层显示所述测试用例;

用例分析模块,配置用于对缓存的测试用例进行分析总结获取并显示多维度测试用例设计信息;

用例存储模块,配置用于将选中的缓存测试用例存储至本地数据库并清除缓存测试用例;

用例查询模块,配置用于根据输入的关键词筛选本地数据库中与所述关键词具有映射关系的测试用例;

用例编辑模块,配置用于对本地调用的测试用例进行编辑并对编辑内容进行智能纠错;

用例排序模块,配置用于按照迭代阶段刷新本地数据库中的测试用例编号。

结合第二方面,在第二方面的第三种实施方式中,所述装置还包括:

缺陷查询单元,配置用于根据产品缺陷查询缺陷模块对应的测试用例;

存在判断单元,配置用于判断对应测试用例是否存在;

用例返回单元,配置用于返回对应测试用例;

覆盖判定单元,配置用于判定存在测试用例未覆盖情况并显示判定结果。

结合第二方面,在第二方面的第四种实施方式中,所述装置还包括:

id创建单元,配置用于根据用户信息创建用户id;

权限授予单元,配置用于根据登录的用户id授予相应的操作权限。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端终端执行上述的终端终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的基于大数据的测试用例管理方法及装置,通过在协议层创建测试用例库,并利用大数据从测试用例库中获取客户需要的测试用例,将根据关键词筛选出的测试用例作为参考测试用例帮助测试人员选择和编写测试用例。本发明能够避免测试人员因为个人思维限制或时间匆忙等客观与主观因素导致测试用例覆盖度不够的情况,帮助测试人员撰写出全面高效的测试用例,并在测试过程中快速发现缺陷,减少漏测几率。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例的方法的示意性流程图。

图2是本申请一个实施例的装置的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面对本申请中出现的关键术语进行解释。

图1是本申请一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种基于大数据的测试用例管理装置。

如图1所示,该方法100包括:

步骤110,在协议层设置测试用例库;

步骤120,设置测试用例关键词并建立关键词与测试用例的映射关系;

步骤130,根据在应用层录入的关键词调用测试用例库中与录入的关键词具有映射关系的测试用例;

步骤140,将调用的测试用例作为参考测试用例。

可选地,作为本申请一个实施例,所述在协议层设置测试用例库包括:

利用区块链技术设置分布式的测试用例库;

利用logstash开源的服务器数据处理管道采集测试用例并将采集的测试用例存储至测试用例库;

判断在应用层编写的测试用例是否已经存在于测试用例库中:

是,则显示匹配信息;

否,则将应用层的测试用例上传至测试用例库。

可选地,作为本申请一个实施例,所述将调用的测试用例作为参考测试用例包括:

将调用的测试用例缓存至应用层并在应用层显示所述测试用例;

对缓存的测试用例进行分析总结获取并显示多维度测试用例设计信息;

将选中的缓存测试用例存储至本地数据库并清除缓存测试用例;

根据输入的关键词筛选本地数据库中与所述关键词具有映射关系的测试用例;

对本地调用的测试用例进行编辑并对编辑内容进行智能纠错;

按照迭代阶段刷新本地数据库中的测试用例编号。

可选地,作为本申请一个实施例,所述方法还包括:

根据产品缺陷查询缺陷模块对应的测试用例;

判断对应测试用例是否存在:

是,则返回对应测试用例;

否,则判定存在测试用例未覆盖情况并显示判定结果。

可选地,作为本申请一个实施例,所述方法还包括:

根据用户信息创建用户id;

根据登录的用户id授予相应的操作权限。

为了便于对本发明的理解,下面以本发明基于大数据的测试用例管理方法的原理,结合实施例中对测试用例进行管理的过程,对本发明提供的基于大数据的测试用例管理方法做进一步的描述。

具体的,所述基于大数据的测试用例管理方法是通过设置于云平台的协议层和本地服务器的应用层实施的,协议层与应用层之间网络连接。其中,协议层是指的底层技术,即大数据采用的数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化关键技术。flumeng实时日志收集系统可以将零散的数据归纳整合在一起,写入数据仓库;logstash开源的服务器数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到存储库。采用分布式计算工具处理数据,hadoop,spark,storm,分布式文件系统hdfs。此处大数据采用聚类、关联、神经网络、数据挖掘的算法,可以根据一个数据项的出现推导出其他数据项的出现。神经网络具有自行处理、分布存储和高度容错的特性。id3算法决策树是一种依托决策而建立起来的一种树,此种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象,树中的每一个分叉路径代表某个可能的属性值,而每一个叶子节点则对应从根节点到该叶子节点所经历的路径所表示的对象的值。决策树仅有单一输出,如果有多个输出,可以分别建立独立的决策树以处理不同的输出。区块链每个节点都按照块链式结构存储完整的数据;区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,除非所有节点都遭到破坏,否则节点数据理论上都不会丢失,所以保证了数据安全性。而共识机制是防止篡改的有效手段,具备“少数服从多数”以及“人人平等”的特点,由此既提高效率又保证了安全。同时,非关系型数据库nosql的应用,更好地解决了因汇集多种数据种类带来的数据应用问题。

而应用层包括针对所述技术所构建的基础设施平台包括基础服务器;存储系统nfs、iscsi等;以太网交换机或光纤交换机;软件有虚拟化平台,可以是现有市场上的openstack、vmware、openstack、ics、xenserver等。

所述基于大数据的测试用例管理方法具体步骤如下:

s1、在协议层设置测试用例库。

在协议层创建分布式数据库作为测试用例库,实时更新测试用例库,更新方法包括通过logstash开源的服务器数据处理管道采集网络上的测试用例;将应用层编写的测试用例去重后存储至测试用例库。

s2、在应用层根据用户信息创建用户id并授予相应的操作权限。

用户包括超级管理员、项目管理员和项目用户。超级管理员拥有系统最大的权限,可以进行项目的维护;不同权限用户的维护与分配;可以配置系统显示的模块。项目管理员是各个项目的管理人员,拥有某一项目下操作的权限,对特定项目下的数据,主要是需求,用例进行维护,对其他项目没有操作与访问的权限;可以维护项目内的项目成员的添加,删除与更改。项目用户,是具体维护项目内数据的成员,仅对有权限的模块有操作权限,主要操作是测试用例的新增、修改、删除、查看。

用户注册需要用户名、工号、联系方式、账号密码个人基本信息。不同的角色用户登陆统一身份系统获得不同权限,访问各个应用系统。

如果其他用户想要查询或增加信息时,需要个人用户授权,个人通过数字签名确定申请者的身份,确定后再向连接层的区块链中进行权限的验证,如果验证通过,查询所申请的数据操作的权限是否开放,开放,则进行相关数据操作,不开放则向所有者提出权限申请,等待所有者审批,审批才有权限进行操作,若审批不通过,则无权操作。

s3、设置测试用例关键词并建立关键词与测试用例的映射关系。

关键词根据需求名称、插件类型、功能等进行设置。创建的映射关系为多对多的形式,即一个关键词可以对应多个测试用例,一个测试用例可以对应多个关键词。

s4、根据在应用层录入的关键词调用测试用例库中与录入的关键词具有映射关系的测试用例。

应用层根据用户选择的关键词生成调用请求并将调用请求发送至协议层,协议层基于大数据根据调用请求中的关键词筛选出测试用例库中与关键词有映射关系的测试用例,并将筛选出的测试用例返回应用层。

返回的测试用例可用于测试用例预测,测试用例预测模块选择某个需求,展示出可能采用的测试范围、测试角度,给测试用例设计人员提供参考性意见。对于软件产品通用的ui模块,如对于表格的数据,页面样式、选择则、选择记录条数、翻页等功能,如果是同一插件的话,不同需求涉及到该点的测试用例都是一样的。所以针对不同的插件或功能,系统自动整理出相应的测试用例集,测试用例维护人员可以直接调取使用,或做细微的改动即可,减少了工作量,提高了工作效率。

s5、将调用的测试用例作为参考测试用例。

将调用的测试用例缓存至应用层并在应用层显示所述测试用例,对缓存的测试用例进行分析总结获取并显示多维度测试用例设计信息。系统中项目用户或管理员想要新增测试用例时,首先编辑测试用例的关键信息,包括对应的需求编号与名称、测试点、测试步骤、用例类型、预期结果、设计者。在编写用例时,当输入或选择需求名称时,得到相应多维度测试用例设计信息,信息包括该需求可能的测试方法,测试方向,测试范围,测试视角,从不同维度给出测试用例设计点,为测试用例维护人员提供全方位的推荐。这里面不仅依赖大量相关需求或相似需求的测试维度与测试数据,也依赖于产品已有缺陷。

测试人员也可以对从协议层调用的参考测试用例进行编辑修改,将选中的缓存测试用例存储至本地数据库并清除缓存测试用例。根据用户输入的关键词筛选本地数据库中与所述关键词具有映射关系的测试用例,点击测试用例的主题,就可以查看用例的详情。测试人员在修改参考测试用例或编写新的测试用例时,系统实时对编写内容智能纠错。当产品出现缺陷时,根据差评缺陷类型查询缺陷模块对应的测试用例,若能够查找到相应测试用例则返回查找结果,若不能查找到相应测试用例则提示存在测试用例未覆盖的情况,并将缺陷情况存储至协议层,避免忘记维护相应测试用例的情况。

在测试用例数量有变更的时候,会自动给出是否变化用例编号的提示,给出人性化友好的选择,根据不同的要求提供不同的解决方式,如按照需求重新刷新编号;按照迭代阶段重新刷新编号等,避免测试人员通过反复导出导入excel,对编号问题排序。

如图2示,该装置200包括:

上层设置单元210,所述上层设置单元210用于在协议层设置测试用例库;

映射设置单元220,所述映射设置单元220用于设置测试用例关键词并建立关键词与测试用例的映射关系;

用例调用单元230,所述用例调用单元230用于根据在应用层录入的关键词调用测试用例库中与录入的关键词具有映射关系的测试用例;

用例参考单元240,所述用例参考单元240用于将调用的测试用例作为参考测试用例。

可选地,作为本申请一个实施例,所述上层设置单元包括:

结构设置模块,配置用于利用区块链技术设置分布式的测试用例库;

用例采集模块,配置用于利用logstash开源的服务器数据处理管道采集测试用例并将采集的测试用例存储至测试用例库;

用例判断模块,配置用于判断在应用层编写的测试用例是否已经存在于测试用例库中;

匹配显示模块,配置英语显示匹配信息;

用例上传模块,配置用于将应用层的测试用例上传至测试用例库。

可选地,作为本申请一个实施例,所述用例参考单元包括:

用例缓存模块,配置用于将调用的测试用例缓存至应用层并在应用层显示所述测试用例;

用例分析模块,配置用于对缓存的测试用例进行分析总结获取并显示多维度测试用例设计信息;

用例存储模块,配置用于将选中的缓存测试用例存储至本地数据库并清除缓存测试用例;

用例查询模块,配置用于根据输入的关键词筛选本地数据库中与所述关键词具有映射关系的测试用例;

用例编辑模块,配置用于对本地调用的测试用例进行编辑并对编辑内容进行智能纠错;

用例排序模块,配置用于按照迭代阶段刷新本地数据库中的测试用例编号。

可选地,作为本申请一个实施例,所述装置还包括:

缺陷查询单元,配置用于根据产品缺陷查询缺陷模块对应的测试用例;

存在判断单元,配置用于判断对应测试用例是否存在;

用例返回单元,配置用于返回对应测试用例;

覆盖判定单元,配置用于判定存在测试用例未覆盖情况并显示判定结果。

可选地,作为本申请一个实施例,所述装置还包括:

id创建单元,配置用于根据用户信息创建用户id;

权限授予单元,配置用于根据登录的用户id授予相应的操作权限。

图3为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本申请实施例提供的更新散热策略参数的方法。

其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本申请实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本申请通过在协议层创建测试用例库,并利用大数据从测试用例库中获取客户需要的测试用例,将根据关键词筛选出的测试用例作为参考测试用例帮助测试人员选择和编写测试用例。本发明能够避免测试人员因为个人思维限制或时间匆忙等客观与主观因素导致测试用例覆盖度不够的情况,帮助测试人员撰写出全面高效的测试用例,并在测试过程中快速发现缺陷,减少漏测几率,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1