CN109471787A - 软件质量评价方法及装置、存储介质、电子设备 - Google Patents

软件质量评价方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN109471787A
CN109471787A CN201710801533.3A CN201710801533A CN109471787A CN 109471787 A CN109471787 A CN 109471787A CN 201710801533 A CN201710801533 A CN 201710801533A CN 109471787 A CN109471787 A CN 109471787A
Authority
CN
China
Prior art keywords
test module
quality
level
test
priority
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
Application number
CN201710801533.3A
Other languages
English (en)
Other versions
CN109471787B (zh
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710801533.3A priority Critical patent/CN109471787B/zh
Publication of CN109471787A publication Critical patent/CN109471787A/zh
Application granted granted Critical
Publication of CN109471787B publication Critical patent/CN109471787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3604Software analysis for verifying properties of programs
    • 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
    • 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/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

本公开是关于一种软件质量评价方法及装置,属于软件技术领域,该方法包括:将待评价软件划分为多个测试模块并为各所述测试模块配置权值;根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。该方法通过对各测试模块的质量进行评价,可以快速的发现软件质量的内部问题,并且可以在软件开发的过程中就可以逐步的掌控软件的总体质量。

Description

软件质量评价方法及装置、存储介质、电子设备
技术领域
本公开涉及软件技术领域,具体而言,涉及一种软件质量评价方法、软件质量评价装置、计算机可读存储介质以及电子设备。
背景技术
随着信息技术的蓬勃发展,计算机已经越来越广泛地应用到各行各业中。同时,作为信息技术的灵魂,软件的规模也在日益扩大,这不仅导致了程序复杂度的提高,也降低了软件自身的可靠性。因此,保证软件质量是贯穿到整个软件生命周期的重要问题,而对软件质量进行有效定量地评价则是保证软件质量的一种重要手段。
在每一个软件项目的测试生命周期过程中,都会记录下被测系统的全部质量相关的流程信息以及缺陷信息等,这些信息详细的记录了一个被测系统从提交测试到部署到生产环境之间的质量变化过程。
但是,上述过程数据经常会被代码质量分析环节所忽视;进一步的,目前也还没有依据测试生命周期中的流程和缺陷数据对项目代码质量评价的方法。
因此,需要提供一种新的软件质量评价方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种软件质量评价方法、软件质量评价装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种软件质量评价方法,包括:
将待评价软件划分为多个测试模块并为各所述测试模块配置权值;
根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;
计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
在本公开的一种示例性实施例中,根据各所述测试模块的权值计算各所述测试模块的测试单位化结果包括:
其中,为第n-1个测试模块的测试单位化结果;为第n个测试模块的测试单位化结果;S1为第1个测试模块的测试内容,Sn-1为第n-1个测试模块的测试内容;Sn为第n个测试模块的测试内容;ωn-1为第n-1个测试模块的权值wn-1与第n个测试模块的权值之间wn的夹角;ωi第i个测试模块的权值wi与第i+1个测试模块的权值wi+1之间的夹角;ωn为第1个测试模块的权值w1与第n个测试模块的权值wn之间的夹角;n为正整数且i∈n。
在本公开的一种示例性实施例中,所述扩展属性包括基于缺陷级别的扩展属性以及基于优先级级别的扩展属性。
在本公开的一种示例性实施例中,计算各所述测试单位化结果的基于缺陷级别的多个扩展属性包括:
其中,Level(EvpT)为基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为基于缺陷级别的单位化代码质量指标的90分位值;j为各缺陷级别对应的权值,取值为1-5的整数;EvpTj为缺陷级别对应的权值为j时,该缺陷的平均修复时长;Per90Tj为缺陷级别对应的权值为j时,该缺陷修复时长的90分位数。
在本公开的一种示例性实施例中,计算各所述测试单位化结果的基于优先级别的多个扩展属性包括:
其中,Priority(EvpT)为基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;k为各优先级别对应的权值,取值为1-4的正整数;EvpTk为优先级别对应的权值为k时,该缺陷的平均修复时长;Per90Tk为优先级别对应的权值为k时,该缺陷修复时长的90分位数。
在本公开的一种示例性实施例中,根据各所述扩展属性对各所述测试模块的质量进行评价包括:
其中,STR为各测试模块的冒烟测试结果;Level(EvpT)为各测试模块的基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为各测试模块基于缺陷级别的单位化代码质量指标的90分位值;Priority(EvpT)为各测试模块的基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;Rq为各测试模块的质量。
在本公开的一种示例性实施例中,所述软件质量评价方法还包括:
根据各所述测试模块的质量对所述待评价的软件的质量进行评价。
在本公开的一种示例性实施例中,所述冒烟测试结果根据Level(EvpT)、Level(Per90T)、Priority(EvpT)以及Priority(Per90T)中的最大值运算结果得到。
在本公开的一种示例性实施例中,所述缺陷级别包括致命缺陷、严重缺陷、一般缺陷、轻微缺陷或者建议中的一种。
在本公开的一种示例性实施例中,所述优先级别包括重要、一般、次要以及无关紧要中的一种。
根据本公开的一个方面,提供一种软件质量评价装置,包括:
权值配置模块,用于将待评价软件划分为多个测试模块并为各所述测试模块配置权值;
测试单位化结果计算模块,用于根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;
质量评价模块,用于计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的软件质量评价方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的软件质量评价方法。
本公开一种软件质量评价方法及装置,通过将待评价软件划分为多个测试模块并为各测试模块配置权值;然后再根据各测试模块的权值计算各测试模块的测试单位化结果;最后再计算各测试单位化结果的多个扩展属性并根据各扩展属性对各测试模块的质量进行评价;一方面,通过将待评价软件或分为多个测试模块并对各测试模块的质量进行评价,可以有效的量化待评价软件的各个模块的质量;因此可以进一步的根据各模块的质量对总体的质量进行评价,便于掌控软件的整体质量;另一方面,通过对各测试模块的质量进行评价,可以快速的发现软件质量的内部问题,并且可以在软件开发的过程中就可以逐步的掌控软件的总体质量;更进一步的,由于可以快速的发现软件质量的内部问题,可以在软件的开发过程中就解决已经发现的问题,通过提早修改的方法可以进一步的节省软件后期在进行整体质量评价的时候的人力成本以及时间成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出一种软件质量评价方法的流程图。
图2示意性示出一种单位圆示例图。
图3示意性示出一种随机变量的函数示例图。
图4示意性示出一种正态分布概率密度曲线示例图。
图5示意性示出一种软件质量评价装置的框图。
图6示意性示出一种用于实现上述软件质量评价方法的电子设备。
图7示意性示出一种用于实现上述软件质量评价方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种软件质量评价方法。参考图1所示,该软件质量评价方法可以包括以下步骤:
步骤S110.将待评价软件划分为多个测试模块并为各所述测试模块配置权值。
步骤S120.根据各所述测试模块的权值计算各所述测试模块的测试单位化结果。
步骤S130.计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
在上述软件质量评价方法中,一方面,通过将待评价软件或分为多个测试模块并对各测试模块的质量进行评价,可以有效的量化待评价软件的各个模块的质量;因此可以进一步的根据各模块的质量对总体的质量进行评价,便于掌控软件的整体质量;另一方面,通过对各测试模块的质量进行评价,可以快速的发现软件质量的内部问题,并且可以在软件开发的过程中就可以逐步的掌控软件的总体质量;更进一步的,由于可以快速的发现软件质量的内部问题,可以在软件的开发过程中就解决已经发现的问题,通过提早修改的方法可以进一步的节省软件后期在进行整体质量评价的时候的人力成本以及时间成本。
下面,将对本示例实施方式中的上述软件质量评价方法中的各步骤进行详细的解释以及说明。
在步骤S110中,将待评价软件划分为多个测试模块并为各所述测试模块配置权值。详细而言:
首先,将待评价软件划分为多个测试模块(例如可以是1-n个模块);其中,软件可以按照性能测试点进行划分,也可以按照兼容性测试用例划分等等,本示例对此不做特殊限制;进一步的,各测试模块对应的测试内容可以记为s1,s2,...,sn等等,也可以以其他的方式进行标记,例如可以是r1,r2,...,rn等等,本示例对此不做特殊限制。其次,为各测试模块配置权值;其中,各测试模块的权值可以标记为:w1,w2,...,wn等等。此处需要补充说明的是,各测试模块的权值可以通过测试人员通过手动配置,也可以根据各模块在整个软件中所占的比重进行自动生成,本示例对此不做特殊限制。
在步骤S120中,根据各所述测试模块的权值计算各所述测试模块的测试单位化结果。其中,计算测试单位化结果具体的可以包括:
其中,为第n-1个测试模块的测试单位化结果;为第n个测试模块的测试单位化结果;S1为第1个测试模块的测试内容,Sn-1为第n-1个测试模块的测试内容;Sn为第n个测试模块的测试内容;ωn-1为第n-1个测试模块的权值wn-1与第n个测试模块的权值之间wn的夹角;ωi第i个测试模块的权值wi与第i+1个测试模块的权值wi+1之间的夹角;ωn为第1个测试模块的权值w1与第n个测试模块的权值wn之间的夹角;n为正整数且i∈n。详细而言:
首先,对上述单位化进行解释以及说明。参考图2所示,在三角学中,单位圆通常是指欧几里德平面直角坐标系中圆心为(0,0)、半径为1的圆;然后采用单位圆的形式对所有量化标准进行单位化计算。
其次,基于上述单位化对步骤S120进行解释说明。参考图2所示,首先根据各测试化模块的权值wi计算各权值wi之间的夹角ωi;后再根据夹角ωi计算测试单位化结果;具体计算方法如上公式所述,此处不再赘述。
在步骤S130中,计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
首先,对上述扩展属性进行解释说明。上述扩展属性可以包括扩展属性包括基于缺陷级别(缺陷的严重级别可以表明缺陷的破坏和影响程度)的扩展属性以及基于优先级级别(缺陷的优先级表明缺陷解决的紧急程度)的扩展属性;其中,基于缺陷级别的扩展属性可以包括:基于缺陷级别的单位化代码质量指标的平均值(Level(EvpT))以及基于缺陷级别的单位化代码质量指标的90分位值(Level(Per90T));基于优先级级别的扩展属性可以包括:基于优先级的单位化代码质量指标的平均值(Priority(EvpT));基于优先级的单位化代码质量指标的90分位值(Priority(Per90T))。进一步的,缺陷级别可以包括致命缺陷、严重缺陷、一般缺陷、轻微缺陷或者建议等等;各缺陷级别对应的权值可以包括:致命缺陷对应的权值可以为5,严重缺陷对应的权值可以为4,一般缺陷对应的权值可以为3,轻微缺陷对应的权值可以为2,建议对应的权值可以为1;此处需要补充说明的是,为了可以减少各测试模块的评价时间,当缺陷级别对应的权值为1时,不予考虑,可以认为质量合格;更进一步的,优先级别可以包括重要、一般、次要以及无关紧要等等;各优先级别对应的权值可以包括:重要级别对应的权值可以为4,一般级别对应的权值可以为3,次要级别对应的权值可以为2,无关紧要级别对应的权值可以为1;此处需要补充说明的是,为了可以减少各测试模块的评价时间,当优先级别对应的权值为1时,不予考虑,可以认为质量合格。
其次,对分位数进行简单的解释以及说明。参考图3,f(x)是指随机变量X在观察值为x时的概率密度,如果随机变量X的单位为mm,则f(x)的单位为%/mm;曲线与X轴所围成的面积表示概率,该面积等于1,因为随机变量的所有可能取值(即:100%)都在X轴上;进一步的,参考图4所示,图4是一个均值=10,标准差=0.5的正态分布概率密度曲线的例子,x=9.020的垂线与该分布的概率密度曲线和X轴所围成的左侧区域面积=0.025,该面积表示在随机变量X的总体分布中,有2.5%的值小于9.020,也就是说在总体分布中,随机变量X的取值小于9.020的概率为2.5%;同样,x=10.98的垂线与该分布的概率密度曲线和X轴所围成的右侧区域面积=0.025,该面积表示在随机变量X的总体分布中,有2.5%的值大于10.98,也就是说在总体分布中,随机变量X的取值大于10.98的概率为2.5%(也即是随机变量X的取值小于10.98的概率为97.5%)。在这个分布中,x=9.020的值被称为X的2.5%分位数(即:X2.5%=9.020),x=10.98的值被称为X的97.5%分位数(X97.5%=10.98)。随机变量X有95%(即:97.5%-2.5%=95%)的取值落在9.020至10.98之间。每个分位数都是随机变量所有可能取值中的某个值。按照定义,若某个值Xp被称为随机变量X的p分位数,则随机变量X的取值小于Xp的概率为p。
然后,基于上述扩展属性以及分位数,对计算各所述测试单位化结果的基于缺陷级别的多个扩展属性进行解释说明。具体的可以包括:
其中,Level(EvpT)为基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为基于缺陷级别的单位化代码质量指标的90分位值;j为各缺陷级别对应的权值,取值为1-5的整数;EvpTj为缺陷级别对应的权值为j时,该缺陷的平均修复时长;Per90Tj为缺陷级别对应的权值为j时,该缺陷修复时长的90分位数;进一步需要补充说明的是,EvpT是指修复时间(Tfix)的平均值,Tfix=Te-Tc;其中,Tc为各测试模块的新建缺陷的创建时间;Te为各测试模块的新建缺陷的开发解决并反馈的时间;Per90T为修复时长的90分位数,可以用来评价绝大部分的修复耗时。
紧接着,基于上述扩展属性以及分位数,对计算各所述测试单位化结果的基于优先级别的多个扩展属性进行解释以及说明。具体的可以包括:
其中,Priority(EvpT)为基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;k为各优先级别对应的权值,取值为1-4的正整数;EvpTk为优先级别对应的权值为k时,该缺陷的平均修复时长;Per90Tk为优先级别对应的权值为k时,该缺陷修复时长的90分位数。
最后,基于上述各扩展属性对各测试模块的质量进行评价。具体的可以包括:
其中,STR为各测试模块的冒烟测试结果;Level(EvpT)为各测试模块的基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为各测试模块基于缺陷级别的单位化代码质量指标的90分位值;Priority(EvpT)为各测试模块的基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;Rq为各测试模块的质量。此处需要进一步补充说明的是,上述各测试模块的冒烟测试结果(STR)可以根据各测试模块的基于缺陷级别的单位化代码质量指标的平均值(Level(EvpT))、各测试模块基于缺陷级别的单位化代码质量指标的90分位值(Level(Per90T))、各测试模块的基于优先级的单位化代码质量指标的平均值(Priority(EvpT))、基于优先级的单位化代码质量指标的90分位值(Priority(Per90T))中的最大值进行确定。具体的可以包括:当上述各值中的最大值大于一预设值时,则认为该冒烟测试不通过,冒烟测试结果为0;当上述各值中的最大值不大于上述预设值时,则认为该冒烟测试通过,冒烟测试的结果为1。进一步的,上述各值在冒烟测试结果中所占的权值比例相同。
进一步的,当上述各测试模块的质量评价结果得到以后,还可以根据各测试模块的质量评价结果评价整个软件的质量,具体的可以包括:根据各所述测试模块的质量对所述待评价的软件的质量进行评价。详细而言:
可以对各测试模块的质量评价结果进行平均运算然后得到整个软件的质量;也可以根据各测试模块所占的权值计算整个软件的质量,本示例对此不做特殊限制。因此,通过上述方式,不但可以清楚的知道软件内部各个模块的质量,也可以知道整个软件的质量,使得在整个软件的评价过程中,可以得到一个较为全面的结果。
本公开还提供了一种软件质量评价装置。参考图5所示,该软件质量评价装置可以包括权值配置模块510、测试单位化结果计算模块520以及质量评价模块530。其中:
权值配置模块510可以用于将待评价软件划分为多个测试模块并为各所述测试模块配置权值。
测试单位化结果计算模块520可以用于根据各所述测试模块的权值计算各所述测试模块的测试单位化结果。
质量评价模块530可以用于计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
上述软件质量评价装置中各模块的具体细节已经在对应的软件质量评价方法中进行了详细想描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤S110:将待评价软件划分为多个测试模块并为各所述测试模块配置权值;步骤S120:根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;步骤S130:计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (13)

1.一种软件质量评价方法,其特征在于,包括:
将待评价软件划分为多个测试模块并为各所述测试模块配置权值;
根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;
计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
2.根据权利要求1所述的软件质量评价方法,其特征在于,根据各所述测试模块的权值计算各所述测试模块的测试单位化结果包括:
其中,为第n-1个测试模块的测试单位化结果;为第n个测试模块的测试单位化结果;S1为第1个测试模块的测试内容,Sn-1为第n-1个测试模块的测试内容;Sn为第n个测试模块的测试内容;ωn-1为第n-1个测试模块的权值wn-1与第n个测试模块的权值之间wn的夹角;ωi第i个测试模块的权值wi与第i+1个测试模块的权值wi+1之间的夹角;ωn为第1个测试模块的权值w1与第n个测试模块的权值wn之间的夹角;n为正整数且i∈n。
3.根据权利要求1所述的软件质量评价方法,其特征在于,所述扩展属性包括基于缺陷级别的扩展属性以及基于优先级级别的扩展属性。
4.根据权利要求3所述的软件质量评价方法,其特征在于,计算各所述测试单位化结果的基于缺陷级别的多个扩展属性包括:
其中,Level(EvpT)为基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为基于缺陷级别的单位化代码质量指标的90分位值;j为各缺陷级别对应的权值,取值为1-5的整数;EvpTj为缺陷级别对应的权值为j时,该缺陷的平均修复时长;Per90Tj为缺陷级别对应的权值为j时,该缺陷修复时长的90分位数。
5.根据权利要求3所述的软件质量评价方法,其特征在于,计算各所述测试单位化结果的基于优先级别的多个扩展属性包括:
其中,Priority(EvpT)为基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;k为各优先级别对应的权值,取值为1-4的正整数;EvpTk为优先级别对应的权值为k时,该缺陷的平均修复时长;Per90Tk为优先级别对应的权值为k时,该缺陷修复时长的90分位数。
6.根据权利要求3所述的软件质量评价方法,其特征在于,根据各所述扩展属性对各所述测试模块的质量进行评价包括:
其中,STR为各测试模块的冒烟测试结果;Level(EvpT)为各测试模块的基于缺陷级别的单位化代码质量指标的平均值;Level(Per90T)为各测试模块基于缺陷级别的单位化代码质量指标的90分位值;Priority(EvpT)为各测试模块的基于优先级的单位化代码质量指标的平均值;Priority(Per90T)为基于优先级的单位化代码质量指标的90分位值;Rq为各测试模块的质量。
7.根据权利要求6所述的软件质量评价方法,其特征在于,所述软件质量评价方法还包括:
根据各所述测试模块的质量对所述待评价的软件的质量进行评价。
8.根据权利要求6所述的软件质量评价方法,其特征在于,所述冒烟测试结果根据Level(EvpT)、Level(Per90T)、Priority(EvpT)以及Priority(Per90T)中的最大值运算结果得到。
9.根据权利要求4所述的软件质量评价方法,其特征在于,所述缺陷级别包括致命缺陷、严重缺陷、一般缺陷、轻微缺陷或者建议中的一种。
10.根据权利要求5所述的软件质量评价方法,其特征在于,所述优先级别包括重要、一般、次要以及无关紧要中的一种。
11.一种软件质量评价装置,其特征在于,包括:
权值配置模块,用于将待评价软件划分为多个测试模块并为各所述测试模块配置权值;
测试单位化结果计算模块,用于根据各所述测试模块的权值计算各所述测试模块的测试单位化结果;
质量评价模块,用于计算各所述测试单位化结果的多个扩展属性并根据各所述扩展属性对各所述测试模块的质量进行评价。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的软件质量评价方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-10任一项所述的软件质量评价方法。
CN201710801533.3A 2017-09-07 2017-09-07 软件质量评价方法及装置、存储介质、电子设备 Active CN109471787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710801533.3A CN109471787B (zh) 2017-09-07 2017-09-07 软件质量评价方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710801533.3A CN109471787B (zh) 2017-09-07 2017-09-07 软件质量评价方法及装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN109471787A true CN109471787A (zh) 2019-03-15
CN109471787B CN109471787B (zh) 2022-09-06

Family

ID=65658344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710801533.3A Active CN109471787B (zh) 2017-09-07 2017-09-07 软件质量评价方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN109471787B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162473A (zh) * 2019-05-10 2019-08-23 广州高鸿信息科技有限公司 一种软件测试方法
CN112346975A (zh) * 2020-11-09 2021-02-09 广州小鹏自动驾驶科技有限公司 一种汽车软件评估装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702137A (zh) * 2009-11-23 2010-05-05 北京星网锐捷网络技术有限公司 一种软件性能评价方法和系统
CN101710304A (zh) * 2009-11-27 2010-05-19 中国科学院软件研究所 一种软件过程实施质量评测方法
WO2015088066A1 (ko) * 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
CN105468512A (zh) * 2014-09-05 2016-04-06 北京畅游天下网络技术有限公司 一种对软件质量进行评估的方法和系统
CN106919373A (zh) * 2015-12-28 2017-07-04 北京计算机技术及应用研究所 一种程序代码质量评估方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702137A (zh) * 2009-11-23 2010-05-05 北京星网锐捷网络技术有限公司 一种软件性能评价方法和系统
CN101710304A (zh) * 2009-11-27 2010-05-19 中国科学院软件研究所 一种软件过程实施质量评测方法
WO2015088066A1 (ko) * 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 평가 모듈과 방법 및 소프트웨어 품질 평가 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
CN105468512A (zh) * 2014-09-05 2016-04-06 北京畅游天下网络技术有限公司 一种对软件质量进行评估的方法和系统
CN106919373A (zh) * 2015-12-28 2017-07-04 北京计算机技术及应用研究所 一种程序代码质量评估方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162473A (zh) * 2019-05-10 2019-08-23 广州高鸿信息科技有限公司 一种软件测试方法
CN112346975A (zh) * 2020-11-09 2021-02-09 广州小鹏自动驾驶科技有限公司 一种汽车软件评估装置

Also Published As

Publication number Publication date
CN109471787B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US8498887B2 (en) Estimating project size
CN110222762A (zh) 对象预测方法、装置、设备、及介质
CN109360012A (zh) 广告投放渠道的选择方法及装置、存储介质、电子设备
CN107515795A (zh) 基于队列的多任务并行数据处理方法、装置、介质和设备
CN107169534A (zh) 模型训练方法及装置、存储介质、电子设备
CN108449313B (zh) 电子装置、互联网服务系统风险预警方法及存储介质
CN110674047B (zh) 软件测试方法、装置及电子设备
CN110147317A (zh) 代码测试方法及装置、电子设备和存储介质
CN109993638A (zh) 产品推荐的方法、装置、介质和电子设备
CN112395188B (zh) 一种面向测试的软件项目开发方法、装置、电子设备及存储介质
CN110473098A (zh) 公司股权数据处理方法以及装置
CN110765596A (zh) 审核过程仿真模型建模方法、装置及电子设备
CN109471787A (zh) 软件质量评价方法及装置、存储介质、电子设备
US11055204B2 (en) Automated software testing using simulated user personas
CN113392018B (zh) 流量分发方法、装置、存储介质及电子设备
US20140350994A1 (en) Providing best practice workflow to aid user in completing project that is constantly updated based on user feedback
CN109389329A (zh) 测试系统的测试性能预测方法、装置、介质及电子设备
KR101513105B1 (ko) 유도조종시스템의 기능점검방법
CN109829014A (zh) 测试数据获取的方法及装置
CN110781583B (zh) 审核模式优化方法、装置及电子设备
CN116149978A (zh) 服务接口测试方法、装置、电子设备及存储介质
CN109471792A (zh) 测试控制方法及装置、电子设备、介质
CN111210231A (zh) 信息处理方法和信息处理装置
CN115225671B (zh) AIoT智慧医疗多址边缘卸载方法、系统、设备及介质
CN109669856A (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