CN112035337B - 一种软件开发能力与测试能力分析方法及装置 - Google Patents

一种软件开发能力与测试能力分析方法及装置 Download PDF

Info

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
Application number
CN202010477051.9A
Other languages
English (en)
Other versions
CN112035337A (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.)
Guangzhou Panyu Polytechnic
Original Assignee
Guangzhou Panyu Polytechnic
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 Guangzhou Panyu Polytechnic filed Critical Guangzhou Panyu Polytechnic
Priority to CN202010477051.9A priority Critical patent/CN112035337B/zh
Publication of CN112035337A publication Critical patent/CN112035337A/zh
Application granted granted Critical
Publication of CN112035337B publication Critical patent/CN112035337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3676Test management for coverage analysis
    • 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
    • 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
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06398Performance 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)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (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、根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析待测者的开发能力和测试能力。
本发明实施例根据待测者的开发能力评估任务完成信息和测试能力评估任务完成信息分别计算得到开发能力得分和测试能力得分,并根据开发能力得分和测试能力得分计算皮尔森相关系数,根据皮尔森相关系数分析开发能力和测试能力的相关性,能够准确分析开发能力和测试能力,有利于帮助待测者提高开发水平和测试水平,从而能够在实际软件开发中改善开发与测试之间的关系,提高软件开发的安全性和可靠性。
作为本发明实施例的一种具体实施方式,开发能力评估任务完成信息包括测试通过率,获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,包括:
根据测试用例通过数量和测试用例总数量计算测试通过率。
在本发明实施例中,测试通过率的计算公式为:
Figure GDA0003034606810000071
其中,Num(PassedCases)代表通过的测试用例数量,Num(TestCases)代表测试用例数量的总数。
在本发明实施例中,通过计算测试通过率以实现对开发能力的评估,测试通过率越高,代表待测者的开发能力越高。
作为本发明实施例的一种具体实施方式,测试能力评估任务完成信息包括BUG检测率、代码可维护性、代码覆盖率、代码运行效率和编码效率;获取待测者的开发能力评估任务完成信息和测试能力评估任务完成信息,还包括:
根据变异测试得分计算BUG检测率;
根据BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据BUG检测率和BUG检测率的测试脚本对应的运行时间计算代码运行效率;
根据BUG检测率和达到BUG检测率所用的总编程时间计算编码效率。
在本发明实施例中,BUG检测率的计算公式为:
Figure GDA0003034606810000081
其中,mutationi代表变异测试得分,最高分为满分,其他分数通过归一化后得到;
代码可维护性的计算公式为:
Figure GDA0003034606810000082
其中,Loss为代码规范损失得分,BugDetectionRate代表bug检测率;
代码覆盖率的计算公式为:
Figure GDA0003034606810000083
其中,Num(CoveredBranches)为代码覆盖分支数量,Num(Branches)为分支数量。
代码运行效率的计算公式为:
Figure GDA0003034606810000084
其中BugDetectionRate为Bug检测率,RunTime为达到Bug检测率的测试脚本对应的运行时间。
编码效率的计算公式为:
Figure GDA0003034606810000091
其中,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,用于根据测试用例通过数量和测试用例总数量计算测试通过率。
在本发明实施例中,测试通过率的计算公式为:
Figure GDA0003034606810000131
其中,Num(PassedCases)代表通过的测试用例数量,Num(TestCases)代表测试用例数量的总数。
在本发明实施例中,通过计算测试通过率以实现对开发能力的评估,测试通过率越高,代表待测者的开发能力越高。
作为本发明实施例的一种具体实施方式,获取模块20,还用于根据变异测试得分计算BUG检测率;
根据BUG检测率和代码规范损失得分,计算代码可维护性;
根据代码覆盖分支数量和分值总数,计算代码覆盖率;
根据BUG检测率和BUG检测率的测试脚本对应的运行时间计算代码运行效率;
根据BUG检测率和达到BUG检测率所用的总编程时间计算编码效率。
在本发明实施例中,BUG检测率的计算公式为:
Figure GDA0003034606810000132
其中,mutationi代表变异测试得分,最高分为满分,其他分数通过归一化后得到;
代码可维护性的计算公式为:
Figure GDA0003034606810000141
其中,Loss为代码规范损失得分,BugDetectionRate代表bug检测率;
代码覆盖率的计算公式为:
Figure GDA0003034606810000142
其中,Num(CoveredBranches)为代码覆盖分支数量,Num(Branches)为分支数量。
代码运行效率的计算公式为:
Figure GDA0003034606810000143
其中BugDetectionRate为Bug检测率,RunTime为达到Bug检测率的测试脚本对应的运行时间。
编码效率的计算公式为:
Figure GDA0003034606810000144
其中,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检测率、所述代码可维护性、所述代码覆盖率、所述代码运行效率和所述编码效率对应的五维度指标得分,计算所述五维度指标得分的平均分作为所述待测者的测试能力得分。
CN202010477051.9A 2020-05-29 2020-05-29 一种软件开发能力与测试能力分析方法及装置 Active CN112035337B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107123068A (zh) * 2017-04-26 2017-09-01 北京航空航天大学 一种面向程序设计语言课程个性化学习效果分析系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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 网宿科技股份有限公司 一种软件质量评估方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
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) 基于代价敏感半监督的软件缺陷预测方法
Lenarduzzi et al. On the diffuseness of code technical debt in java projects of the apache ecosystem
CN110019782A (zh) 用于输出文本类别的方法和装置
CN110895758B (zh) 存在作弊交易的信用卡账户的筛选方法、装置及系统
WO2014065032A1 (ja) 電磁界特徴分類提示装置
US11580425B2 (en) Managing defects in a model training pipeline using synthetic data sets associated with defect types
JP2016200435A (ja) マススペクトル解析システム,方法およびプログラム
CN112328483A (zh) 报表测试方法、装置、计算机设备及计算机可读存储介质
CN111860698A (zh) 确定学习模型的稳定性的方法和装置
CN111625454A (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) 一种风险样本识别方法、装置及电子设备
CN108629680A (zh) 一种风险识别方法及系统
CN114546841B (zh) 基于云计算的软件质量评估方法
CN106485049A (zh) 一种基于蒙特卡洛交叉验证的nirs异常样本的检测方法
CN110111192A (zh) 多过滤器结合nsd指标的信贷客户特征选择方法和系统
CN113127342B (zh) 基于电网信息系统特征选择的缺陷预测方法及装置
CN109271377A (zh) 一种数据质量检测方法及装置
Amankwah et al. Fast bug detection algorithm for identifying potential vulnerabilities in juliet test cases
CN111985826A (zh) 一种多指标工业产品的可视化质量分级方法和系统
Hofer et al. Fault localization in the light of faulty user input
CN114580982B (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
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