CN115080412A - 软件更新质量评估方法、装置、设备及计算机存储介质 - Google Patents

软件更新质量评估方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN115080412A
CN115080412A CN202210731843.3A CN202210731843A CN115080412A CN 115080412 A CN115080412 A CN 115080412A CN 202210731843 A CN202210731843 A CN 202210731843A CN 115080412 A CN115080412 A CN 115080412A
Authority
CN
China
Prior art keywords
software
update
evaluated
quality evaluation
code
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
Application number
CN202210731843.3A
Other languages
English (en)
Inventor
张李炯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202210731843.3A priority Critical patent/CN115080412A/zh
Publication of CN115080412A publication Critical patent/CN115080412A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种软件更新质量评估方法、装置、设备及计算机存储介质,方法包括:比对待评估软件的更新前版本与更新后版本,得到待评估软件的代码更新信息;对代码更新信息进行解析,得到各流程节点以及各流程节点之间的关联关系;根据各流程节点之间的关联关系确定代码更新信息的架构复杂度;根据架构复杂度以及待评估软件对应的版本更新功能确定待评估软件的更新质量评估结果。本申请实施例通过解析代码更新信息,并利用流程节点之间的关联关系来确定代码更新信息的架构复杂度,后续基于架构复杂度和版本更新功能可以准确的得到待评估软件的更新质量评估结果。

Description

软件更新质量评估方法、装置、设备及计算机存储介质
技术领域
本申请实施例涉及软件更新技术领域,具体涉及一种软件更新质量评估方法、装置、设备及计算机存储介质。
背景技术
目前,软件会随着用户的需求不断更新新的功能。而衡量软件的更新质量对降低软件的开发成本具有重要的意义。
目前,软件更新主要是通过代码行数、行错比等数据指标来进行质量评估的。但是,这些数据指标可以由开发人员主观进行控制,进而导致软件更新质量的准确性较低。
发明内容
本申请实施例提供一种软件更新质量评估方法、装置、设备及计算机存储介质在,直接解决现有的软件更新质量评估方法存在的准确性低的技术问题。
一方面,本申请实施例提供一种软件更新质量评估方法,包括:
比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果;
所述根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度,包括:
对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量;
根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
作为本申请的一种可选实施例,所述根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度,包括:
根据各所述流程节点的处理数据分别设定各所述流程节点的权重;
根据各所述流程节点的权重对各所述流程节点的关联节点数量加权,得到代码更新信息的架构复杂度。
作为本申请的一种可选实施例,所述对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系,包括:
对所述代码更新信息中的新增代码信息进行解析,得到新增流程节点以及所述新增流程节点与剩余流程节点的新增关联关系;
对所述代码更新信息中的更新代码信息和所述待评估软件的更新前版本中的原始代码信息进行解析,得到更新流程节点以及所述更新流程节点与剩余流程节点的更新关联关系;
将所述新增关联关系和所述更新关联关系作为各流程节点之间的关联关系。
作为本申请的一种可选实施例,所述根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果,包括:
根据所述待评估软件的软件类型获取参考评估软件;
对所述参考评估软件进行解析,得到所述参考评估软件中各功能模块的复杂度以及功能;
根据所述参考评估软件中各功能模块的复杂度以及功能,以及所述待评估软件对应的版本更新功能确定所述版本更新功能对应的目标复杂度;
根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果。
作为本申请的一种可选实施例,所述根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果,包括:
获取所述待评估软件的第一更新频率和所述参考评估软件的第二更新频率;
根据所述第一更新频率和所述第二更新频率的比值对所述目标复杂度进行加权,得到加权后的目标复杂度;
根据所述架构复杂度与所述加权后的目标复杂度的大小关系,确定所述待评估软件的更新质量评估结果。
作为本申请的一种可选实施例,所述比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息之前,所述方法包括:
获取待评估软件的更新前版本与更新后版本之间的时间间隔;
若所述时间间隔小于预设的间隔阈值,则执行所述比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息的步骤。
另一方面,本申请实施例还提供一种软件更新质量评估装置,包括:
比对模块,用于比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
解析模块,用于对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
确定模块,用于根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
评估模块,用于根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果;
所述根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度,包括:
对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量;
根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
另一方面,本申请实施例还提供一种软件更新质量评估设备,软件更新质量评估设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的软件更新质量评估程序,处理器执行软件更新质量评估程序以实现上述的软件更新质量评估方法中的步骤。
另一方面,本申请实施例还提供一种计算机存储介质,计算机存储介质上存储有软件更新质量评估程序,软件更新质量评估程序被处理器执行以实现上述的软件更新质量评估方法中的步骤。
本申请实施例通过比对更新前版本与更新后版本之间的差异,得到待评估软件的代码更新信息,然后对代码更新信息进行解析,得到流程节点之间的关联关系,然后基于流程节点之间的关联关系分析得到代码更新信息的架构复杂度,以便于后续通过架构复杂度和版本更新功能来综合确定待评估软件的更新质量评估结果。本申请实施例提供的软件更新质量评估方法,通过解析代码更新信息,并利用流程节点之间的关联关系来确定代码更新信息的架构复杂度,由于架构复杂度是流程节点之间的关联关系得到,无法通过开发人员主观控制,因此,后续基于架构复杂度和版本更新功能可以准确的得到待评估软件的更新质量评估结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种软件更新质量评估方法的场景示意图;
图2为本申请实施例提供的一种软件更新质量评估方法的步骤流程示意图;
图3为本申请实施例提供的一种确定架构复杂度的步骤流程示意图;
图4为本申请实施例提供的另一种确定架构复杂度的步骤流程示意图;
图5为本申请实施例提供的一种确定流程节点之间的关联关系的步骤流程示意图;
图6为本申请实施例提供的一种确定更新质量评估结果的步骤流程示意图;
图7为本申请实施例提供的另一种确定更新质量评估结果的步骤流程示意图;
图8为本申请实施例提供的一种比对待评估软件的不同版本得到代码更新信息的步骤流程示意图;
图9为本申请实施例提供的一种软件更新质量评估装置的结构示意图;
图10为本申请实施例提供的一种软件更新质量评估设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请包含的范围。
在本申请实施例中,“示例性”一词用来表示“用作例子、例证或说明”。本申请实施例中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请实施例所公开的原理和特征的最广范围相一致。
本申请实施例中提供一种软件更新质量评估方法、装置、设备及计算机存储介质,以下分别进行详细说明。
本申请实施例中软件更新质量评估方法是以程序的形式部署在软件更新质量评估装置上,软件更新质量评估装置是以处理器的形式安装在软件更新质量评估设备中,软件更新质量评估设备中的软件更新质量评估装置通过运行软件更新质量评估方法对应的程序,以执行如下步骤:比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果。
如图1所示,图1为本申请实施例提供的一种软件更新质量评估方法的场景示意图,本申请实施例中软件更新质量评估场景包括软件更新质量评估设备100以及待评估软件200,其中,待评估软件200包括更新前版本以及更新后版本,软件更新质量评估设备100通过运行有软件更新质量评估方法对应的计算机可读存储介质,以执行对待评估软件200的软件更新质量评估方法的步骤。
可以理解的是,图1所示软件更新质量评估方法场景中的软件更新质量评估设备,或者软件更新质量评估设备中包含的装置并不构成对本申请实施例的限制,即软件更新质量评估方法的场景中包含的软件更新质量评估设备的设备数量、设备种类,或者各个设备中包含的装置数、装置种类不影响本申请实施例中技术方案的整体实现,均可以算作本申请实施例要求保护技术方案的等效替换或者衍生。
本申请实施例中软件更新质量评估设备100主要用于:比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果。
本申请实施例中的软件更新质量评估设备100可以是独立的软件更新质量评估设备,例如手机、平板电脑、智能电视、网络设备、服务器和智能电脑等智能终端,也可以是由多个软件更新质量评估设备组成的软件更新质量评估网络或软件更新质量评估集群。
本领域技术人员可以理解的是,图1中所示出的应用环境,仅仅是与本申请方案相关的其中一种应用场景,并不构成对本申请方案应用场景的限定,其它的应用环境还可以包括比图1所示出的更多或更少的软件更新质量评估设备,或者软件更新质量评估网络连接关系,例如图1中仅示出一个软件更新质量评估设备,可以理解的是该软件更新质量评估方法的场景还可以包括一个或多个软件更新质量评估设备,具体在此不做限定;该软件更新质量评估设备100种还可以包括存储器,用于存储代码维护信息和其它数据。
需要说明的是,图1所示的软件更新质量评估方法的场景示意图仅仅是一个示例,本申请实施例描述的软件更新质量评估方法的场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定。
基于上述软件更新质量评估方法的场景,提出本申请所公开的软件更新质量评估方法的各个实施例。
如图2所示,图2为本申请实施例提供的一种软件更新质量评估方法的步骤流程示意图,具体的,包括步骤201~204:
201,比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息。
本申请实施例中,待评估软件可以是任意类型的软件,比如,金融软件、社交软件、购物软件等。具体的,随着客户的需求,软件会不断更新新的版本,这里的更新前版本是指历史版本中的任意一个版本,通常是指最近的一个历史版本,而更新后版本则是指更新后的最新版本,本申请实施例在此不再赘述。
本申请实施例中,进一步的,在获取到待评估软件的更新前版本与更新后版本后,通过比对两种版本的代码信息,就可以得到待评估软件的代码更新信息。具体的,代码更新信息通常情况下是以代码的形式存在,通常包含有两种形式,一种为新增的代码,另一种为修改的代码。
本申请实施例中,作为本申请的一种可行实施例,通常情况下,并非是针对任意更新的版本都进行软件更新质量评估,而是会基于软件更新的时间间隔进行判断,具体的实现方案可以参阅后续图8及其解释说明的内容。
202,对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系。
本申请实施例中,可以理解,软件中的代码描述了各个功能模块也就是各个流程节点之间的数据流转情况,因此,对代码更新信息进行解析,就可以提取出软件各流程节点以及各流程节点之间的关联关系。具体的,当两个流程节点可以相互跳转时,则可以认为这两个流程节点存在关联,反之,两个流程节点之间不可以跳转,则认为这两个流程节点不存在关联。
具体的,待评估软件的代码更新信息存在新增代码和修改代码两种形式,具体的,对代码更新信息进行解析的实现方案可以参阅后续图5及其解释说明的内容。
203,根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度。
本申请实施例中,在确定流程节点之间的关联关系后,基于各流程节点之间的关联关系能够确定代码更新信息的架构复杂度。具体的,例如,可以是通过统计各流程节点之间的关联关系,找到各流程节点的关联节点数量,各流程节点的关联节点数量越多,则表明架构复杂度越高,反之,各流程节点的关联节点数量越少,则表明架构复杂度越低。具体的实现方案可以参阅后续图3及其解释说明的内容。
204,根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果。
本申请实施例中,在得到代码更新信息的架构复杂度后,进一步结合待评估软件对应的版本更新功能就可以确定待评估软件的更新质量评估结果。其中,待评估软件对应的版本更新功能可以理解为该待评估软件在此次更新中所新增或修改的功能。具体的,待评估软件对应的版本更新功能与架构复杂度不相匹配,例如待评估软件对应的版本更新功能较简单,而相应的架构复杂度较为复杂,则可以认为此次待评估软件的更新质量评估结果为差。
进一步的,更新质量评估结果可以基于实际需求设定,例如可以包括优、良、差等等,但不管如何,对于不同的更新质量评估结果后续应当有对应的处理手段。例如,对于更新质量评估结果为差的待评估软件,可以输出更新质量评估结果以提醒开发人员重新校验,避免直接上线等等,本申请实施例在此不再赘述。
进一步的,为了更好体现架构复杂度与待评估软件对应的版本更新功能之间的匹配性,作为本申请的一种可选实施例,可以通过参阅其他软件的复杂度以及功能之间的匹配关系来实现,具体的实现方案可以参阅后续图5及其解释说明的内容。
本申请实施例通过比对更新前版本与更新后版本之间的差异,得到待评估软件的代码更新信息,然后对代码更新信息进行解析,得到流程节点之间的关联关系,然后基于流程节点之间的关联关系分析得到代码更新信息的架构复杂度,以便于后续通过架构复杂度和版本更新功能来综合确定待评估软件的更新质量评估结果。本申请实施例提供的软件更新质量评估方法,通过解析代码更新信息,并利用流程节点之间的关联关系来确定代码更新信息的架构复杂度,由于架构复杂度是流程节点之间的关联关系得到,无法通过开发人员主观控制,因此,后续基于架构复杂度和版本更新功能可以准确的得到待评估软件的更新质量评估结果。
如图3所示,图3为本申请实施例提供的一种确定架构复杂度的步骤流程示意图,详述如下。
本申请实施例中,提供了一种通过流程节点之间的关联关系进行统计,利用各流程节点的关联节点数量来确定架构复杂度的具体实现方案。具体的,包括步骤301~302:
301,对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量。
本申请实施例中,结合前述描述可知,流程节点之间的关联关系描述了量程节点是否存在关联。具体的,对各流程节点之间的关联关系进行统计,就可以得到各个流程节点的关联节点数量。
例如,以支付流程节点为例,在支付流程节点之后,一般会展示支付结果,而支付结果通常情况下包含两种,支付成功以及支付失败,则支付流程节点之后的关联节点数量为2。而在支付流程节点之前,通常为支付渠道选择节点,例如,支付渠道包含有A、B、C三种,则支付渠道选择节点也有三种,此时支付流程节点之前的关联节点数量为3。则最终该流程节点的关联节点数量为5。当然,上述仅仅是以简单的支付流程节点为例进行说明的,事实上,在一款支付软件中,与支付流程节点相关的关联节点数量可能更多。本申请实施例在此不再赘述。
302,根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
本申请实施例中,在得到各流程节点的关联节点数量后,通常情况下,将各流程节点的关联节点数量求和,即可得到代码更新信息的架构复杂度。当然,架构复杂度也可以通过其他方式对各流程节点的关联节点数量进行统计得到,例如,作为本申请的一种可选实施例,还可以根据各流程节点的处理数据来设定各流程节点的权重,具体的实现方案可以参阅后续图4及其解释说明的内容。
如图4所示,图4为本申请实施例提供的另一种确定架构复杂度的步骤流程示意图,详述如下。
本申请实施例中,提供了一种基于处理数据来设定流程节点的权重,从而确定架构复杂度的实现方案,具体的,包括步骤401~402:
401,根据各所述流程节点的处理数据分别设定各所述流程节点的权重。
本申请实施例中,不同的流程节点所处理的数据不同,因此,可以根据各流程节点的处理数据来分别设定各流程节点的权重。具体的,针对于处理重要数据的流程节点,例如支付金额、支付用户等等,其对应的权重可以设定更大。反之,对于处理剩余数据的流程节点,例如支付订单号、支付渠道等等,该类流程节点的权重可以设定的更小。
具体的,各处理数据与权重的映射关系可以是预先存储于数据库中,当需要设定权重时,利用各流程节点的处理数据查询数据库,即可得到相应的权重系数。
402,根据各所述流程节点的权重对各所述流程节点的关联节点数量加权,得到代码更新信息的架构复杂度。
本申请实施例中,进一步的,在基于各流程节点的处理数据的重要性设定好各流程节点的权重后,利用各流程节点的权重对各流程节点的关联节点数量加权即可得到代码更新信息的架构复杂度。利用各流程节点的处理数据设定各流程节点的权重,并对各流程节点的关联节点数量进行加权,所得到的架构复杂度更能反馈出软件的更新质量。
如图5所示,图5为本申请实施例提供的一种确定流程节点之间的关联关系的步骤流程示意图,详述如下。
本申请实施例中,提供了一种针对于代码更新信息中新增代码信息和更新代码信息分别进行处理,得到流程节点之间的关联关系的步骤流程示意图,具体的,包括步骤501~503:
501,对所述代码更新信息中的新增代码信息进行解析,得到新增流程节点以及所述新增流程节点与剩余流程节点的新增关联关系。
本申请实施例中,对于待评估软件的新增功能,通常会在更新后版本中用新增代码体现,通过对代码更新信息中的新增代码信息进行解析,就可以得到待评估软件中的新增流程节点,以及新增流程节点与剩余流程节点之间的新增关联关系。
502,对所述代码更新信息中的更新代码信息和所述待评估软件的更新前版本中的原始代码信息进行解析,得到更新流程节点以及所述更新流程节点与剩余流程节点的更新关联关系。
本申请实施例中,对于待评估软件的修改功能,更新前版本和更新后版本的代码通常不同,对代码更新信息中的更新代码信息以及更新前版本中相应的原始代码信息进行解析,就可以确定更新流程节点以及更新流程节点与剩余流程节点的更新关联关系。
503,将所述新增关联关系和所述更新关联关系作为各流程节点之间的关联关系。
本申请实施例中,新增流程节点和更新流程节点都可以视为对代码更新信息进行解析所得到的流程节点,而新增关联关系和更新关联关系都可以视为各流程节点之间的关联关系。
如图6所示,图6为本申请实施例提供的一种确定更新质量评估结果的步骤流程示意图,详述如下。
本申请实施例中,提供了一种利用参考评估软件的复杂度以及功能的对应关系来对待评估软件进行更新质量评估的实现方案,具体的,包括步骤601~604:
601,根据所述待评估软件的软件类型获取参考评估软件。
本申请实施例中,待评估软件的软件类型,可以参阅前述步骤201及其解释说明,通常情况下包括金融软件、社交软件、购物软件等。本申请实施例在此不再赘述。
本申请实施例中,所获取到的参考评估软件的软件类型是与待评估软件的软件类型相同,例如,均为金融软件等等。
602,对所述参考评估软件进行解析,得到所述参考评估软件中各功能模块的复杂度以及功能。
本申请实施例中,基于相同的处理逻辑,对参考评估软件中的代码信息进行解析,同样可以获取到参考评估软件中各功能模块的复杂度以及功能。
603,根据所述参考评估软件中各功能模块的复杂度以及功能,以及所述待评估软件对应的版本更新功能确定所述版本更新功能对应的目标复杂度。
本申请实施例中,参考评估软件中各功能模块的复杂度以及功能描述了不同功能与不同架构复杂度之间的关系,并提供了相应的参考标准,基于该参考标准,可以查询得到与待评估软件对应的版本更新功能相对应的一个参考复杂度,也就是目标复杂度,以用于后续的待评估软件的更新质量评估。
604,根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果。
本申请实施例中,通过比对架构复杂度与目标复杂度,判断两者是否匹配,就可以确定待评估软件的更新质量评估结果。
进一步的,作为本申请的可选实现方案,还会进行根据待评估软件的更新频率和参考评估软件的更新频率来对目标复杂度进行调整,具体的实现方案请参阅后续图7及其解释说明的内容。
具体的,为便于理解本申请实施例提供的技术方案,现举例如下,若参考评估软件中支付功能模块对应的复杂度为10,则待评估软件对应的版本更新功能中新增了支付功能,则所对应的目标复杂度同样可以设定为10,此时通过比对待评估软件的代码更新信息的架构复杂度和目标复杂度的大小关系,就可以确定此次的更新质量评估结果。若待评估软件的代码更新信息的架构复杂度远大于10,例如,待评估软件的代码更新信息的架构复杂度为20,则可以认为此次软件更新的质量评估为差,反之,若待评估软件的代码更新信息的架构复杂度小于10,或者接近10,则可以认为此次软件更新的质量评估为优。
如图7所示,图7为本申请实施例提供的另一种确定更新质量评估结果的步骤流程示意图,详述如下。
本申请实施例中,提供了基于待评估软件的更新频率和参考评估软件的更新频率对目标复杂度进行调整的实现方案,具体的,包括步骤701~703:
701,获取所述待评估软件的第一更新频率和所述参考评估软件的第二更新频率。
本申请实施例中,待评估软件的第一更新频率可以通过计算待评估软件的上线周期与更新版本次数的比值得到,同样的,参考评估软件的第二更新频率也可以通过计算参考评估软件的上线周期与更新版本次数的比值得到,本申请实施例在此对计算得到待评估软件的第一更新频率和参考评估软件的第二更新频率对实现方案不做赘述。
702,根据所述第一更新频率和所述第二更新频率的比值对所述目标复杂度进行加权,得到加权后的目标复杂度.
本申请实施例中,在得到待评估软件的第一更新频率和参考评估软件的第二更新频率后,计算第一更新频率和第二更新频率的比值,并利用该比值作为加权系数对目标复杂度进行加权,最终所得到的加权后的目标复杂度除了会与参考评估软件中功能与复杂度的对应关系相关之外,还会与待评估软件和参考评估软件的更新频率关联,因此,加权后的目标复杂度能够更好的用于后续的质量评估。具体的,更新频率越高,则复杂度应当设定的更小。
703,根据所述架构复杂度与所述加权后的目标复杂度的大小关系,确定所述待评估软件的更新质量评估结果。
本申请实施例中,在得到加权后的目标复杂度后,通过比对代码更新部分的架构复杂度和加权后的目标复杂度的大小关系就能确定待评估软件的更新质量评估结果。具体的,当架构复杂度远大于加权后的目标复杂度时,可以认为待评估软件的更新质量评估结果为差,此时可以输出架构复杂度或者各流程节点的复杂度,以提供开发人员对更新后版本进行调整。反之,若架构复杂度接近于或者小于加权后的目标复杂度,则可以认为待评估软件的更新质量评估结果为优,可以执行后续的上线操作。
如图8所示,图8为本申请实施例提供的一种比对待评估软件的不同版本得到代码更新信息的步骤流程示意图,详述如下。
本申请实施例中,提供了一种利用更新前后的时间间隔判断是否需要对软件进行更新质量评估的实现方案,包括的,步骤801~802:
801,获取待评估软件的更新前版本与更新后版本之间的时间间隔。
本申请实施例中,通过获取待评估软件的更新前版本的时间序列号以及更新后版本的时间序列号,并计算两者的差值,就可以得到更新前版本与更新后版本之间的时间间隔。
802,若所述时间间隔小于预设的间隔阈值,则比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息。
本申请实施例中,在更新前版本与更新后版本之间的时间间隔小于预设的间隔阈值时,也就是认为软件的更新周期过短时,需要执行本申请实施例提供的软件质量评估方法以确定此次更新的质量评估结果,从而确定是否需要上线。具体的,这里的间隔阈值可以是预设的固定阈值,例如一周或半个月等等,当然,间隔阈值也可以是基于软件类型、软件大小等等相关指标来设定的,本申请实施例在此不再赘述。
为了更好实施本申请实施例中软件更新质量评估方法,在软件更新质量评估方法基础之上,本申请实施例中还提供一种软件更新质量评估装置。如图9所示,图9为本申请实施例提供的一种软件更新质量评估装置的结构示意图。具体的,软件更新质量评估装置包括:
比对模块901,用于比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
解析模块902,用于对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
确定模块903,用于根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
评估模块904,用于根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果。
在本申请一些实施例中,上述确定模块包括:
统计次模块,用于对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量;
确定次模块,用于根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
在本申请一些实施例中,上述确定次模块包括:
设定单元,用于根据各所述流程节点的处理数据分别设定各所述流程节点的权重;
加权单元,用于根据各所述流程节点的权重对各所述流程节点的关联节点数量加权,得到代码更新信息的架构复杂度。
在本申请一些实施例中,上述解析模块包括:
第一解析次模块,用于对所述代码更新信息中的新增代码信息进行解析,得到新增流程节点以及所述新增流程节点与剩余流程节点的新增关联关系;
第二解析次模块,用于对所述代码更新信息中的更新代码信息和所述待评估软件的更新前版本中的原始代码信息进行解析,得到更新流程节点以及所述更新流程节点与剩余流程节点的更新关联关系;
关联次模块,用于将所述新增关联关系和所述更新关联关系作为各流程节点之间的关联关系。
在本申请一些实施例中,上述评估模块包括:
获取次模块,用于根据所述待评估软件的软件类型获取参考评估软件;
解析次模块,用于对所述参考评估软件进行解析,得到所述参考评估软件中各功能模块的复杂度以及功能;
设定次模块,用于根据所述参考评估软件中各功能模块的复杂度以及功能,以及所述待评估软件对应的版本更新功能确定所述版本更新功能对应的目标复杂度;
评估次模块,用于根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果。
在本申请一些实施例中,上述评估次模块包括:
更新频率获取单元,用于获取所述待评估软件的第一更新频率和所述参考评估软件的第二更新频率;
复杂度加权单元,用于根据所述第一更新频率和所述第二更新频率的比值对所述目标复杂度进行加权,得到加权后的目标复杂度;
比对单元,用于根据所述架构复杂度与所述加权后的目标复杂度的大小关系,确定所述待评估软件的更新质量评估结果。
在本申请一些实施例中,上述软件更新质量评估装置包括间隔获取模块,用于获取待评估软件的更新前版本与更新后版本之间的时间间隔;
上述比对模块,用于若所述时间间隔小于预设的间隔阈值,则比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息。
本申请实施例还提供一种软件更新质量评估设备,如图10所示,图10为本申请实施例提供的一种软件更新质量评估设备的结构示意图。
软件更新质量评估设备包括存储器、处理器以及存储于存储器中,并可在处理器上运行的软件更新质量评估程序,处理器执行软件更新质量评估程序时实现本申请任一实施例提供的软件更新质量评估方法中的步骤。
具体来讲:软件更新质量评估设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图10中示出的软件更新质量评估设备结构并不构成对软件更新质量评估设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是该软件更新质量评估设备的控制中心,利用各种接口和线路连接整个软件更新质量评估设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行软件更新质量评估设备的各种功能和处理数据,从而对软件更新质量评估设备进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据软件更新质量评估设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
软件更新质量评估设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理***与处理器1001逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该软件更新质量评估设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,软件更新质量评估设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,软件更新质量评估设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现本申请任一实施例所提供的软件更新质量评估方法中的步骤。
为此,本申请实施例提供一种计算机存储介质,该计算机存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。计算机存储介质上存储有软件更新质量评估程序,软件更新质量评估程序被处理器执行时实现本申请任一实施例所提供的软件更新质量评估方法中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种软件更新质量评估方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种软件更新质量评估方法,其特征在于,包括:
比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果;
所述根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度,包括:
对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量;
根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
2.根据权利要求1所述的软件更新质量评估方法,其特征在于,所述根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度,包括:
根据各所述流程节点的处理数据分别设定各所述流程节点的权重;
根据各所述流程节点的权重对各所述流程节点的关联节点数量加权,得到代码更新信息的架构复杂度。
3.根据权利要求1所述的软件更新质量评估方法,其特征在于,所述对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系,包括:
对所述代码更新信息中的新增代码信息进行解析,得到新增流程节点以及所述新增流程节点与剩余流程节点的新增关联关系;
对所述代码更新信息中的更新代码信息和所述待评估软件的更新前版本中的原始代码信息进行解析,得到更新流程节点以及所述更新流程节点与剩余流程节点的更新关联关系;
将所述新增关联关系和所述更新关联关系作为各流程节点之间的关联关系。
4.根据权利要求1所述的软件更新质量评估方法,其特征在于,所述根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果,包括:
根据所述待评估软件的软件类型获取参考评估软件;
对所述参考评估软件进行解析,得到所述参考评估软件中各功能模块的复杂度以及功能;
根据所述参考评估软件中各功能模块的复杂度以及功能,以及所述待评估软件对应的版本更新功能确定所述版本更新功能对应的目标复杂度;
根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果。
5.根据权利要求4所述的软件更新质量评估方法,其特征在于,所述根据所述架构复杂度与所述目标复杂度,确定所述待评估软件的更新质量评估结果,包括:
获取所述待评估软件的第一更新频率和所述参考评估软件的第二更新频率;
根据所述第一更新频率和所述第二更新频率的比值对所述目标复杂度进行加权,得到加权后的目标复杂度;
根据所述架构复杂度与所述加权后的目标复杂度的大小关系,确定所述待评估软件的更新质量评估结果。
6.根据权利要求4所述的软件更新质量评估方法,其特征在于,所属软件类型至少包括金融、聊天、音乐、游戏中的一种。
7.根据权利要求1~6任一所述的软件更新质量评估方法,其特征在于,所述比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息之前,所述方法包括:
获取待评估软件的更新前版本与更新后版本之间的时间间隔;
若所述时间间隔小于预设的间隔阈值,则执行所述比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息的步骤。
8.一种软件更新质量评估装置,其特征在于,包括:
比对模块,用于比对待评估软件的更新前版本与更新后版本,得到所述待评估软件的代码更新信息;
解析模块,用于对所述代码更新信息进行解析,得到各流程节点以及各所述流程节点之间的关联关系;
确定模块,用于根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度;
评估模块,用于根据所述架构复杂度以及所述待评估软件对应的版本更新功能确定所述待评估软件的更新质量评估结果;
所述根据各所述流程节点之间的关联关系确定所述代码更新信息的架构复杂度,包括:
对各所述流程节点之间的关联关系进行统计,得到各所述流程节点的关联节点数量;
根据各所述流程节点的关联节点数量,确定代码更新信息的架构复杂度。
9.一种软件更新质量评估设备,其特征在于,所述软件更新质量评估设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的软件更新质量评估程序,所述处理器执行所述软件更新质量评估程序以实现权利要求1至7任一项所述的软件更新质量评估方法中的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有软件更新质量评估程序,所述软件更新质量评估程序被处理器执行以实现权利要求1至7任一项所述的软件更新质量评估方法中的步骤。
CN202210731843.3A 2022-06-25 2022-06-25 软件更新质量评估方法、装置、设备及计算机存储介质 Pending CN115080412A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210731843.3A CN115080412A (zh) 2022-06-25 2022-06-25 软件更新质量评估方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210731843.3A CN115080412A (zh) 2022-06-25 2022-06-25 软件更新质量评估方法、装置、设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN115080412A true CN115080412A (zh) 2022-09-20

Family

ID=83256035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210731843.3A Pending CN115080412A (zh) 2022-06-25 2022-06-25 软件更新质量评估方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN115080412A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033145A (zh) * 2023-10-09 2023-11-10 晨达(广州)网络科技有限公司 一种基于云计算的软件开发方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033145A (zh) * 2023-10-09 2023-11-10 晨达(广州)网络科技有限公司 一种基于云计算的软件开发方法

Similar Documents

Publication Publication Date Title
CN108255653B (zh) 一种产品的测试方法及其终端
CN111311392A (zh) 风控决策方法、装置、服务器及存储介质
CN115080412A (zh) 软件更新质量评估方法、装置、设备及计算机存储介质
CN117234859B (zh) 一种性能事件监控方法、装置、设备和存储介质
CN117112701B (zh) 分布式数据库中的节点切换方法、计算机设备及存储介质
CN114648119A (zh) 异质性因果效应的确定方法、装置、电子设备及存储介质
CN115203556A (zh) 一种评分预测模型训练方法、装置、电子设备及存储介质
CN115185819A (zh) ***测试方法、装置、设备及计算机可读存储介质
CN112667512A (zh) 数据驱动测试方法、装置、设备和计算机可读存储介质
CN113676377A (zh) 基于大数据的在线用户数评估方法、装置、设备及介质
CN111190897A (zh) 信息处理方法、装置、存储介质及服务器
CN109436980A (zh) 电梯部件的状态检测方法和***
CN111209208B (zh) 测试方案生成方法、装置、设备和存储介质
CN112286826B (zh) 一种vts测试方法、装置、存储介质及计算机设备
CN117313856B (zh) 一种可靠性测试规划***及方法
CN115242685B (zh) 基于关联矩阵的回放测试方法、装置、设备及存储介质
CN111105059B (zh) 属性冲突发现方法、装置和计算机可读存储介质
CN112312445B (zh) 语音呼叫的处理方法、装置、存储介质和服务器
CN115202710A (zh) 软件维护难度评估方法、装置、设备和存储介质
CN116703248A (zh) 数据审核方法、装置、电子设备及计算机可读存储介质
CN113987417A (zh) 一种数据自修改***、方法和计算机装置
CN117217540A (zh) 样本构建方法、装置、设备、介质及程序产品
CN116594914A (zh) 测试数据的生成方法、装置、设备及存储介质
CN115826818A (zh) 一种金融产品上线方法、装置、计算机设备和存储介质
CN117807092A (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