一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于需求管理的测试用例代码定位方法和系统与流程

2022-11-09 22:45:22 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种基于需求管理的测试用例代码定位方法和系统。


背景技术:

2.软件测试是在规定的条件下用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验软件系统是否满足需求。随着开发的深入,软件测试与整个开发流程融合成一体,软件开发和软件测试一般是在软件开发过程中的两个阶段。
3.一些情况下,软件开发是在一个已经成熟的功能或者产品上面再迭代一些新的功能。这样,对一次软件测试并不需要针对整个软件系统做全面测试,而是定位代码修改或者增加的部分,仅对这部分内容进行测试。软件项目根据自身的规模,可能需要用到几十,上百,甚至更多的组件。软件项目也需要由十几、几十个、甚至更多的工程师开发和维护。而总所周知的,对于一个规模较大的需求,通常会拆分多个子任务给不同人员开发,如果任务和代码不做对应标记,无法判断一个子任务引入或修改了多少代码,在软件测试过程中,有多少代码被覆盖到。再加上一个软件开发人员有可能同时承担多个需求的开发,目前的技术也无法仅根据人员身份将每个需求和其所改动的代码对应起来。
4.一个需求的测试人员如果想看看这个需求改动了哪些代码,以此设计测试用例、避免测试遗漏,是很困难的。因此,测试人员如何将根据需求直接定位到软件代码,是软件测试环节中非常重要的一步。


技术实现要素:

5.本技术提供一种可以大大地提高了代码定位的精度,提升代码覆盖率的基于需求管理的测试用例代码定位方法和系统。
6.第一方面,本技术提供一种基于需求管理的测试用例代码定位系统,包括:需求管理平台,代码提交平台,以及代码查询平台;其中,代码查询平台与所述需求管理平台和代码提交平台相连接。所述需求管理平台,用于接收需求输入指令,创建功能需求,所述功能需求对应多个子任务;以及为所述子任务配置子任务编号。所述代码提交平台,用于接收代码提交指令,创建与所述子任务相关的事项分支,根据需求管理平台中与所述子任务相对应子任务编号为将所述事项分支命名,将所述事项分支合并到代码总支。所述代码查询平台,用于访问所述需求管理平台以获取与所述功能需求对应子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。
7.可选的,所述需求管理平台设置有第一对外访问接口,用于提供查询子任务编号的第一服务。所述代码提交平台设置有第二对外访问接口,用于提供查询与所述子任务编号对应的代码信息的第二服务,其中,所述代码信息包括代码行数和代码覆盖率。所述代码查询平台通过访问所述第一对外访问接口获取需求管理平台的子任务编号,通过访问所述
第二对外访问接口获取代码提交平台的代码信息。
8.可选的,所述需求管理平台进一步包括需求创建模块和任务划分模块。需求创建模块用于接收需求输入指令,创建功能需求,并生成功能需求id。任务划分模块用于接收任务划分指令,将所述功能需求划分成多个子任务,并生成与所述子任务相对应的子任务编号。
9.可选的,所述代码提交平台进一步包括pa模式提交模块,和/或,fock模式提交模块。在接收子任务提交指令时,获取所述需求管理平台中子任务的数量;如果所述子任务的数量小于预设阈值,则通过pa模式提交模块进行代码提交;如果所述子任务的刷量不小于预设阈值,则通过fock模式提交模块进行代码提交。
10.可选的,所述pa模式提交模块用于为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release总支。所述fock模式提交模块,用于为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,将私仓release分支合并到公仓release总支。
11.可选的,代码提交平台进一步包括:pa模式提交模块,和/或,fock模式提交模块。pa模式提交模块,用于如果所述需求管理平台的子任务的数量小于预设阈值,则为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release总支。fock模式提交模块,用于如果所述需求管理平台的子任务的数量不小于预设阈值,则于为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,将私仓release分支合并到公仓release总支。
12.第二方面,本技术提供一种基于需求管理的测试用例代码定位方法包括:需求管理平台接收到需求输入指令,创建功能需求,所述功能需求对应多个子任务;需求管理平台接收到任务配置指令为所述子任务配置子任务编号;代码提交平台接收到任务提交指令,为所述子任务创建事项分支,向所述需求管理平台获取与所述子任务相对应的子任务编号,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支;代码查询平台访问所述需求管理平台以获取与所述功能需求对应的子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。
13.第三方面,本技术提供一种基于代码提交的需求管理方法,用于需求管理平台,包括:接收需求输入指令,创建功能需求,并生成功能需求id;接收任务划分指令,将所述功能需求划分成多个子任务,并生成与所述子任务相对应的子任务编号;接收代码提交平台发送的子任务完成请求,其中,所述子任务完成请求中包含子任务编号以及子任务对应事项分支在代码提交平台的地址信息;将所述子任务完成请求中的子任务编号对应事项分支的地址信息保存至存储器,以供代码查询平台访问。
14.第四方面,本技术提供一种基于需求管理的代码提交方法,用于代码提交平台,包括:在接收子任务提交指令时,获取所述需求管理平台中子任务的数量;如果所述子任务的数量小于预设阈值,为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release代码总支;如果所述子任
务的数量不小于预设阈值,为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,将私仓release分支合并到公仓release代码总支。向需求管理平台发送子任务完成请求,其中所述子任务完成请求中包含子任务编号以及子任务对应事项分支在代码提交平台的地址信息。
15.本技术提供的一种基于需求管理的测试用例代码定位方法和系统,通过需求管理平台接收到需求输入指令,创建功能需求,所述功能需求对应多个子任务;需求管理平台接收到任务配置指令为所述子任务配置子任务编号;代码提交平台接收到任务提交指令,为所述子任务创建事项分支,向所述需求管理平台获取与所述子任务相对应的子任务编号,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支;代码查询平台访问所述需求管理平台以获取与所述功能需求对应的子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。本技术实施例中,将需求管理平台的中需求划分中多个子任务,将子任务赋予子任务编号。在代码提交平台提交代码时候,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支。这样需求管理平台的子任务和代码提交平台的事项分支通过子任务编号相连通。使得代码查询平台可在需求管理平台中获取到子任务编号,并链接到代码提交平台中对应的代码,大大提高了代码定位的精度,提升了软件测试环节的效率。
附图说明
16.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
17.图1为本技术一示例性实施例提供的一种基于需求管理的测试用例代码定位系统的结构框图;
18.图2为本技术另一示例性实施例提供的一种基于需求管理的测试用例代码定位方法的流程示意图;
19.图3为本技术另一示例性实施例提供的一种基于代码提交的需求管理方法的流程示意图;
20.图4为本技术另一示例性实施例提供的基于需求管理的代码提交方法的流程示意图;
21.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
22.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
23.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述
技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
24.图1为本技术示例性示出的一种基于需求管理的测试用例代码定位系统的结构示意图。
25.具体的,该代码定位系统包括需求管理平台100,代码提交平台200,以及代码查询平台300;其中,代码查询平台300与所述需求管理平台100和代码提交平台200相连接;
26.所述需求管理平台100,用于接收需求输入指令,创建功能需求,所述功能需求对应多个子任务;以及为所述子任务配置子任务编号。
27.在一些实施例中,本技术涉及的需求管理平台100主要由软件产品主设计登录使用。例如,一次开发需求为要在汽车屏上增加旋转功能。则主设计需要评估和划分要开发这个功能需要多少子任务,如涉及驱动层和应用层的联合开发。驱动层需要为硬件马达和陀螺仪打接口,以确保屏幕的转动;应用层需要涉及屏幕显示内容的旋转等等。
28.在一些实施例中,所述需求管理平台进一步包括需求创建模块101和任务划分模块102。需求创建模块用于接收需求输入指令,创建功能需求,并生成功能需求id;任务划分模块,用于接收任务划分指令,将所述功能需求划分成多个子任务,并生成与所述子任务相对应的子任务编号。
29.当需求管理平台100接收到需求创建的指令,则开始创建功能需求,并生成该功能需求的位于身份信息,及功能需求id。接收到任务划分指令后,弹出多个子任务填选框,将所述功能需求划分成多个子任务,并自动生成与子任务相对应的子任务编号。
30.所述代码提交平台200,用于接收代码提交指令,创建与所述子任务相关的事项分支,根据需求管理平台中与所述子任务相对应子任务编号为将所述事项分支命名,将所述事项分支合并到代码总支。
31.一般情况下,一个需求的子任务由一个软件开发人员团队完成,软件开发人员可以登录需求管理平台查看自己承担任务的子任务编号,但是没有子任务和子任务编号的修改权限。当软件开发人员登录到需求管理平台查看子任务编号,以及获取需求管理平台中子任务的数量。
32.由于子任务数量的不同决定的代码提交阶段以何种方式进行代码提交。本技术实施例中,代码提交平台进一步包括pa模式提交模块201,和fock模式提交模块202,如果所述子任务的数量小于预设阈值,则通过pa模式提交模块201进行代码提交;如果所述子任务的刷量不小于预设阈值,则通过fock模式提交模块202进行代码提交。
33.目前,pa模式提交模块201,和fock模式提交模块202有如表1所示的代码提交特点。此外,本技术的事项分支可以包括feature分支和私仓release分支两种。
34.表1
35.[0036][0037]
基于上述对pa模式提交模块和fock模式提交模块特点的介绍,进一步可知,pa模式提交模块201,用于为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release代码总支。fock模式提交模块202,用于为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,将私仓release分支合并到公仓release代码总支。
[0038]
换句话说,pa模式提交模块,用于如果所述需求管理平台的子任务的数量小于预设阈值,则为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release总支。fock模式提交模块,用于如果所述需求管理平台的子任务的数量不小于预设阈值,则于为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,将私仓release分支合并到公仓release总支。
[0039]
所述代码查询平台300,用于访问所述需求管理平台以获取与所述功能需求对应子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。
[0040]
一些实施例中,需求管理平台100和代码提交平台200通过子任务编号进行接口直通。当接收到软件开发人员再代码提交平台将事项分支提交到代码总支的指令时,代码提交平台200发送子任务完成请求到需求管理平台,所述子任务完成请求中包含子任务编号以及子任务对应代码在代码提交平台的地址信息。需求管理平台接收到子任务完成请求将子任务编号对应代码的地址信息保存至存储器中。
[0041]
一些实施例中,需求管理平台100设置有第一对外访问接口103,用于提供查询子任务编号的第一服务。代码提交平台200设置有第二对外访问接口203,用于提供查询与所述子任务编号对应的代码信息的第二服务,其中,所述代码信息包括代码行数和代码覆盖率。
[0042]
因此,代码查询平台300通过访问所述第一对外访问接口获取需求管理平台的子任务编号,并通过访问所述第二对外访问接口获取代码提交平台的代码信息。
[0043]
本技术提供的一种基于需求管理的测试用例代码定位系统,通过需求管理平台接收到需求输入指令,创建功能需求,所述功能需求对应多个子任务;需求管理平台接收到任务配置指令为所述子任务配置子任务编号;代码提交平台接收到任务提交指令,为所述子任务创建事项分支,向所述需求管理平台获取与所述子任务相对应的子任务编号,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支;代码查询平台访问所述需求管理平台以获取与所述功能需求对应的子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。本技术实施例中,将需求管理平台的中需求划分中多个子任务,将子任务赋予子任务编号。在代码提交平台提交代码时候,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支。这样需求管理平台的子任务和代码提交平台的事项分支通过子任务编号相连通。使得代码查询平台可在需求管理平台中获取到子任务编号,并链接到代码提交平台中对应的代码,大大提高了代码定位的精度,提升了软件测试环节的效率。
[0044]
图2为本技术一示例性实施例提供的一种基于需求管理的测试用例代码定位方法流程图。如图2所示,本技术实施例提供的一种基于需求管理的测试用例代码定位方法具体步骤为步骤s101~步骤s105。
[0045]
步骤s101,需求管理平台接收到需求输入指令,创建功能需求,所述功能需求对应多个子任务。
[0046]
步骤s102,需求管理平台接收到任务配置指令为所述子任务配置子任务编号。
[0047]
步骤s103,代码提交平台接收到任务提交指令,为所述子任务创建事项分支,向所述需求管理平台获取与所述子任务相对应的子任务编号,根据所述子任务编号为所述事项分支命名,以及将所述事项分支合并到代码总支;
[0048]
步骤s104,代码提交平台在将所述事项分支合并到代码总支后,向需求管理平台发送子任务完成请求。
[0049]
在一些实施例中,所述子任务完成请求中包含子任务编号以及子任务对应事项分支在代码提交平台的地址信息。
[0050]
步骤s105,需求管理平台接收到子任务完成请求后,将所述子任务完成请求中的子任务编号对应事项分支的地址信息保存至存储器,以供代码查询平台访问。
[0051]
步骤s106代码查询平台访问所述需求管理平台以获取与所述功能需求对应的子任务的子任务编号,并根据所述子任务编号链接到所述代码提交平台,以在代码总支中定位与所述子任务编号对应的事项分支。
[0052]
如图3所示,为本技术一示例性实施例提供的一种基于代码提交的需求管理方法的流程图,用于需求管理平台,包括步骤s201到s204。
[0053]
步骤s201,接收需求输入指令,创建功能需求,并生成功能需求id。
[0054]
步骤s202,接收任务划分指令,将所述功能需求划分成多个子任务,并生成与所述子任务相对应的子任务编号。
[0055]
步骤s203,接收代码提交平台发送的子任务完成请求,其中,所述子任务完成请求中包含子任务编号以及子任务对应事项分支在代码提交平台的地址信息。
[0056]
步骤s204,将所述子任务完成请求中的子任务编号对应事项分支的地址信息保存至存储器,以供代码查询平台访问。
[0057]
本技术提供的代码提交的需求管理方法通过接收需求输入指令,创建功能需求,并生成功能需求id;接收任务划分指令,将所述功能需求划分成多个子任务,并生成与所述子任务相对应的子任务编号。接收代码提交平台发送的子任务完成请求,将所述子任务完成请求中的子任务编号对应事项分支的地址信息保存至存储器,供代码查询平台访问。
[0058]
如图4所示,为本技术一示例性实施例提供的一种基于需求管理的代码提交方法的流程图,用于代码提交平台,包括步骤s301到s304。
[0059]
步骤301,在接收子任务提交指令时,获取所述需求管理平台中子任务的数量;
[0060]
步骤302,如果所述子任务的数量小于预设阈值,为所述子任务创建feature分支,并为将所述feature分支命名为“feature_ 子任务编号”,将所述feature分支合并代码到release代码总支。
[0061]
步骤303,如果所述子任务的数量不小于预设阈值,为所述子任务创建私仓release分支,通过版本合并工具中强制所述私仓release分支的末位信息为子任务编号,
将私仓release分支合并到公仓release代码总支。
[0062]
步骤304,向需求管理平台发送子任务完成请求,其中所述子任务完成请求中包含子任务编号以及子任务对应事项分支在代码提交平台的地址信息。
[0063]
本技术提供的基于需求管理的代码提交方法通过在需求管理平台获取所述需求管理平台中子任务的数量,子任务的数量规模确定以何种方式进行代码提交,并且在代码提交时候,将事项分支的命名与子任务的子任务编号相关联,以及在代码提交后,向需求管理平台发送子任务完成请求,将相关代码在代码提交平台的地址信息发送到需求管理平台,使得代码提交平台和需求管理平台数据通过子任务编号接口相通。
[0064]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0065]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献