[发明专利]自动测试绘图程序的方法、装置以及系统有效
申请号: | 201810355785.2 | 申请日: | 2018-04-19 |
公开(公告)号: | CN108536605B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 江涛;梁冠健 | 申请(专利权)人: | 广州慧通编程教育科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 陈金普 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动 测试 绘图 程序 方法 装置 以及 系统 | ||
本申请涉及一种自动测试绘图程序的方法、装置以及系统,其中,自动测试绘图程序的方法,包括步骤:获取待测试程序以及待测试程序对应的标准程序;根据标准程序中的命令在图形容器的第一图层上绘制标准图形;根据待测试程序中的命令在图形容器的第二图层上绘制待测试图形;测评标准图形与待测试图形的图形相似度,并根据图形相似度对待测试程序进行最终判别。本发明能够实现在线自动判别运行结果为绘图类的程序正确性,评测准确,效率高,同时可适用于大规模的绘图类编程测试、比赛等。
技术领域
本申请涉及程序测试平台技术领域,特别是涉及一种自动测试绘图程序的方法、装置以及系统。
背景技术
编程教学的普及面越来越大,而编程教育的在线学习、自主学习更需要一种非教师参与的自动测评系统。目前,“online judge”可对传统的编程题结果进行测评,但是使用了图形化教学模式的LOGO、Scratch、goC等语言,与目前传统教学的C/C++、Java以及python等不一样,程序的运行结果一般为图形。
在实现过程中,发明人发现传统技术中至少存在如下问题:传统的程序测评系统无法自动对绘图类的程序运行结果进行测评,需教师对该类程序进行人工判断,工作量大,且不利于学生自主学习,教学效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种自动化程度高且测评准确的一种自动测试绘图程序的方法、装置以及系统。
一种自动测试绘图程序的方法,包括以下步骤:
获取待测试程序以及待测试程序对应的标准程序;
根据标准程序中的命令在图形容器的第一图层上绘制标准图形;
根据待测试程序中的命令在图形容器的第二图层上绘制待测试图形;
测评标准图形与待测试图形的图形相似度,并根据图形相似度对待测试程序进行最终判别。
在其中一个实施例中,还包括图形容器为在HTLM5创建的canvas画布。
在其中一个实施例中,测评标准图形与待测试图形的图形相似度,并根据图形相似度对待测试程序进行最终判别的步骤之前,还包括步骤:
根据标准图形的图形尺寸,沿第一预设几何图形的边长方向在第一图层中切割出包含标准图形的第一几何区域;
根据待测试图形的图形尺寸,沿第二预设几何图形的边长方向在第二图层中切割出包含待测试图形的第二几何区域。
在其中一个实施例中,测评标准图形与待测试图形的图形相似度的步骤包括:
在标准图形的像素点总个数与待测试图形的像素点总个数的差值在预设范围内时,获取第二几何区域中与标准图形的像素点坐标相同的各第一待匹配像素点;
在第一待匹配像素点与对应的标准图形的像素点的颜色不同时,获取以第一待匹配像素点为中心、第一预设半径形成的区域圆内;
选取出圆内任一像素点与对应的标准图形的像素点的颜色相同的各区域圆;
记录对应选取出的区域圆的第一待匹配像素点的第一总数,并根据记录的第一总数得到图形相似度。
在其中一个实施例中,测评标准图形与待测试图形的图形相似度的步骤还包括:
在标准图形的像素点总个数与待测试图形的像素点总个数的差值在预设范围内时,获取第一几何区域中与待测试图形的像素点坐标相同的各第二待匹配像素点;
在第二待匹配像素点与对应的待测试图形的像素点的颜色不相同时,获取以第二待匹配像素点为中心、第二预设半径形成的区域圆内的像素点;
选取出圆内任一像素点与对应的待测试图形的像素点颜色相同的各待测试图形的像素点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州慧通编程教育科技有限公司,未经广州慧通编程教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810355785.2/2.html,转载请声明来源钻瓜专利网。