待测程序评价方法、装置和电子设备制造方法及图纸

技术编号:37644509 阅读:22 留言:0更新日期:2023-05-25 10:11
本申请公开了一种待测程序评价方法、装置和电子设备。具体包括:获取目标函数和用于进行程序测试的测试数据;其中,目标函数用于调用待测程序和待测程序对应的标准程序;将测试数据通过目标函数分别输入标准程序和待测程序中,得到标准程序输出的测试结果,以及待测程序输出的测试结果;根据标准程序输出的测试结果和待测程序输出的测试结果,对待测程序进行评价。本申请实施例的技术方案,解决了现有技术仅通过对待测程序输出的测试结果进行判断来评价,导致的评价结果无法反应考生编程能力的问题,使得编程考试的评价具备可靠的依据,提高了编程考试的可靠性、合理性和公平性。合理性和公平性。合理性和公平性。

【技术实现步骤摘要】
待测程序评价方法、装置和电子设备


[0001]本申请涉及数据处理
,尤其涉及一种待测程序评价方法、装置和电子设备。

技术介绍

[0002]随着计算机技术的发展,越来越多的行业向数字化、信息化进行转型。其中,在互联网产品的开发、测试等环节中,C语言、Python等计算机语言的使用能力是必不可少的,也就意味着越来越多的人要学习编程,那么对于程序语言的考核与校验就显得尤为重要。
[0003]当前,在编程的考试当中,使用自动化评分的方式对考生提交的程序代码进行验证和评价,其原理主要是检验考生提交的程序代码是否可以正常编译运行和执行结果是否正确,对于无法编译成功或者执行结果不正确的代码直接评价为不合格。这样做虽然高效,但是对代码的评价不可靠,并不能完全反映考生的编程能力,有失考试的公平性。

技术实现思路

[0004]本申请提供了一种待测程序评价方法、装置和电子设备,提高了编程考试的评价可靠性,从而提高了考试的公平性。
[0005]根据本申请的一方面,提供了一种待测程序评价方法,所述方法包括:
[0006]获取目标函数和用于进行程序测试的测试数据;其中,所述目标函数用于调用待测程序和所述待测程序对应的标准程序;
[0007]将测试数据通过所述目标函数分别输入标准程序和待测程序中,得到标准程序输出的测试结果,以及待测程序输出的测试结果;
[0008]根据标准程序输出的测试结果和待测程序输出的测试结果,对待测程序进行评价。
[0009]根据本申请的另一方面,提供了一种待测程序评价装置,包括:
[0010]程序与数据获取模块,用于获取目标函数和用于进行程序测试的测试数据;其中,所述目标函数用于调用待测程序和所述待测程序对应的标准程序;
[0011]程序测试模块,用于将测试数据通过所述目标函数分别输入标准程序和待测程序中,得到标准程序输出的测试结果,以及待测程序输出的测试结果;
[0012]程序评价模块,用于根据标准程序输出的测试结果和待测程序输出的测试结果,对待测程序进行评价。
[0013]根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:
[0014]至少一个处理器;以及
[0015]与所述至少一个处理器通信连接的存储器;其中,
[0016]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的待测程序评价方法。
[0017]根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本申请任一实施例所述的待测程序评价方法。
[0018]本申请实施例的技术方案中,将测试数据输入考生提交的待测程序和标准答案对应的标准程序,并根据运行后的测试结果对待测程序进行评价。解决了现有技术仅通过对待测程序输出的测试结果进行判断来评价,导致的评价结果无法反应考生编程能力的问题,使得编程考试的评价具备可靠的依据,提高了编程考试的可靠性、合理性和公平性。
[0019]应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是根据本申请实施例一提供的一种待测程序评价方法的流程图;
[0022]图2是根据本申请实施例二提供的一种待测程序评价方法的流程图;
[0023]图3是根据本申请实施例三提供的一种待测程序评价装置的结构示意图;
[0024]图4是实现本申请实施例的待测程序评价方法的电子设备的结构示意图。
具体实施方式
[0025]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0026]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027]实施例一
[0028]图1为本申请实施例一提供了一种待测程序评价方法的流程图,本实施例可适用于编程考试的场景下对考生提交的待测程序进行评价的情况,该方法可以由待测程序评价装置来执行,该待测程序评价装置可以采用硬件和/或软件的形式实现,该待测程序评价装置可配置于电子设备中。如图1所示,该方法包括:
[0029]S110、获取目标函数和用于进行程序测试的测试数据;其中,所述目标函数用于调
用待测程序和所述待测程序对应的标准程序。
[0030]其中,目标函数可以是用于调用待测程序和标准程序的上层接口,将测试数据输入目标函数后可以自动调用待测程序和/或标准程序进行测试。待测程序可以是需要进行测试与评估的程序代码等,例如在编程考试中,待测程序即为考生提交的考试代码。同样的,在编程考试中,待测程序对应的标准程序可以是考题对应的标准答案的程序代码。测试数据是用于进行程序测试的输入数据,测试数据可以由相关技术人员根据人工经验手动生成,也可以是根据预设的算法或者模型进行自动生成,还可以设置为空,测试数据不仅用于待测程序的输入,还用于标准程序的输入。
[0031]具体的,在编程考试中作为标准答案的标准程序和考生提交的待测程序均存储于数据库中,在进行待测程序的评价之前,从数据库中调用标准程序和待测程序。测试数据可以是预先准备好的,也可以是根据测试结果重新生成的,本申请实施例对测试数据的获取方式不作限定。
[0032]S120、将测试数据通过所述目标函数分别输入标准程序和待测程序中,得到标准程序输出的测试结果,以及待测程序输出的测试结果。
[0033]将测试数据作为标准程序和待测程序的输入,运行标准程序和待测程序,测试结果可以包括正常结果或异常结果,正常结果可以是正确的计算结果,例如符合编程考试的考题的结果;异常结果可以是错误的计算结果,也可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种待测程序评价方法,其特征在于,所述方法包括:获取目标函数和用于进行程序测试的测试数据;其中,所述目标函数用于调用待测程序和所述待测程序对应的标准程序;将所述测试数据通过所述目标函数分别输入所述标准程序和所述待测程序中,得到所述标准程序输出的测试结果,以及所述待测程序输出的测试结果;根据所述标准程序输出的测试结果和所述待测程序输出的测试结果,对所述待测程序进行评价。2.根据权利要求1所述的方法,其特征在于,所述获取目标函数和用于进行程序测试的测试数据,包括:获取所述目标函数;根据所述目标函数调用的所述标准程序和所述待测程序,确定数据输入范围;根据所述数据输入范围,生成所述测试数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述目标函数调用的所述标准程序和所述待测程序,确定数据输入范围,包括:根据所述标准程序和所述待测程序,确定程序结构判断语句;根据所述程序结构判断语句,确定所述数据输入范围。4.根据权利要求2所述的方法,其特征在于,所述根据所述数据输入范围,生成所述测试数据,包括:基于预设数据比例和所述数据输入范围,生成所述测试数据;其中,所述测试数据包括符合数据输入范围的数据,和不符合所述数据输入范围的数据。5.根据权利要求4所述的方法,其特征在于,所述将所述测试数据通过所述目标函数分别输入所述标准程序和所述待测程序中,得到所述标准程序输出的测试结果,以及所述待测程序输出的测试结果,还包括:将所述测试数据分别输入所述标准程序和所述待测程序,确定所述测试数据在所述标准程序中的代码覆盖率和在所述待测程序中的代码覆盖率;根据生成的测试数据,对所述代码覆盖率进行更新;若更新后的所述代码覆盖率较更新前未提高,则根据所述测试数据,确定所述标准程序输出的测试结果,以及所述待测程序输出的测试结果。6.根据权利要求1

5任一项所...

【专利技术属性】
技术研发人员:何翊卓
申请(专利权)人:北京嘉辰永成软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1