软件系统研发质量的评价方法、系统、存储介质及电子设备与流程

文档序号:23849860发布日期:2021-02-05 13:56阅读:65来源:国知局
软件系统研发质量的评价方法、系统、存储介质及电子设备与流程

[0001]
本发明涉及软件系统研发领域,具体地说,尤其涉及一种基于机器学习的软件系统研发质量的评价方法、系统、存储介质及电子设备。


背景技术:

[0002]
随着互联网的持续发展,机器学习和人工智能开始逐步替代各个领域的人为决策,各行各业的领军者都在尝试从中发掘新的业务增长点和变现渠道。
[0003]
在此背景下,对于软件研发流程来说,需求的设计和软件的开发都会有相对比较多的机遇和场景来使用机器学习,例如生成各类算法模型和预测各种业务数据等,但在软件测试的流程当中,对于机器学习的应用场景则相当少。软件测试工作本身对于产出结果的正确性和可信度要求较高,确实并不适合依赖机器学习来进行实际的测试工作,但软件测试的流程当中,有一个阶段是比较适合借助机器学习来辅助测试人员和项目管理人员进行决策的:软件研发流程和系统质量的评估。
[0004]
目前的软件研发质量评估,通常依赖于收集软件研发流程中的各种不同维度的指标数据,并通过人工对数据进行分析和主观判断的方式,来评价软件研发流程是否健康。这种方式有着如下的缺陷:收集信息的维度无法标准化,通常依赖于测试人员的主观判断;分析数据的方式也没有一个行业内通用的标准,不同团队通常都自行设计一套系统或公式来评价软件研发质量,没有普适性。
[0005]
具体地说,目前业界并没有通用的软件研发质量评估的系统或工具,各项目团队均使用适合项目自身的评价维度、公式或自研系统来进行软件研发质量的评估。同时目前还没有一个标准化的输入维度指标和标准化的评价公式,所有的评价指标均为人工主观决策决定,且不同的项目均需要对维度和评价公式进行调整,评价结果的可信度不高。
[0006]
因此亟需开发一种克服上述缺陷的软件系统研发质量的评价方法、系统、存储介质及电子设备。


技术实现要素:

[0007]
针对上述问题,本发明提供一种软件系统研发质量的评价方法,其中,包括:
[0008]
数据收集步骤:收集历史研发维度指标组及所述历史维度指标组对应地历史质量分数;
[0009]
预测模型获得步骤:通过所述历史研发维度指标组及所述历史质量分数对初始模型进行训练获得预测模型;
[0010]
评价步骤:将最新研发维度指标组输入至所述预测模型进行软件研发质量评估,获得最新质量分数。
[0011]
上述的评价方法,其中,还包括:
[0012]
更新步骤:将所述最新研发维度指标组及所述最新质量分数输入至所述预测模型并对所述预测模型进行训练,以更新所述预测模型。
[0013]
上述的评价方法,其中,所述历史研发维度指标组及所述最新研发维度指标组均包括至少一研发维度指标,至少一所述研发维度指标包括:研发周期、需求数量、缺陷数量、高优先级缺陷数量、延期率、延期原因类别、研发资源统计、测试资源统计中的至少一者。
[0014]
上述的评价方法,其中,所述数据收集步骤包括:通过浏览器前端系统交互的方式收集所述历史研发维度指标组及所述历史质量分数。
[0015]
上述的评价方法,其中,所述预测模型获得步骤包括:
[0016]
数据拉取步骤:拉取所述历史研发维度指标组及所述历史质量分数;
[0017]
训练步骤:将所述历史研发维度指标组及所述历史质量分数输入选择的所述初始模型后对所述初始模型进行训练获得所述预测模型;
[0018]
标记步骤:标识所述预测模型并保存;
[0019]
第一选择步骤:选择需要更新的所述预测模型的版本,所述更新步骤中,将所述最新研发维度指标组及所述最新质量分数输入至选择的所述预测模型并对所述预测模型进行训练,以更新所述预测模型。
[0020]
上述的评价方法,其中,所述评价步骤包括:
[0021]
第二选择步骤:选择需要评价的所述最新研发维度指标组;
[0022]
第三选择步骤:选择需要使用的所述预测模型的版本;
[0023]
结果输出步骤:将所述最新研发维度指标组输入至选择的所述预测模型,通过所述预测模型输出所述最新质量分数并保存。
[0024]
本发明还提供一种软件系统研发质量的评价系统,其中,包括:
[0025]
数据收集单元,收集历史研发维度指标组及所述历史维度指标组对应地历史质量分数;
[0026]
预测模型获得单元,通过所述历史研发维度指标组及所述历史质量分数对初始模型进行训练获得预测模型;
[0027]
评价单元,将最新研发维度指标组输入至所述预测模型进行软件研发质量评估,获得最新质量分数。
[0028]
上述的评价系统,其中,还包括:
[0029]
所述评价单元将所述最新研发维度指标组及所述最新质量分数输入至所述预测模型并对所述预测模型进行训练,以更新所述预测模型。
[0030]
本发明还提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述中任一项所述的评价方法。
[0031]
本发明还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述中任一项所述的评价方法。
[0032]
综上所述,本发明相对于现有技术其功效在于:
[0033]
1.软件测试工程师和管理人员,无需人工对每一次软件项目质量进行各个维度的评估,仅需将客观的维度指标录入系统,即可得到质量分数结果。
[0034]
2.维护了一套相对标准化的维度指标,无需每个项目都进行人工筛选。
[0035]
3.质量分数结果支持人工调整,且调整后的数据会重新参与模型训练,使得模型版本不断优化并提高准确度和置信度,最终替代人工的主观决策。
[0036]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
[0037]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1为本发明的软件系统研发质量的评价方法的流程图;
[0039]
图2为图1中步骤s2的分步骤流程图;
[0040]
图3为图1中步骤s3的分步骤流程图;
[0041]
图4为本发明的软件系统研发质量的评价方法的应用流程图;
[0042]
图5为步骤s1的应用流程图;
[0043]
图6为步骤s2的应用流程图;
[0044]
图7为步骤s3的应用流程图;
[0045]
图8为本发明的软件系统研发质量的评价系统的结构示意图;
[0046]
图9为本发明的电子设备的结构示意图。
具体实施方式
[0047]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。
[0049]
关于本文中所使用的“第一”、“第二”、“s1”、“s2”、

等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
[0050]
关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。
[0051]
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0052]
关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。
[0053]
关于本文中的“多个”包括“两个”及“两个以上”;关于本文中的“多组”包括“两组”及“两组以上”。
[0054]
关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其
他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。
[0055]
某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。
[0056]
本发明提出了一个基于机器学习的软件系统研发质量的评价方法。基于大量的软件研发项目历史数据和实际的历史质量评估结果,从中提取出了对软件研发质量有影响的各维度指标后,使用这些指标数据和质量结果数据,借助机器学习的方式来进行训练,并最终得到一个软件研发质量评估的模型。将新的软件研发项目相关维度指标数据传递给此模型进行预测评估后,模型即会返回一个基于历史项目和质量数据计算出的评价结果。每次有新的软件系统研发质量结果产出后,可以酌情人工调整评估的结果,将当前的维度数据和质量结果重新作为训练数据,参与模型训练,从而可以使得模型的准确性和可信度不断提升。
[0057]
本方法的输入项为软件研发流程中的各项对研发质量有影响的维度指标。输出项为基于这些维度指标预测的软件研发质量评分结果。本方法提供了研发维度管理功能、模型管理和模型预测功能,可通过浏览器的前端界面进行研发维度数据的管理,并提交给模型进行软件研发质量预测。
[0058]
请参照图1及图4,图1为本发明的软件系统研发质量的评价方法的流程图;图4为本发明的软件系统研发质量的评价方法的应用流程图。如图1及图4所示,本发明的软件系统研发质量的评价方法包括:
[0059]
数据收集步骤s1:收集历史研发维度指标组及所述历史维度指标组对应地历史质量分数;
[0060]
预测模型获得步骤s2:通过所述历史研发维度指标组及所述历史质量分数对初始模型进行训练获得预测模型;
[0061]
评价步骤s3:将最新研发维度指标组输入至所述预测模型进行软件研发质量评估,获得最新质量分数;
[0062]
更新步骤s4:将所述最新研发维度指标组及所述最新质量分数输入至所述预测模型并对所述预测模型进行训练,以更新所述预测模型。
[0063]
本发明可通过简单的浏览器前端交互的方式,收集各类软件研发流程中的所述历史研发维度指标组及所述历史质量分数,提交给预测算法进行模型训练,并可通过浏览器前端系统直接提交软件研发维度指标值给模型的方式,来预测和评估当前软件研发质量。
[0064]
需要说明的是,本发明使用javascript和java语言,用户可自定义各类软件研发维度指标,提交给预测算法进行模型训练,将最新的软件研发项目维度指标提交给模型后进行软件研发质量评估。
[0065]
举例来说,本发明通过自定义创建或者上传的方式来创建软件研发维度指标值;通过将历史维度指标和质量分数传递给预测算法进行模型训练;将最新的软件研发维度指标传递给模型进行软件研发质量评估。
[0066]
其中,所述历史研发维度指标组及所述最新研发维度指标组均包括至少一研发维度指标,至少一所述研发维度指标包括:研发周期、需求数量、缺陷数量、高优先级缺陷数量、延期率、延期原因类别、研发资源统计、测试资源统计中的至少一者。
[0067]
请参照图5,图5为步骤s1的应用流程图。如图5所示,所述数据收集步骤包括:通过
浏览器前端系统交互的方式收集所述历史研发维度指标组及所述历史质量分数。
[0068]
具体地说,本步骤中用于收集和维护各类软件研发流程中的指标数据,本发明可通过手工录入指标数据各字段,或者是通过上传数据文件的方式来创建研发维度指标,并保存入库。研发维度指标包括但不限于:研发周期、需求数量、缺陷数量、高优先级缺陷数量、延期率、延期原因类别、研发资源统计及测试资源统计等。
[0069]
请参照图2及图6,图2为图1中步骤s2的分步骤流程图;图6为步骤s2的应用流程图。如图2及图6所示,所述预测模型获得步骤s2包括:
[0070]
数据拉取步骤s21:拉取所述历史研发维度指标组及所述历史质量分数;
[0071]
训练步骤s22:将所述历史研发维度指标组及所述历史质量分数输入选择的所述初始模型后对所述初始模型进行训练获得所述预测模型;
[0072]
标记步骤s23:标识所述预测模型并保存;
[0073]
第一选择步骤s24:选择需要更新的所述预测模型的版本,其中,所述更新步骤s3中,将所述最新研发维度指标组及所述最新质量分数输入至选择的所述预测模型并对所述预测模型进行训练,以更新所述预测模型。具体地说,本步骤中用于训练和维护模型。可支持使用全量历史项目指标和质量分数的数据来进行模型训练,以及定期使用增量的项目指标数据和分数来进行模型训练。训练完成的预测模型会被打上一个最新的版本号,供后续预测功能使用。其中,在图6中,左侧链路是用所述历史研发维度指标组及所述历史质量分数训练获得一个最新版本的预测模型,右侧链路是在更新预测模型时,选择需要优化更新的预测模型的版本后使用所述最新研发维度指标组及所述最新质量分数对已有预测模型进行优化更新。
[0074]
请参照图3及图7,图3为图1中步骤s3的分步骤流程图;图7为步骤s3的应用流程图。如图3及图7所示,所述评价步骤s3包括:
[0075]
第二选择步骤s31:选择需要评价的所述最新研发维度指标组;
[0076]
第三选择步骤s32:选择需要使用的所述预测模型的版本;
[0077]
结果输出步骤s33:将所述最新研发维度指标组输入至选择的所述预测模型,通过所述预测模型输出所述最新质量分数并保存。
[0078]
具体地说,本步骤用于使用录入的软件研发流程各项维度指标数据,传递给预测模型后,得到预估的软件研发质量分数。
[0079]
基于上述,本发明使用机器学习的方式生成软件研发质量分数评估模型;通过前端系统对研发维度指标和模型进行维护;使用模型进行项目研发质量分数的预测评估。
[0080]
请参照图8,图8为本发明的软件系统研发质量的评价系统的结构示意图。如图8所示本发明的软件系统研发质量的评价系统包括:
[0081]
数据收集单元11,收集历史研发维度指标组及所述历史维度指标组对应地历史质量分数;
[0082]
预测模型获得单元12,通过所述历史研发维度指标组及所述历史质量分数对初始模型进行训练获得预测模型;
[0083]
评价单元13,将最新研发维度指标组输入至所述预测模型进行软件研发质量评估,获得最新质量分数。
[0084]
其中,所述评价单元13将所述最新研发维度指标组及所述最新质量分数输入至预
测模型获得单元12,预测模型获得单元12通过所述最新研发维度指标组及所述最新质量分数对所述预测模型进行训练,以更新所述预测模型,从而保证预测模型的实时性,以及使得模型版本不断优化并提高准确度和置信度。
[0085]
请参照图9,图9本发明的电子设备的结构示意图。如图9所示,
[0086]
本实施例揭示了一种电子设备的一种具体实施方式。电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。
[0087]
具体地,上述处理器81可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。
[0088]
其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(hard disk drive,简称为hdd)、软盘驱动器、固态驱动器(solid state drive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(non-volatile)存储器。在特定实施例中,存储器82包括只读存储器(read-only memory,简称为rom)和随机存取存储器(random access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read-only memory,简称为prom)、可擦除prom(erasable programmable read-only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read-only memory,简称为eeprom)、电可改写rom(electrically alterable read-only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random-access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random-access memory,简称sdram)等。
[0089]
存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。
[0090]
处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种评价方法。
[0091]
在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图9所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。
[0092]
通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
[0093]
总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线80可包
括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为ei sa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
[0094]
另外,结合上述实施例中处理方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种评价方法。
[0095]
综上所述,基于本发明,使得软件测试工程师和管理人员,无需人工对每一次软件项目质量进行各个维度的评估,仅需将客观的维度指标录入系统,即可得到质量分数结果;同时维护了一套相对标准化的维度指标,无需每个项目都进行人工筛选;而且质量分数结果支持人工调整,且调整后的数据会重新参与模型训练,使得模型版本不断优化并提高准确度和置信度,最终替代人工的主观决策。
[0096]
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1