This application relates to a method, apparatus and system for automatically testing a drawing program, wherein the method for automatically testing a drawing program includes steps: obtaining a standard program corresponding to the program to be tested and a standard program corresponding to the program to be tested; drawing standard graphics on the first layer of a graphic container according to the commands of the standard program; and drawing standard graphics on the first layer of the graphic container according to the pending procedure. The command in the test program draws the graphics to be tested on the second layer of the graphics container, evaluates the graphical similarity between the standard graphics and the graphics to be tested, and finally judges the test program according to the graphical similarity. The method can realize the program correctness of on-line automatic judging that the operation result is a drawing class, the evaluation is accurate, the efficiency is high, and the method can be applied to large-scale drawing class programming test, competition, etc.
【技术实现步骤摘要】
自动测试绘图程序的方法、装置以及系统
本申请涉及程序测试平台
,特别是涉及一种自动测试绘图程序的方法、装置以及系统。
技术介绍
编程教学的普及面越来越大,而编程教育的在线学习、自主学习更需要一种非教师参与的自动测评系统。目前,“onlinejudge”可对传统的编程题结果进行测评,但是使用了图形化教学模式的LOGO、Scratch、goC等语言,与目前传统教学的C/C++、Java以及python等不一样,程序的运行结果一般为图形。在实现过程中,专利技术人发现传统技术中至少存在如下问题:传统的程序测评系统无法自动对绘图类的程序运行结果进行测评,需教师对该类程序进行人工判断,工作量大,且不利于学生自主学习,教学效率低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种自动化程度高且测评准确的一种自动测试绘图程序的方法、装置以及系统。一种自动测试绘图程序的方法,包括以下步骤:获取待测试程序以及待测试程序对应的标准程序;根据标准程序中的命令在图形容器的第一图层上绘制标准图形;根据待测试程序中的命令在图形容器的第二图层上绘制待测试图形;测评标准图形与待测试图形的图形相似度,并根据图形相似度对待测试程序进行最终判别。在其中一个实施例中,还包括图形容器为在HTLM5创建的canvas画布。在其中一个实施例中,测评标准图形与待测试图形的图形相似度,并根据图形相似度对待测试程序进行最终判别的步骤之前,还包括步骤:根据标准图形的图形尺寸,沿第一预设几何图形的边长方向在第一图层中切割出包含标准图形的第一几何区域;根据待测试图形的图形尺寸,沿第二预设几何图形的边长方向在 ...
【技术保护点】
1.一种自动测试绘图程序的方法,其特征在于,包括以下步骤:获取待测试程序以及所述待测试程序对应的标准程序;根据所述标准程序中的命令在图形容器的第一图层上绘制标准图形;根据所述待测试程序中的命令在所述图形容器的第二图层上绘制待测试图形;测评所述标准图形与所述待测试图形的图形相似度,并根据所述图形相似度对所述待测试程序进行最终判别。
【技术特征摘要】
1.一种自动测试绘图程序的方法,其特征在于,包括以下步骤:获取待测试程序以及所述待测试程序对应的标准程序;根据所述标准程序中的命令在图形容器的第一图层上绘制标准图形;根据所述待测试程序中的命令在所述图形容器的第二图层上绘制待测试图形;测评所述标准图形与所述待测试图形的图形相似度,并根据所述图形相似度对所述待测试程序进行最终判别。2.根据权利要求1所述的自动测试绘图程序的方法,其特征在于,所述图形容器为在HTLM5创建的canvas画布。3.根据权利要求1所述的自动测试绘图程序的方法,其特征在于,测评所述标准图形与所述待测试图形的图形相似度,并根据所述图形相似度对所述待测试程序进行最终判别的步骤之前,还包括步骤:根据所述标准图形的图形尺寸,沿第一预设几何图形的边长方向在所述第一图层中切割出包含所述标准图形的第一几何区域;根据所述待测试图形的图形尺寸,沿第二预设几何图形的边长方向在所述第二图层中切割出包含所述待测试图形的第二几何区域。4.根据权利要求3所述的自动测试绘图程序的方法,其特征在于,测评所述标准图形与所述待测试图形的图形相似度的步骤包括:在所述标准图形的像素点总个数与所述待测试图形的像素点总个数的差值在预设范围内时,获取所述第二几何区域中与所述标准图形的像素点坐标相同的各第一待匹配像素点;在所述第一待匹配像素点与对应的所述标准图形的像素点的颜色不同时,获取以所述第一待匹配像素点为中心、第一预设半径形成的区域圆;选取出圆内任一像素点与对应的所述标准图形的像素点的颜色相同的各所述区域圆;记录对应所述选取出的区域圆的所述第一待匹配像素点的第一总数,并根据记录的所述第一总数得到所述图形相似度。5.根据权利要求3或4所述的自动测试绘图程序的方法,其特征在于,测评所述标准图形与所述待测试图形的图形相似度的步骤还包括:在所述标准图形的像素点总个数与所述待测试图形的像素点总个数的差值在预设...
【专利技术属性】
技术研发人员:江涛,梁冠健,
申请(专利权)人:广州慧通编程教育科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。