CN112035337B - 一种软件开发能力与测试能力分析方法及装置 - Google Patents
一种软件开发能力与测试能力分析方法及装置 Download PDFInfo
- Publication number
- CN112035337B CN112035337B CN202010477051.9A CN202010477051A CN112035337B CN 112035337 B CN112035337 B CN 112035337B CN 202010477051 A CN202010477051 A CN 202010477051A CN 112035337 B CN112035337 B CN 112035337B
- Authority
- CN
- China
- Prior art keywords
- test
- development
- capability
- score
- ability
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06398—Performance of employee with respect to a job function
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件开发能力与测试能力分析方法及装置,分析方法包括:根据项目需求,设计开发能力评估任务和测试能力评估任务;获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;根据开发能力评估任务完成信息计算待测者的开发能力得分和根据测试能力评估任务完成信息计算待测者的测试能力得分;根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力。本发明提供一种软件开发能力与测试能力分析方法及装置,以解决现有技术无法将开发代码和测试代码转化为对应的能力并进行关联分析,导致无法准确分析待测人员的开发能力和测试能力的技术问题。
Description
技术领域
本发明涉及评测技术领域,尤其是涉及一种软件开发能力与测试能力分析方法及装置。
背景技术
随着IT产业的迅猛发展,软件行业目前正处于高速发展期,对软件人才的需求越来越严格。而由于软件行业过于热门,软件从业人员的能力参差不齐,因此需要准确分析软件从业人员的能力。
现有技术通常对生产代码进行质量评估,通过一系列指标参数,可评估其可维护性等质量特征;现有技术还可以通过测试代码运行结果及其相关度量指标,评估测试用例的有效性。但是现有技术无法将开发代码和测试代码转化为对应的能力并进行关联分析,导致无法准确分析待测人员的开发能力和测试能力。
发明内容
本发明提供一种软件开发能力与测试能力分析方法及装置,以解决现有技术无法将开发代码和测试代码转化为对应的能力并进行关联分析,导致无法准确分析待测人员的开发能力和测试能力的技术问题。
本发明第一实施例提供了一种软件开发能力与测试能力分析方法,包括:
根据项目需求,设计开发能力评估任务和测试能力评估任务;
获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分;
根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力。
进一步地,所述开发能力评估任务完成信息包括测试通过率,所述获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,包括:
根据测试用例通过数量和测试用例总数量计算所述测试通过率。
进一步地,所述测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率;所述获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,还包括:
根据变异测试得分计算所述BUG检测率;
根据所述BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据所述BUG检测率和所述BUG检测率的测试脚本对应的运行时间计算所述代码运行效率;
根据所述BUG检测率和达到所述BUG检测率所用的总编程时间计算所述编码效率。
进一步地,根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分,包括:
根据所述测试通过率计算所述待测者的开发能力得分;
计算所述BUG检测率、所述代码可维护性、所述代码覆盖率、所述代码运行效率和所述编码效率对应的五维度指标得分,计算所述五维度指标得分的平均分作为所述待测者的测试能力得分。
进一步地,根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力,包括:
若所述皮尔森相关系数在预设区间范围内,则判断所述开发能力与所述测试能力具有相关性。
进一步地,在“根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力”之后,还包括:
根据项目需求,设计测试基础能力评估任务,根据所述待测者的测试基础能力评估完成信息得到所述待测者的测试基础得分;
根据所述待测者的测试基础得分、开发能力得分和所述测试能力得分,分析所述待测者是否存在能力缺陷。
本发明第二实施例提供了一种软件开发能力与测试能力分析装置,包括:设计模块、获取模块、计算模块和第一分析模块;
所述设计模块,用于根据项目需求,设计开发能力评估任务和测试能力评估任务;
所述获取模块,用于获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
所述计算模块,用于根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分;
所述第一分析模块,用于根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力。
进一步地,所述获取模块,用于根据测试用例通过数量和测试用例总数量计算所述测试通过率。
进一步地,所述获取模块,还用于根据变异测试得分计算所述BUG检测率;
根据所述BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据所述BUG检测率和所述BUG检测率的测试脚本对应的运行时间计算所述代码运行效率;
根据所述BUG检测率和达到所述BUG检测率所用的总编程时间计算所述编码效率。
进一步地,所述计算模块,用于根据所述测试通过率计算所述待测者的开发能力得分;
计算所述BUG检测率、所述代码可维护性、所述代码覆盖率、所述代码运行效率和所述编码效率对应的五维度指标得分,计算所述五维度指标得分的平均分作为所述待测者的测试能力得分。
本发明提供一种软件开发能力与测试能力分析方法及装置,以解决现有技术无法将开发代码和测试代码转化为对应的能力并进行关联分析,导致无法准确分析待测人员的开发能力和测试能力的技术问题。本发明根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力,有利于帮助待测者提高开发水平和测试水平,从而能够在实际软件开发中改善开发与测试之间的关系,提高软件开发的安全性和可靠性。
附图说明
图1是本发明实施例提供的一种软件开发能力与测试能力分析方法的流程示意图;
图2是本发明实施例提供的开发能力得分和测试能力得分分布柱状示意图;
图3是本发明实施例提供的测试能力的雷达示意图;
图4是本发明第二实施例提供的开发能力和测试基础对测试能力的影响关系示意图;
图5是本发明实施例提供的一种软件开发能力与测试能力分析装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
请参阅图1-4,本发明第一实施例提供了如图1所示的一种软件开发能力与测试能力分析方法,包括:
S1、根据项目需求,设计开发能力评估任务和测试能力评估任务;
在本发明实施例中,设计开发能力评估任务步骤如下:(1)明确项目需求,如银行模拟程序,该程序设计三种使用对象,分别是用户、银行和银行经理,用户可进行开设账户、存取款、请求显示其每个帐户的交易和总计的报表等操作;银行需对不同的账户以不同的方式计算利息;银行经理可以获得一份报告,显示客户列表以及拥有的帐户数量,或显示银行在所有账户上支付的利息总额;
(2)设计项目框架,在银行模拟程序中,共构建了五个类,分别对应账户、银行、客户、时间、转账,其中时间和转账两个类主要用于提供接口,剩余三个类中需对应完成上述项目需求,每个类中编写函数的定义语句,函数内部无代码,返回值为0;
(3)设计测试用例,根据项目需求,设计完整的测试用例,根据边界值划分,考虑每种特殊情况,如用户请求的取款金额大于其账户总额、已开户过的用户重复开户等,需具体确定为每种测试用例的输入输出数据;
(4)编写测试脚本,将测试用例转化为测试代码,测试代码依赖Junit测试框架可独立运行。
本发明实施例设计测试能力评估任务的步骤为:(1)明确项目需求,如三角形与其计算判定的功能,当输入三个数值时,可判定这三条边是否可构成三角形,如果是三角形,可进一步判断其形状;
(2)设计项目框架,对于三角形的项目需求,只需定义一个三角形的类,其中包括四个主体函数,分别实现三角形的判定、三角形形状的判定、两条边之间的长度差,以及获取每条边的长度;
(3)编写项目源码,分别补全函数中的内容,实现三角形的判定和形状的判定功能。保证独立运行每个函数时,其返回结果与预期保持一致。
S2、获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
在本发明实施例中,开发能力评估任务完成信息包括测试通过率;测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率。
S3、根据开发能力评估任务完成信息计算待测者的开发能力得分和根据测试能力评估任务完成信息计算待测者的测试能力得分;
S4、根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力。
本发明实施例根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力,有利于帮助待测者提高开发水平和测试水平,从而能够在实际软件开发中改善开发与测试之间的关系,提高软件开发的安全性和可靠性。
作为本发明实施例的一种具体实施方式,开发能力评估任务完成信息包括测试通过率,获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,包括:
根据测试用例通过数量和测试用例总数量计算测试通过率。
在本发明实施例中,测试通过率的计算公式为:
其中,Num(PassedCases)代表通过的测试用例数量,Num(TestCases)代表测试用例数量的总数。
在本发明实施例中,通过计算测试通过率以实现对开发能力的评估,测试通过率越高,代表待测者的开发能力越高。
作为本发明实施例的一种具体实施方式,测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率;获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,还包括:
根据变异测试得分计算BUG检测率;
根据BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据BUG检测率和BUG检测率的测试脚本对应的运行时间计算代码运行效率;
根据BUG检测率和达到BUG检测率所用的总编程时间计算编码效率。
在本发明实施例中,BUG检测率的计算公式为:
其中,mutationi代表变异测试得分,最高分为满分,其他分数通过归一化后得到;
代码可维护性的计算公式为:
其中,Loss为代码规范损失得分,BugDetectionRate代表bug检测率;
代码覆盖率的计算公式为:
其中,Num(CoveredBranches)为代码覆盖分支数量,Num(Branches)为分支数量。
代码运行效率的计算公式为:
其中BugDetectionRate为Bug检测率,RunTime为达到Bug检测率的测试脚本对应的运行时间。
编码效率的计算公式为:
其中,BugDetectionRate为Bug检测率,CodingTime为达到BUG检测率所用的总编程时间。
本发明实施例,通过计算BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率来综合评估待测者的测试能力,能够全面分析待测者的测试能力,能够提高对待测者测试能力分析的准确性和可靠性。其中,在对待测者的测试能力进行分析时,针对五种指标分别计算最大值、最小值、平均值和中位数等参考因素,根据参考因素判定待测者擅长或欠缺的技能。请参阅图3,为本发明实施例提供的测试能力雷达图。
作为本发明实施例的一种具体实施方式,根据开发能力评估任务完成信息计算待测者的开发能力得分和根据测试能力评估任务完成信息计算待测者的测试能力得分,包括:
根据测试通过率计算待测者的开发能力得分;
计算BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率对应的五维度指标得分,计算五维度指标得分的平均分作为待测者的测试能力得分。
作为本发明实施例的一种具体实施方式,根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力,包括:
若皮尔森相关系数在预设区间范围内,则判断开发能力与测试能力具有相关性。
在本发明实施例中,将每个待测者的开发能力得分和测试能力得分绘制成如图2的柱状图,并计算开发能力得分和测试能力得分的皮尔森相关系数,在其中一种实施例中,皮尔森相关系数为0.3,即判断开发能力和测试能力之间存在一定的相关性。同时,根据对得分树状图进行统计分析可知,开发能力强的待测者,普遍具有中等偏上的测试能力;测试能力较强的待测者,开发能力的差异较大,两极分化现象明显。
作为本发明实施例的一种具体实施方式,在“根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力”之后,还包括:
根据项目需求,设计测试基础能力评估任务,根据待测者的测试基础能力评估完成信息得到待测者的测试基础得分;
根据待测者的测试基础得分、开发能力得分和测试能力得分,分析待测者是否存在能力缺陷。
在本发明实施例中,如图4所示,将所有待测者的测试基础得分和开发能力得分分别由高到低进行排序,并根据预设的评分标准将分别将分数段划分为A、B和C,其中成绩靠前的得分为A,中间段的得分为B,靠后的得分为C。
根据对测试基础得分情况与开发能力得分情况进行数据比较,可知在测试能力较弱的待测者中,大部分待测者的测试基础比开发能力更弱,而在测试能力强的待测者中,大部分待测者的测试基础比开发能力更强,根据上述分析能够准确得到相比于开发能力,测试基础的掌握水平对测试能力的影响更大的结论。
实施本发明实施例,具有以下有益效果:
本发明实施例根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力之间的相关性,有利于帮助待测者提高开发水平和测试水平,改善开发与测试之间的关系,从而能够提高软件开发的安全性和可靠性。
进一步地,本发明实施例通过设计基础能力评估任务,根据待测者的完成信息计算得到测试基础得分,并根据对测试基础得分情况与开发能力得分情况进行数据比较,得到测试基础的掌握水平对测试能力影响更大的结论,能够关联开发能力和测试基础进行分析得到对测试能力影响最大的因素,有利于改进待测者开发能力和测试能力不协调的问题,从而有利于提高待测者的软件开发水平,提高软件开发的安全性和可靠性。
请参阅图5,本发明第二实施例提供了如图5所示的一种软件开发能力与测试能力分析装置,包括:设计模块10、获取模块20、计算模块30和第一分析模块40;
设计模块10,用于根据项目需求,设计开发能力评估任务和测试能力评估任务;
在本发明实施例中,设计开发能力评估任务步骤如下:(1)明确项目需求,如银行模拟程序,该程序设计三种使用对象,分别是用户、银行和银行经理,用户可进行开设账户、存取款、请求显示其每个帐户的交易和总计的报表等操作;银行需对不同的账户以不同的方式计算利息;银行经理可以获得一份报告,显示客户列表以及拥有的帐户数量,或显示银行在所有账户上支付的利息总额;
(2)设计项目框架,在银行模拟程序中,共构建了五个类,分别对应账户、银行、客户、时间、转账,其中时间和转账两个类主要用于提供接口,剩余三个类中需对应完成上述项目需求,每个类中编写函数的定义语句,函数内部无代码,返回值为0;
(3)设计测试用例,根据项目需求,设计完整的测试用例,根据边界值划分,考虑每种特殊情况,如用户请求的取款金额大于其账户总额、以开户过的用户重复开户等,需具体确定为每种测试用例的输入输出数据;
(4)编写测试脚本,将测试用例转化为测试代码,测试代码依赖Junit测试框架可独立运行。
本发明实施例设计测试能力评估任务的步骤为:(1)明确项目需求,如三角形与其计算判定的功能,当输入三个数值时,可判定这三条边是否可构成三角形,如果是三角形,可进一步判断其形状;
(2)设计项目框架,对于三角形的项目需求,只需定义一个三角形的类,其中包括四个主体函数,分别实现三角形的判定、三角形形状的判定、两条边之间的长度差,以及获取每条边的长度;
(3)编写项目源码,分别补全函数中的内容,实现三角形的判定和形状的判定功能。保证独立运行每个函数时,其返回结果与预期保持一致。
获取模块20,用于获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
在本发明实施例中,开发能力评估任务完成信息包括测试通过率;测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率。
计算模块30,用于根据开发能力评估任务完成信息计算待测者的开发能力得分和根据测试能力评估任务完成信息计算待测者的测试能力得分;
第一分析模块40,用于根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力。
本发明实施例根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力,有利于帮助待测者提高开发水平和测试水平,从而能够在实际软件开发中改善开发与测试之间的关系,提高软件开发的安全性和可靠性。
作为本发明实施例的一种具体实施方式,获取模块20,用于根据测试用例通过数量和测试用例总数量计算测试通过率。
在本发明实施例中,测试通过率的计算公式为:
其中,Num(PassedCases)代表通过的测试用例数量,Num(TestCases)代表测试用例数量的总数。
在本发明实施例中,通过计算测试通过率以实现对开发能力的评估,测试通过率越高,代表待测者的开发能力越高。
作为本发明实施例的一种具体实施方式,获取模块20,还用于根据变异测试得分计算BUG检测率;
根据BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据BUG检测率和BUG检测率的测试脚本对应的运行时间计算代码运行效率;
根据BUG检测率和达到BUG检测率所用的总编程时间计算编码效率。
在本发明实施例中,BUG检测率的计算公式为:
其中,mutationi代表变异测试得分,最高分为满分,其他分数通过归一化后得到;
代码可维护性的计算公式为:
其中,Loss为代码规范损失得分,BugDetectionRate代表bug检测率;
代码覆盖率的计算公式为:
其中,Num(CoveredBranches)为代码覆盖分支数量,Num(Branches)为分支数量。
代码运行效率的计算公式为:
其中BugDetectionRate为Bug检测率,RunTime为达到Bug检测率的测试脚本对应的运行时间。
编码效率的计算公式为:
其中,BugDetectionRate为Bug检测率,CodingTime为达到BUG检测率所用的总编程时间。
本发明实施例,通过计算BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率来综合评估待测者的测试能力,能够全面分析待测者的测试能力,能够提高对待测者测试能力分析的准确性和可靠性。其中,在对待测者的测试能力进行分析时,针对五种指标分别计算最大值、最小值、平均值和中位数等参考因素,根据参考因素判定待测者擅长或欠缺的技能。请参阅图3,为本发明实施例提供的测试能力雷达图。
作为本发明实施例的一种具体实施方式,计算模块30,用于根据测试通过率计算待测者的开发能力得分;
计算BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率对应的五维度指标得分,计算五维度指标得分的平均分作为待测者的测试能力得分。
作为本发明实施例的一种具体实施方式,第一分析模块40包括用于:
若皮尔森相关系数在预设区间范围内,则判断开发能力与测试能力具有相关性。
在本发明实施例中,将每个待测者的开发能力得分和测试能力得分绘制成如图2的柱状图,并计算开发能力得分和测试能力得分的皮尔森相关系数,在其中一种实施例中,皮尔森相关系数为0.3,即判断开发能力和测试能力之间存在一定的相关性。同时,根据对得分树状图进行统计分析可知,开发能力强的待测者,普遍具有中等偏上的测试能力;测试能力较强的待测者,开发能力的差异较大,两极分化现象明显。
作为本发明实施例的一种具体实施方式,第二分析模块,包括用于:
根据项目需求,设计测试基础能力评估任务,根据待测者的测试基础能力评估完成信息得到待测者的测试基础得分;
根据待测者的测试基础得分、开发能力得分和测试能力得分,分析待测者是否存在能力缺陷。
在本发明实施例中,如图4所示,将所有待测者的测试基础得分和开发能力得分分别由高到低进行排序,并根据预设的评分标准将分别将分数段划分为A、B和C,其中成绩靠前的得分为A,中间段的得分为B,靠后的得分为C。
根据对测试基础得分情况与开发能力得分情况进行数据比较,可知在测试能力较弱的待测者中,大部分待测者的测试基础比开发能力更弱,而在测试能力强的待测者中,大部分待测者的测试基础比开发能力更强,根据上述分析能够准确得到相比于开发能力,测试基础的掌握水平对测试能力的影响更大的结论。
实施本发明实施例,具有以下有益效果:
本发明实施例根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力,有利于帮助待测者提高开发水平和测试水平,改善开发与测试之间的关系,从而能够提高软件开发的安全性和可靠性。
进一步地,本发明实施例通过设计基础能力评估任务,根据待测者的完成信息计算得到测试基础得分,并根据对测试基础得分情况与开发能力得分情况进行数据比较,得到测试基础的掌握水平对测试能力影响更大的结论,能够关联开发能力和测试基础进行分析得到对测试能力影响最大的因素,有利于改进待测者开发能力和测试能力不协调的问题,从而有利于提高待测者的软件开发水平,提高软件开发的安全性和可靠性。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种软件开发能力与测试能力分析方法,其特征在于,包括:
根据项目需求,设计开发能力评估任务和测试能力评估任务;
获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分;
根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力,包括:若所述皮尔森相关系数在预设区间范围内,则判断所述开发能力与所述测试能力具有相关性。
2.如权利要求1所述的软件开发能力与测试能力分析方法,其特征在于,所述开发能力评估任务完成信息包括测试通过率,所述获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,包括:
根据测试用例通过数量和测试用例总数量计算所述测试通过率。
3.如权利要求1所述的软件开发能力与测试能力分析方法,其特征在于,所述测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率;所述获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,还包括:
根据变异测试得分计算所述BUG检测率;
根据所述BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据所述BUG检测率和所述BUG检测率的测试脚本对应的运行时间计算所述代码运行效率;
根据所述BUG检测率和达到所述BUG检测率所用的总编程时间计算所述编码效率。
4.如权利要求3所述的软件开发能力与测试能力分析方法,其特征在于,根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分,包括:
根据所述测试通过率计算所述待测者的开发能力得分;
计算所述BUG检测率、所述代码可维护性、所述代码覆盖率、所述代码运行效率和所述编码效率对应的五维度指标得分,计算所述五维度指标得分的平均分作为所述待测者的测试能力得分。
5.如权利要求1所述的软件开发能力与测试能力分析方法,其特征在于,在“根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力”之后,还包括:
根据项目需求,设计测试基础能力评估任务,根据所述待测者的测试基础能力评估完成信息得到所述待测者的测试基础得分;
根据所述待测者的测试基础得分、开发能力得分和所述测试能力得分,分析所述待测者是否存在能力缺陷。
6.一种软件开发能力与测试能力分析装置,其特征在于,包括:设计模块、获取模块、计算模块和第一分析模块;
所述设计模块,用于根据项目需求,设计开发能力评估任务和测试能力评估任务;
所述获取模块,用于获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息;
所述计算模块,用于根据所述开发能力评估任务完成信息计算所述待测者的开发能力得分和根据所述测试能力评估任务完成信息计算所述待测者的测试能力得分;
所述第一分析模块,用于根据所述开发能力得分和所述测试能力得分计算皮尔森相关系数,根据所述皮尔森相关系数分析所述待测者的开发能力和所述测试能力,若皮尔森相关系数在预设区间范围内,则判断开发能力与测试能力具有相关性。
7.如权利要求6所述的软件开发能力与测试能力分析装置,其特征在于,所述获取模块,用于根据测试用例通过数量和测试用例总数量计算所述测试通过率。
8.如权利要求6所述的软件开发能力与测试能力分析装置,其特征在于,所述获取模块,还用于根据变异测试得分计算BUG检测率;
根据所述BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据所述BUG检测率和所述BUG检测率的测试脚本对应的运行时间计算代码运行效率;
根据所述BUG检测率和达到所述BUG检测率所用的总编程时间计算编码效率。
9.如权利要求8所述的软件开发能力与测试能力分析装置,其特征在于,所述计算模块,用于根据所述测试通过率计算所述待测者的开发能力得分;
计算所述BUG检测率、所述代码可维护性、所述代码覆盖率、所述代码运行效率和所述编码效率对应的五维度指标得分,计算所述五维度指标得分的平均分作为所述待测者的测试能力得分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477051.9A CN112035337B (zh) | 2020-05-29 | 2020-05-29 | 一种软件开发能力与测试能力分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477051.9A CN112035337B (zh) | 2020-05-29 | 2020-05-29 | 一种软件开发能力与测试能力分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035337A CN112035337A (zh) | 2020-12-04 |
CN112035337B true CN112035337B (zh) | 2021-06-22 |
Family
ID=73578803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010477051.9A Active CN112035337B (zh) | 2020-05-29 | 2020-05-29 | 一种软件开发能力与测试能力分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035337B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966921A (zh) * | 2021-03-01 | 2021-06-15 | 上海近屿智能科技有限公司 | 一种基于编程能力评估的创新能力评估方法 |
CN115795772A (zh) * | 2021-09-10 | 2023-03-14 | 长鑫存储技术有限公司 | 测试数据的评估方法、系统、晶圆测试系统及存储介质 |
CN114020648B (zh) * | 2022-01-04 | 2022-04-12 | 广东拓思软件科学园有限公司 | 应用控件的测试方法、装置、电子设备及存储介质 |
CN117331836A (zh) * | 2023-10-16 | 2024-01-02 | 中教畅享(北京)科技有限公司 | 一种基于代码语法树分析的评测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123068A (zh) * | 2017-04-26 | 2017-09-01 | 北京航空航天大学 | 一种面向程序设计语言课程个性化学习效果分析系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004272435A (ja) * | 2003-03-06 | 2004-09-30 | Mitsubishi Electric Corp | ソフトウェアプロセス診断評定支援装置、ソフトウェアプロセス診断評定支援方法およびその方法をコンピュータに実行させるためのプログラム |
CN107103419A (zh) * | 2017-04-20 | 2017-08-29 | 北京航空航天大学 | 一种群体软件开发过程仿真系统及方法 |
CN108154287A (zh) * | 2017-12-06 | 2018-06-12 | 千寻位置网络有限公司 | 软件系统开发质量的分析评估方法 |
CN109934433A (zh) * | 2017-12-15 | 2019-06-25 | 航天信息股份有限公司 | 一种人员能力评估方法、装置及云服务平台 |
CN108268378A (zh) * | 2018-01-30 | 2018-07-10 | 深圳壹账通智能科技有限公司 | 软件开发质量评估方法、装置、计算机设备和存储介质 |
CN110069409A (zh) * | 2019-04-12 | 2019-07-30 | 网宿科技股份有限公司 | 一种软件质量评估方法及系统 |
-
2020
- 2020-05-29 CN CN202010477051.9A patent/CN112035337B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123068A (zh) * | 2017-04-26 | 2017-09-01 | 北京航空航天大学 | 一种面向程序设计语言课程个性化学习效果分析系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112035337A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035337B (zh) | 一种软件开发能力与测试能力分析方法及装置 | |
US10262233B2 (en) | Image processing apparatus, image processing method, program, and storage medium for using learning data | |
CN106201871B (zh) | 基于代价敏感半监督的软件缺陷预测方法 | |
Alves et al. | Deriving metric thresholds from benchmark data | |
WO2014065032A1 (ja) | 電磁界特徴分類提示装置 | |
CN110895758A (zh) | 存在作弊交易的信用卡账户的筛选方法、装置及系统 | |
Sajnani et al. | Is popularity a measure of quality? an analysis of maven components | |
JP2016200435A (ja) | マススペクトル解析システム,方法およびプログラム | |
CN111860698A (zh) | 确定学习模型的稳定性的方法和装置 | |
CN112328483A (zh) | 报表测试方法、装置、计算机设备及计算机可读存储介质 | |
CN109165665A (zh) | 一种类别分析方法及系统 | |
CN111582315A (zh) | 样本数据处理方法、装置及电子设备 | |
Pawełek et al. | The problem of outliers in the research on the financial standing of construction enterprises in Poland | |
CN110009012A (zh) | 一种风险样本识别方法、装置及电子设备 | |
CN115292969B (zh) | 基于出厂和返修数据的装备外场可靠性评估方法及系统 | |
CN114546841B (zh) | 基于云计算的软件质量评估方法 | |
Tomczak | Multi-class models for assessing the financial condition of manufacturing enterprises | |
CN113127342B (zh) | 基于电网信息系统特征选择的缺陷预测方法及装置 | |
CN109271377A (zh) | 一种数据质量检测方法及装置 | |
Amankwah et al. | Fast bug detection algorithm for identifying potential vulnerabilities in juliet test cases | |
CN115271442A (zh) | 基于自然语言评估企业成长性的建模方法及系统 | |
WO2012132169A1 (ja) | リスクプロファイル生成装置 | |
CN112732549B (zh) | 基于聚类分析的测试程序分类方法 | |
CN111985826A (zh) | 一种多指标工业产品的可视化质量分级方法和系统 | |
Hofer et al. | Fault localization in the light of faulty user input |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20201204 Assignee: SPACE CQC ASSOCIATE SOFTWARE TESTING AND EVALUATING TECHNOLOGY (BEIJING) CO.,LTD. Assignor: GUANGZHOU PANYU POLYTECHNIC Contract record no.: X2022440000017 Denomination of invention: A method and device for analyzing software development ability and testing ability Granted publication date: 20210622 License type: Common License Record date: 20220311 |
|
EE01 | Entry into force of recordation of patent licensing contract |