CN112783762A - 软件质量的评估方法、装置及服务器 - Google Patents
软件质量的评估方法、装置及服务器 Download PDFInfo
- Publication number
- CN112783762A CN112783762A CN202011643464.6A CN202011643464A CN112783762A CN 112783762 A CN112783762 A CN 112783762A CN 202011643464 A CN202011643464 A CN 202011643464A CN 112783762 A CN112783762 A CN 112783762A
- Authority
- CN
- China
- Prior art keywords
- data
- defect
- analysis
- software
- algorithm
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000007547 defect Effects 0.000 claims abstract description 226
- 238000004458 analytical method Methods 0.000 claims abstract description 147
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 142
- 238000007405 data analysis Methods 0.000 claims abstract description 54
- 238000011156 evaluation Methods 0.000 claims abstract description 48
- 238000009826 distribution Methods 0.000 claims description 41
- 238000012360 testing method Methods 0.000 claims description 37
- 230000002452 interceptive effect Effects 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 16
- 238000005065 mining Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 8
- 238000010276 construction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013441 quality evaluation Methods 0.000 description 4
- 238000013522 software testing Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种软件质量的评估方法、装置及服务器,涉及互联网技术领域,包括:获取待评估软件的基础缺陷数据;从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对基础缺陷数据进行缺陷分析,得到基础缺陷数据对应的缺陷分析数据;基于缺陷分析数据生成并展示待评估软件的评估结果。本发明可以有效提高软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及一种软件质量的评估方法、装置及服务器。
背景技术
随着社会对计算机的依赖程度的增加,软件产品应用到社会的各个领域,用户为了保证业务的顺利完成,对软件产品的质量要求也逐渐提高。软件产品的质量对于软件开发公司至关重要,通常需要在将软件产品投入运行之前对其进行软件测试。因此软件开发商越来越多地重视软件测试过程,软件测试已经占到整个软件开发过程的40%到50%。目前,传统的软件测试手段包括功能测试和压力测试,能了解软件可以实现的功能和达到的性能,但是这两种测试手段得到的测试结果的可信度较低,无法真实地反应软件产品的质量。
发明内容
有鉴于此,本发明的目的在于提供一种软件质量的评估方法、装置及服务器,可以有效提高软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
第一方面,本发明实施例提供了一种软件质量的评估方法,包括:获取待评估软件的基础缺陷数据;从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据;基于所述缺陷分析数据生成并展示所述待评估软件的评估结果。
在一种实施方式中,所述方法应用于软件质量评估平台,所述软件质量评估平台配置有至少一个数据分析算法;所述从预设的多个数据分析算法中确定目标分析算法的步骤,包括:通过所述软件质量评估平台的交互界面展示各个数据分析算法;响应用户针对各个所述数据分析算法的选择操作,将所述选择操作对应的数据分析算法确定为目标分析算法;其中,所述数据分析算法至少包括瑞利分布算法、戈珀兹分布算法、指数分布算法。
在一种实施方式中,在所述通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据的步骤之前,所述方法还包括:响应用户针对所述目标分析算法的参数修改操作,接收所述用户上传的目标参数;基于所述目标参数更新所述目标分析算法的参数,以使用更新参数后的目标分析算法对所述基础缺陷数据进行缺陷分析。
在一种实施方式中,所述基础缺陷数据包括预估缺陷数据或测试缺陷数据,所述预估缺陷数据用于表征所述待评估软件在预估阶段时的缺陷,所述测试缺陷数据用于表征所述待评估软件在测试阶段时的缺陷;在所述得到所述基础缺陷数据对应的缺陷分析数据的步骤之后,所述方法还包括:比对所述预估缺陷数据对应的缺陷分析数据和所述测试缺陷数据对应的缺陷分析数据,得到比对结果;基于所述比对结果对所述目标分析算法的参数进行调整,以优化所述目标分析算法。
在一种实施方式中,所述基于所述缺陷分析数据生成并展示所述待评估软件的评估结果的步骤,包括:根据所述缺陷分析数据绘制缺陷分析图表,并根据所述缺陷分析图表生成所述待评估软件的评估结果;通过所述交互界面展示所述待评估软件的评估结果。
在一种实施方式中,所述方法还包括:所述方法还包括:将所述评估结果发送至指定关联终端。
第二方面,本发明实施例还提供一种软件质量的评估装置,包括:数据获取模块,用于获取待评估软件的基础缺陷数据;分析模块,用于从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据;展示模块,用于基于所述缺陷分析数据生成并展示所述待评估软件的评估结果。
在一种实施方式中,所述装置应用于软件质量评估平台,所述软件质量评估平台配置有至少一个数据分析算法;所述分析模块还用于:通过所述软件质量评估平台的交互界面展示各个数据分析算法;响应用户针对各个所述数据分析算法的选择操作,将所述选择操作对应的数据分析算法确定为目标分析算法;其中,所述数据分析算法至少包括瑞利分布算法、戈珀兹分布算法、指数分布算法。
第三方面,本发明实施例还提供一种服务器,包括处理器和存储器;所述存储器上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面提供的任一项所述的方法。
第四方面,本发明实施例还提供一种计算机存储介质,用于储存为第一方面提供的任一项所述方法所用的计算机软件指令。
本发明实施例提供的一种软件质量的评估方法、装置及服务器,首先获取待评估软件的基础缺陷数据,然后通过目标分析算法对基础缺陷数据进行缺陷分析,得到缺陷分析数据,再基于缺陷分析数据生成并展示待评估软件的评估结果。上述方法利用从多个数据分析算法中确定的目标分析算法对基础缺陷数据进行缺陷分析得到相应的评估结果,并将评估结果进行展示,相较于传统软件测试手段,本发明实施例显著提高了软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种软件质量的评估方法的流程示意图;
图2为本发明实施例提供的一种软件质量评估平台的功能分层结构示意图;
图3为本发明实施例提供的一种数据层的结构示意图;
图4为本发明实施例提供的一种分析模型层的结构示意图;
图5为本发明实施例提供的一种交互展示层的结构示意图;
图6为本发明实施例提供的一种软件质量评估平台的功能框架示意图;
图7为本发明实施例提供的一种预估评估结果的示意图;
图8为本发明实施例提供的一种测试评估结果的示意图;
图9为本发明实施例提供的一种软件质量评估报告的示意图;
图10为本发明实施例提供的一种模型参数修改界面的示意图;
图11为本发明实施例提供的一种软件质量的评估装置的结构示意图;
图12为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,研究数据表明,代码层缺陷占软件整体缺陷频率的92%,而由代码层缺陷引起的应用宕机只占10%,其余90%的应用宕机都是由系统层缺陷导致的。软件产品多种多样,然而软件产品的实现代码非常复杂。传统的软件测试手段包括功能测试和压力测试,能了解软件可以实现的功能和达到的性能,这两种测试手段往往只能找到代码层缺陷,包括功能性不完善,或在压力下反应出现异常等等,而对于导致大多数应用宕机的系统层缺陷却很难甄别,从而导致最终得到的评估结果可靠性较低,基于此,本发明实施提供的了一种软件质量的评估方法、装置及服务器,可以有效提高软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种软件质量的评估方法进行详细介绍,参见图1所示的一种软件质量的评估方法的流程示意图,该方法主要包括以下步骤S102至步骤S106:
步骤S102,获取待评估软件的基础缺陷数据。其中,基础缺陷数据可以包括预估缺陷数据或测试缺陷数据,预估缺陷数据用于表征待评估软件在预估阶段时的缺陷,诸如目标缺陷挖掘度、预计工期长度、估计隐含缺陷数、缺陷等级和各缺陷等级占比等,测试缺陷数据用于表征待评估软件在测试阶段时的缺,诸如目标缺陷挖掘度、预计工期长度、选择模型、缺陷日期、缺陷描述、缺陷等级等。在一种实施方式中,可以通过数据接口从指定数据库中读取基础缺陷数据,也可以由用户手动上传基础缺陷数据。
步骤S104,从预设的多个数据分析算法中确定目标分析算法,并通过目标分析算法对基础缺陷数据进行缺陷分析,得到基础缺陷数据对应的缺陷分析数据。在一种实施方式中,数据分析算法可以至少包括瑞利(Rayleigh)分布算法、戈珀兹(Gompertz)分布算法、指数(Exponential)分布算法,还可以包括诸如聚类分析算法、时间序列算法等多种数据分析算法,从上述数据分析算法中选择一个或多个目标分析算法对基础缺陷数据进行缺陷分析,从而得到相应的缺陷分析数据。
步骤S106,基于缺陷分析数据生成并展示待评估软件的评估结果。其中,评估结果可通过图表报告形式进行展示,在一种实施方式中,可对缺陷分析数据进行渲染,以得到图表报告形式的评估结果,进而对该图表报告形式的评估结果进行展示。
本发明实施例提供的上述软件质量的评估方法,利用从多个数据分析算法中确定的目标分析算法对预估缺陷数据或测试缺陷数据进行缺陷分析,可以分别得到预估阶段和测试阶段待评估软件的评估结果,并将评估结果进行展示,相较于传统软件测试手段,本发明实施例显著提高了软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
在一种实施方式中,上述方法可应用于软件质量评估平台,为便于对软件质量评估平台进行理解,本发明实施例对该软件质量评估平台的功能分层结构进行说明,参见图2所示的一种软件质量评估平台的功能分层结构示意图,图2中示意出了软件质量评估平台可以包括数据层、分析模型层和交互展示层,其中,数据层负责数据采集基础缺陷数据,分析模型层用于通过目标分析算法对基础缺陷数据进行缺陷分析,实现数据清洗、缺陷分布演练计算、实时缺陷建模计算和模型管理等功能,交互展示层用于对缺陷分析数据进行渲染,将得到的评估结果进行展示。
在图2的基础上,本发明实施例还提供了如图3所示的一种数据层的结构示意图,图3中示意出数据层包括数据上传模块、ATQ(automatic test,自动化测试平台)数据接入模块和数据库连接模块,其中,数据上传模块负责接收和处理用户上传的基础缺陷数据,ATQ数据接入模块用于调用ATQ接口,数据库连接模块用于连解独立或ATQ的MySQL数据库。
在图2的基础上,本发明实施例还提供了如图4所示的一种分析模型层的结构示意图,图4中示意出分析模型层包括模型层和绘制数据层,其中,模型层用于提供相关API(Application Programming Interface,应用程序接口),包括多个数据分析算法(诸如瑞利分布算法、戈珀兹分布算法、指数分布算法等)的PDF(Portable Document Format,可携带文档格式)接口和CDF(可计算文档格式)接口,绘制数据层用于提供绘图用数据。
在图2的基础上,本发明实施例还提供了如图5所示的一种交互展示层的结构示意图,图5中示意出交互展示层包括图表数据处理层、图表展示层、文档生成层和交互层。其中,图表数据处理层用于对缺陷分析数据进行简单处理(包括缺陷分级处理、累计图处理、分布图处理),以辅助前端页面元素(诸如缺陷分级饼图、累计图和分布图)获得合适的数据格式;图表展示层用于渲染前端页面中的元素,调用ECharts库进行图表绘制,以及调用RShinydashboard库生成dashboard;文档生成层用于将评估结果汇集成指定格式的报表,还用于提供报表下载功能,文档生成层可以包括Markdown工具和Pandoc工具;交互层用于展示评估结果或者报表,还用于将针对评估结果或报表的操作反馈至分析模型层,该交互层可以包括shiny reactive service。
在前述实施例的基础上,本发明实施例提供的软件质量评估平台配置有数据接口,数据接口用于连接软件质量评估平台和指定数据库(诸如,ATQ的MySQL数据库),该指定数据库中存储有基础缺陷数据,基于此,本发明实施例提供了一种获取待评估软件的基础缺陷数据的实施方式,可以调用数据接口,以通过数据接口从指定数据库读取待评估软件的基础缺陷数据。其中,数据接口可以为ATQ接口,通过ATQ接口连接软件质量评估平台和ATQ的MySQL数据库,从而从ATQ的MySQL数据库中获取基础缺陷数据。
在一种实施方式中,本发明实施例提供的软件质量评估平台配置有至少一个数据分析算法,诸如瑞利分布算法、戈珀兹分布算法、指数分布算法中的一种或多种。在实际应用中,可以从各个数据分析算法中自动确定目标分析算法,也可以从各个数据分析算法中手动确定目标分析算法,具体的,可以通过前端展示各个数据分析算法,以便于用户从中选择所需的数据分析算法作为目标分析算法,进而利用目标分析算法对各个类别的缺陷数据集合进行缺陷分析。在一种可选的实施方式中,可以通过软件质量评估平台的交互界面展示各个数据分析算法,并响应用户针对各个数据分析算法的选择操作,将选择操作对应的数据分析算法确定为目标分析算法。例如,假设用户选择聚类算法,则可以对基础缺陷数据进行聚类分析,得到各个类型的基础缺陷数据组成的集合,再从瑞利分布算法、戈珀兹分布算法、指数分布算法中选择任一数据分析算法作为目标分析算法,并针对各个类别的基础缺陷数据进行缺陷分析。可选的,软件质量评估平台可以配置有模型区,各个数据分析算法可存储在该模型区中。
为进一步优化软件分析的可信程度,在执行通过目标分析算法对基础缺陷数据进行缺陷分析,得到基础缺陷数据对应的缺陷分析数据的步骤之前,还可以响应用户针对目标分析算法的参数修改操作,接收用户上传的目标参数,并基于目标参数更新目标分析算法的参数,以使用更新参数后的目标分析算法对基础缺陷数据进行缺陷分析,从而获得可信程度更高的缺陷分析数据。例如,用户选定瑞利分布算法作为目标分析算法,通过软件质量评估平台的交互界面展示瑞利分布算法的可修改参数,用户可针对展示的可修改参数进行修改,以使瑞利分布算法更适用于当前待评估软件的质量评估,得到可信度更高的评估结果。
在一种实施方式中,在得到缺陷分析数据的步骤之后,软件质量评估平台的后端还可以基于缺陷分析数据更新目标分析算法的参数,具体的,可以比对预估缺陷数据对应的缺陷分析数据和测试缺陷数据对应的缺陷分析数据,得到比对结果,然后基于比对结果对目标分析算法的参数进行调整,以优化目标分析算法,例如,当预估缺陷数据对应的缺陷分析数据与测试缺陷数据对应的缺陷分析数据差别较大时,可确认目标分析算法的参数需要进行优化,可选的,可以利用梯度下降模型根据缺陷分析数据对目标分析算法的参数进行修正。
另外,软件质量评估平台在执行基于缺陷分析数据生成并展示待评估软件的评估结果的步骤时,可以根据缺陷分析数据绘制缺陷分析图表,并根据缺陷分析图表生成待评估软件的评估结果,然后通过交互界面展示待评估软件的评估结果。在一种实施方式中,软件质量评估平台还可以配置有ECharts库和RShinydashboard库,从而通过调用ECharts库根据缺陷分析数据绘制图表,并调用RShinydashboard库基于绘制的图标生层可视化交互界面,该界面中将展示有评估结果。此外,还可以将评估结果发送至指定关联终端,以便于用户通过指定关联终端查看待评估软件的评估结果。
为便于对前述实施例提供的软件质量的评估方法进行理解,本发明实施例提供了如图6所示的一种软件质量评估平台的功能框架示意图,图6中示意出软件质量评估平台包括数据源、ETL(Extract-Transform-Load,数据仓库技术)模块、质量模型分析模块、管理中心和前端展示模块。其中,数据源中存储有质量KPI(Key Performance Indicator,关键绩效指标法)、度量数据、项目数据、产品数据等多种数据,其中,项目数据也即前述基础缺陷数据;ETL模块用于对数据源中存储的数据进行同步、抽取、清洗、转换和加载等预处理;质量模型分析模块包括质量评估模型(也即,前述目标模型组合)、模型组合优化和聚类等多种功能,在一种实施方式中,软件质量评估平台的模型区配置有诸如叶贝斯模型、决策树模型、随机森林模型、时间序列模型、SVM(support vector machines,支持向量机)模型、CS模型、Boosting模型、生存分析模型、逻辑回归模型、梯度下降模型、KNN(K-NearestNeighbo,邻近算法)模型、回归预测模型等多种模型,质量评估模型即为上述模型的组合,对质量评估模型进行优化即为上述模型组合优化,聚类可以理解为对基础缺陷数据进行聚类,从而得到同类别的基础缺陷数据;管理中心可以实现诸如元数据管理、数据质量管理、调度与管理、系统管理等多种管理功能;前端展示模块可以实现诸如可视化、流失趋势、异常分析、概率分析、预测/挖掘、上传/下载、搜索/探索等多种交互功能。
在实际应用中,上述软件质量评估平台可以实现如下功能:测试计划预估、动态质量模型、质量报告、模型管理等。其中,测试计划预估又包括模型选择、项目参数设置、缺陷参数设置和可视化图标等,动态质量模型又包括数据上传、模型选择、项目参数、缺陷分析、实时建模和质量评分等,质量报告又包括报告查看和报告下载,模型管理又包括Rayleigh、Gompertz和Exponential等。
在上述图6的基础上,本发明实施例提供了一种软件质量的评估方法,该方法应用于软件质量的预估阶段,在实际应用中,可以基于软件项目的实际计划将预估缺陷挖掘度(也可称之为缺陷挖掘目标或目标缺陷挖掘度)、预期工期长度、预估隐含缺陷总数(也可称之为估计隐含缺陷数)、缺陷等级和缺陷概率等多种预估缺陷数据输入至软件质量评估平台,并从Rayleigh、Gompertz和Exponential等模型中选择所需的模型对输入的预估缺陷数据进行处理,从而预测出该测试周期内缺陷数的分布情况,以及不同严重等级缺陷的比例分布,具体的,交互界面可以显示有缺陷分布图、缺陷累计图和缺陷等级饼图等多种图标评估结果,诸如图7所示的一种预估评估结果的示意图。
为便于理解,本发明实施例提供了如表1所示的一种软件质量评估平台的输入数据,包括目标缺陷挖掘度、预计工期长度、估计隐含缺陷数、缺陷等级和各缺陷等级占比等,且上述输入数据均可编辑。另外,本发明实施例还提供了如表2所示的一种软件质量评估平台的输出数据,包括日期、缺陷累计数、缺陷分布数、各等级缺陷数等,且上述输出数据均不可编辑,在具体实现时可通过图标渲染将上述输出数据展示在交互界面。
表1
表2
字段名称 | 数据来源 | 字段类型 | 是否可编辑 |
日期 | 处理 | Integer | 否 |
缺陷累积数 | 计算 | Integer | 否 |
缺陷分布数 | 计算 | Integer | 否 |
各等级缺陷数 | 计算 | Integer | 否 |
进一步的,本发明实施例还提供了如表3所示的一种软件质量评估平台的源程序文件,包括ui.R(用于前端渲染)、server.R(用于后端逻辑)、model_ravleigh.R(用于提供模型功能)、model_gompertz.R(用于提供模型计算接口)、model_expomemtial.R(用于提供模型计算接口)、utils.R(用于提供数据处理接口)等。表4还示意出了软件质量评估平台所涉及的函数,包括rayleigh_cdf(用于根据参数计算模型CDF数据)、gompertz_cdf(用于根据参数计算模型CDF数据)、exponential_cdf(用于根据参数计算模型CDF数据)、short_long(用于将数据变形)、parse_text_input(用于分析缺陷等级设置)、long_short(用于将数据变形)、get_pdf_curve(用于计算缺陷分布数据)等。
表3
文件 | 目录 | 功能 |
ui.R | ./ | 前端渲染 |
server.R | ./server/ | 后端逻辑 |
model_rayleigh.R | ./model/ | 提供模型功能 |
model_gompertz.R | ./model | 提供模型计算接口 |
model_exponential.R | ./model | 提供模型计算接口 |
utils.R | ./utils | 提供数据处理接口 |
表4
在上述图6的基础上,本发明实施例提供了一种软件质量的评估方法,该方法应用于软件质量的测试阶段,在实际应用中,为了能够完善地利用不断涌出的实时数据(也即,上述测试缺陷数据),并利用实时数据为接下来将要遇到情况进行预测或提示,本发明实施例提供了一种在测试阶段根据实时数据得到待评估软件的评估结果的实施方式,用户可以上传实时数据,软件质量评估平台将利用数据分析算法进行实时的模型拟合,用户由此获得实时的待评估软件的质量评级和缺陷挖掘覆盖度等评估结果。在实际应用中,可以根据软件项目的实际计划输入诸如目标缺陷挖掘度、预计工期长度、缺陷日期、缺陷描述和缺陷等级等测试缺陷数据,并从软件质量评估平台内的Rayleigh、Gompertz和Exponential等模型中选择所需的模型对输入的测试缺陷数据进行处理,此时交互界面将自动刷新评估结果,若用户选择不同模型的评估结果,可以通过“重新计算”按钮刷新交互界面的评估结果,诸如图8所示的一种测试评估结果的示意图。
为便于理解,本发明实施例提供了如表5所示的一种软件质量评估平台的输入数据,包括目标缺陷挖掘度、预计工期长度、估计隐含缺陷数、缺陷日期、缺陷描述和缺陷等级等,且上述输入数据均可编辑。另外,软件质量评估平台的输出数据如上述表2所示,软件质量评估平台的原程序文件如上述表3所示,软件质量评估平台的函数如上述表4所示,本发明实施例对此不再赘述。
表5
在一种实施方式中,为便于用户了解待评估软件每次的评估结果,本发明实施例还可以以图表报告形式展示评估结果;或,将图表报告形式的评估结果发送至指定关联终端。其中,指定关联终端可以为用户的手机等。在实际应用中,参加图9所示的一种软件质量评估报告的示意图,例如,软件质量评估报告(也即,上述图表报告形式的评估结果)可以示意出:“基于缺陷挖掘信息,软件质量为B;缺陷挖掘度为73.59%”,还可以示意出每个模型对应的挖掘度和评分,诸如,Rayleigh模型的挖掘度为73.59、评分为B,Gompertz模型的挖掘度为52.84%、评分为C,Exponential模型的挖掘度为96.05%、评分为A,进一步的,软件质量评估报告还可以示意出实际缺陷分布、积累图、模型预测缺陷分布积累图等。
在一种实施方式中,本发明实施例还提供了一种人工修改数据分析算法的实施方式,可以响应用户针对数据分析算法的参数修改操作,接收用户上传的目标参数,并基于目标参数更新参数修改操作对应的数据分析算法的参数。在实际应用中,上述软件质量评估平台还为用户提供模型参数修改功能,参加图10所示的一种模型参数修改界面的示意图,假设用户需要对Exponential模型的参数进行修改,则在模型参数修改界面可以显示Exponential模型的介绍,并展示可修改的参数(诸如可对Lambda参数进行修改),用户对该参数进行修改,并点击“更新模型”控件,即可实现对Exponential模型的参数进行修改。
综上所述,本发明实施例建立一套高效的产品质量度量预测指标,包括从后端数据收集、存储,模型应用和管理,到前端的指标展示。为软件测试者和管理者提供产品缺陷趋势及预测和产品缺陷有效性预测,以此助力软件测试管理。
对于前述软件质量的评估方法,本发明实施例提供了一种软件质量的评估装置,参见图11所示的一种软件质量的评估装置的结构示意图,该装置主要包括以下部分:
数据获取模块1102,用于获取待评估软件的基础缺陷数据。
分析模块1104,用于从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据。
展示模块1106,用于基于缺陷分析数据生成并展示待评估软件的评估结果。
上述实施例提供的软件质量的评估装置,利用数据分析模型对预估缺陷数据或测试缺陷数据进行缺陷分析,可以分别得到预估阶段和测试阶段待评估软件的评估结果,并将评估结果进行展示,显著提高了软件质量评估结果的可信程度,从而真实地反应待评估软件的质量。
在一种实施方式中,装置应用于软件质量评估平台,所述软件质量评估平台配置有至少一个数据分析算法;分析模块1104还用于:通过所述软件质量评估平台的交互界面展示各个数据分析算法;响应用户针对各个所述数据分析算法的选择操作,将所述选择操作对应的数据分析算法确定为目标分析算法;其中,所述数据分析算法至少包括瑞利分布算法、戈珀兹分布算法、指数分布算法。
在一种实施方式中,上述装置还包括第一参数修改模块,用于响应用户针对所述目标分析算法的参数修改操作,接收所述用户上传的目标参数;基于所述目标参数更新所述目标分析算法的参数,以使用更新参数后的目标分析算法对所述基础缺陷数据进行缺陷分析。
在一种实施方式中,所述基础缺陷数据包括预估缺陷数据或测试缺陷数据,所述预估缺陷数据用于表征所述待评估软件在预估阶段时的缺陷,所述测试缺陷数据用于表征所述待评估软件在测试阶段时的缺陷;上述装置还包括第二参数修改模块,用于比对所述预估缺陷数据对应的缺陷分析数据和所述测试缺陷数据对应的缺陷分析数据,得到比对结果;基于所述比对结果对所述目标分析算法的参数进行调整,以优化所述目标分析算法。
在一种实施方式中,展示模块1106还用于:根据缺陷分析数据绘制缺陷分析图表,并根据缺陷分析图表生成待评估软件的评估结果;通过交互界面展示待评估软件的评估结果。
在一种实施方式中,上述装置还包括发送模块,用于:将所述评估结果发送至指定关联终端。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
图12为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器120,存储器121,总线122和通信接口123,所述处理器120、通信接口123和存储器121通过总线122连接;处理器120用于执行存储器121中存储的可执行模块,例如计算机程序。
其中,存储器121可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口123(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线122可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器121用于存储程序,所述处理器120在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器120中,或者由处理器120实现。
处理器120可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器120中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器121,处理器120读取存储器121中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种软件质量的评估方法,其特征在于,包括:
获取待评估软件的基础缺陷数据;
从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据;
基于所述缺陷分析数据生成并展示所述待评估软件的评估结果。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于软件质量评估平台,所述软件质量评估平台配置有至少一个数据分析算法;
所述从预设的多个数据分析算法中确定目标分析算法的步骤,包括:
通过所述软件质量评估平台的交互界面展示各个数据分析算法;
响应用户针对各个所述数据分析算法的选择操作,将所述选择操作对应的数据分析算法确定为目标分析算法;其中,所述数据分析算法至少包括瑞利分布算法、戈珀兹分布算法、指数分布算法。
3.根据权利要求1所述的方法,其特征在于,在所述通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据的步骤之前,所述方法还包括:
响应用户针对所述目标分析算法的参数修改操作,接收所述用户上传的目标参数;
基于所述目标参数更新所述目标分析算法的参数,以使用更新参数后的目标分析算法对所述基础缺陷数据进行缺陷分析。
4.根据权利要求1所述的方法,其特征在于,所述基础缺陷数据包括预估缺陷数据或测试缺陷数据,所述预估缺陷数据用于表征所述待评估软件在预估阶段时的缺陷,所述测试缺陷数据用于表征所述待评估软件在测试阶段时的缺陷;
在所述得到所述基础缺陷数据对应的缺陷分析数据的步骤之后,所述方法还包括:
比对所述预估缺陷数据对应的缺陷分析数据和所述测试缺陷数据对应的缺陷分析数据,得到比对结果;
基于所述比对结果对所述目标分析算法的参数进行调整,以优化所述目标分析算法。
5.根据权利要求2所述的方法,其特征在于,所述基于所述缺陷分析数据生成并展示所述待评估软件的评估结果的步骤,包括:
根据所述缺陷分析数据绘制缺陷分析图表,并根据所述缺陷分析图表生成所述待评估软件的评估结果;
通过所述交互界面展示所述待评估软件的评估结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述评估结果发送至指定关联终端。
7.一种软件质量的评估装置,其特征在于,包括:
数据获取模块,用于获取待评估软件的基础缺陷数据;
分析模块,用于从预设的多个数据分析算法中确定目标分析算法,并通过所述目标分析算法对所述基础缺陷数据进行缺陷分析,得到所述基础缺陷数据对应的缺陷分析数据;
展示模块,用于基于所述缺陷分析数据生成并展示所述待评估软件的评估结果。
8.根据权利要求7所述的装置,其特征在于,所述装置应用于软件质量评估平台,所述软件质量评估平台配置有至少一个数据分析算法;
所述分析模块还用于:
通过所述软件质量评估平台的交互界面展示各个数据分析算法;
响应用户针对各个所述数据分析算法的选择操作,将所述选择操作对应的数据分析算法确定为目标分析算法;其中,所述数据分析算法至少包括瑞利分布算法、戈珀兹分布算法、指数分布算法。
9.一种服务器,其特征在于,包括处理器和存储器;
所述存储器上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至6任一项所述的方法。
10.一种计算机存储介质,其特征在于,用于储存为权利要求1至6任一项所述方法所用的计算机软件指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643464.6A CN112783762B (zh) | 2020-12-31 | 2020-12-31 | 软件质量的评估方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643464.6A CN112783762B (zh) | 2020-12-31 | 2020-12-31 | 软件质量的评估方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783762A true CN112783762A (zh) | 2021-05-11 |
CN112783762B CN112783762B (zh) | 2024-04-09 |
Family
ID=75753608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011643464.6A Active CN112783762B (zh) | 2020-12-31 | 2020-12-31 | 软件质量的评估方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783762B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113962578A (zh) * | 2021-10-28 | 2022-01-21 | 四川虹美智能科技有限公司 | 数据分析方法及装置 |
CN114443869A (zh) * | 2022-01-21 | 2022-05-06 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN115964288A (zh) * | 2022-12-27 | 2023-04-14 | 中国人民财产保险股份有限公司 | 软件测试方法、设备、存储介质及程序产品 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601017B1 (en) * | 2000-11-09 | 2003-07-29 | Ge Financial Assurance Holdings, Inc. | Process and system for quality assurance for software |
CN102622510A (zh) * | 2012-01-31 | 2012-08-01 | 龚波 | 一种软件缺陷量化管理系统和方法 |
US20140365990A1 (en) * | 2013-06-11 | 2014-12-11 | Hitachi, Ltd. | Software evaluation device and method |
US20170091071A1 (en) * | 2015-09-25 | 2017-03-30 | International Business Machines Corporation | Predicting software product quality |
CN108154287A (zh) * | 2017-12-06 | 2018-06-12 | 千寻位置网络有限公司 | 软件系统开发质量的分析评估方法 |
CN109634833A (zh) * | 2017-10-09 | 2019-04-16 | 北京京东尚科信息技术有限公司 | 一种软件缺陷预测方法和装置 |
RU2729210C1 (ru) * | 2020-01-28 | 2020-08-05 | Акционерное общество «Информационные спутниковые системы» имени академика М.Ф. Решетнёва» | Комплекс тестирования программного обеспечения электронных устройств |
CN111881058A (zh) * | 2020-08-07 | 2020-11-03 | 北京神舟航天软件技术有限公司 | 一种软件工程质量预测方法 |
CN112131089A (zh) * | 2020-09-29 | 2020-12-25 | 九江学院 | 软件缺陷预测的方法、分类器、计算机设备及存储介质 |
-
2020
- 2020-12-31 CN CN202011643464.6A patent/CN112783762B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6601017B1 (en) * | 2000-11-09 | 2003-07-29 | Ge Financial Assurance Holdings, Inc. | Process and system for quality assurance for software |
CN102622510A (zh) * | 2012-01-31 | 2012-08-01 | 龚波 | 一种软件缺陷量化管理系统和方法 |
US20140365990A1 (en) * | 2013-06-11 | 2014-12-11 | Hitachi, Ltd. | Software evaluation device and method |
US20170091071A1 (en) * | 2015-09-25 | 2017-03-30 | International Business Machines Corporation | Predicting software product quality |
CN109634833A (zh) * | 2017-10-09 | 2019-04-16 | 北京京东尚科信息技术有限公司 | 一种软件缺陷预测方法和装置 |
CN108154287A (zh) * | 2017-12-06 | 2018-06-12 | 千寻位置网络有限公司 | 软件系统开发质量的分析评估方法 |
RU2729210C1 (ru) * | 2020-01-28 | 2020-08-05 | Акционерное общество «Информационные спутниковые системы» имени академика М.Ф. Решетнёва» | Комплекс тестирования программного обеспечения электронных устройств |
CN111881058A (zh) * | 2020-08-07 | 2020-11-03 | 北京神舟航天软件技术有限公司 | 一种软件工程质量预测方法 |
CN112131089A (zh) * | 2020-09-29 | 2020-12-25 | 九江学院 | 软件缺陷预测的方法、分类器、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
URAL ERDEMIR 等: "E-Quality: A Graph Based Object Oriented Software Quality Visualization Tool", 《IEEE》 * |
张国志: "数学算法对计算机编程的优化分析", 《计算机技术应用》 * |
黄云: "基于 Rayleigh 模型和 Gompertz 模型的 3G 软件开发质量评估", 《中国优秀硕士学位论文全文数据库 信息科技辑》《, pages 38 - 58 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113962578A (zh) * | 2021-10-28 | 2022-01-21 | 四川虹美智能科技有限公司 | 数据分析方法及装置 |
CN114443869A (zh) * | 2022-01-21 | 2022-05-06 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN115964288A (zh) * | 2022-12-27 | 2023-04-14 | 中国人民财产保险股份有限公司 | 软件测试方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112783762B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210256047A1 (en) | System and method for providing technology assisted data review with optimizing features | |
US9558464B2 (en) | System and method to determine defect risks in software solutions | |
CN112783762B (zh) | 软件质量的评估方法、装置及服务器 | |
CN105894183B (zh) | 项目评价方法及装置 | |
CN107517251B (zh) | 信息推送方法和装置 | |
CN109815042B (zh) | 异常因素的定位方法、装置、服务器和存储介质 | |
US10599760B2 (en) | Intelligent form creation | |
CN109409419B (zh) | 用于处理数据的方法和装置 | |
US11023495B2 (en) | Automatically generating meaningful user segments | |
CN117851575B (zh) | 一种大语言模型问答优化方法、装置、电子设备及存储介质 | |
CN110674117A (zh) | 数据建模方法、装置、计算机可读介质及电子设备 | |
US20200314472A1 (en) | Utilizing one hash permutation and populated-value-slot-based densification for generating audience segment trait recommendations | |
CN113342692B (zh) | 测试用例自动生成方法、装置、电子设备及存储介质 | |
CN109978594B (zh) | 订单处理方法、装置及介质 | |
CN110457219B (zh) | 一种测试脚本录制时时间选择的方法和装置 | |
CN109800933B (zh) | 风险评估方法及装置、存储介质、电子设备 | |
US12051025B2 (en) | Artificial intelligence-enabled metadata optimizer | |
CN114004629A (zh) | 数据分析的方法及装置 | |
CN109697141B (zh) | 用于可视化测试的方法及装置 | |
CN112966971A (zh) | 一种项目工作量评估方法和装置 | |
CN113760713A (zh) | 测试方法、系统、计算机系统和介质 | |
CN111427874A (zh) | 医疗数据生产的质控方法、装置以及电子设备 | |
CN116823407B (zh) | 产品信息推送方法、装置、电子设备和计算机可读介质 | |
CN113986305B (zh) | B/s模型升级的检测方法、装置、设备和存储介质 | |
CN111414103B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |