为检测市场上电子计价秤的软件作弊行为,该文提出一套电子计价秤软件自动仿真测 试系统。搭建了电子计价秤的软件仿真测试系统的硬件装置,实现机器识别系统进行电子秤 字符识别、电压源进行载荷模拟和采用继电器进行按键模拟,并用VC++编写了软件自动仿 真测试程序,对几种不同类型的电子计价秤软件进行了黑盒测试试验。试验结果表明,该系 统可用于电子计价秤的软件测试,可检测出电子计价秤软件作弊问题;在对不同类型的电子 计价秤试验中,均取得了较好的测试结果,表明该测试系统稳定可靠且具有一定的通用性。
电子计价秤作为人们日常生活中最常见的民 生计量器具之一,一直在百姓生活中扮演着非常重 要的作用,但近些年市场上一些黑心商人利用电子 计价秤软件作弊,使出售的货物缺斤少两,同时关 于电子计价秤作弊的投诉也越来越多,因此电子计 价秤软件测试的研究显得非常重要。
据国家质检总局2012年的数据显示,电子计价 秤质量抽样合格率仅为63.3%。电子计价秤硬件装 置主要由称重传感器、按键、主板、LED数码管或液 晶显示屏构成。在电子秤硬件上的作弊比较容易察 觉,而软件上的作弊隐藏较深不易发现,因此目前 市场上电子计价秤多是通过修改软件进行作弊。
2008年,国际法制计量组织(0IML)正式发布 了《计量器具软件通用要求》的法制管理文件,对计 量器具的软件检测提出了相应的要求。2007年,国 家质检总局下达指示制定了计量器具软件测评指 南(中华人民共和国国家计量技术规范JJF1182- 2007%,尤其是对电子计价秤的软件测评方法提出了新要求,接着于2012年实施了《数字指示秤软件 可信度测评方法JJF 1365-2012》。文献提出 了一种嵌入式计量器具便于欺骗性使用的黑盒检 测方法,但前期测试准备过于繁琐。文献对嵌人 式软件的计量器具防作弊系统进行了研究,将检测 时提取的软件内部信息与审批前标识的软件特征 信息进行比对,来检测计量器具的软件作弊。由于 电子计价秤的软件标识涉及到生产厂商利润,该方 法操作具有一定的难度。
为解决电子计价秤软件测试遇到的难题,文中 搭建了一套电子计价秤的软件仿真测试系统,基于 VC++编写了电子计价秤仿真测试程序,对市场上普 遍流通的电子计价秤软件进行了测试,实验结果表 明该套系统能够对密码作弊类电子计价秤进行有 效检测,同时也验证了文中仿真测试程序的有效性。
1.仿真测试系统硬件结构
电子计价秤主要包括称重模块、显示模块以及 按键模块3部分,本软件仿真测试系统用软件驱动 的仿真器来代替真实的运行环境,模拟真实运行环 境的各种功能。其硬件结构主要由可编程多路继电 器、电压源及机器视觉系统组成,继电器用来模拟 电子计价秤的按键功能,电压源用来模拟电子计价 秤的称重传感器信号输入,机器视觉系统则是用来 捕获电子计价秤的输出信息。整体电子计价秤的软 件仿真测试系统硬件结构如图1所示。
目前,常用电子计价秤的称重传感器一般是由 弹性体、接成传感桥路的电阻应变片和向桥路供电 的直流稳压电源构成。当压力作用在传感器上时, 微小的电流变化通过惠斯通电桥转化成微小的电 压变化,通过A/D转换,量化显示在显示屏上。针对 这一原理,本系统将电子计价秤电路板上与电桥压 差输出端相连的部分断开并重新连接至外部电压 源上,使用电压源输出微小压差模拟称重。
显示模块电子计价秤显示屏分LED数码显 示和LCD显示2种,一般可采用读取显示屏电路管 脚高低电平来获取数据并显示,但是这种方法连线 复杂、不易操作、容易出错,且不同电子计价秤的 LED数码管引脚封装不同,连线也会产生一定的变 化。针对这一现象,本系统采用机器视觉系统,通过 摄像头读人电子计价秤的显示屏信息,最后利用图 像识别算法进行字符识别,并将结果发送到上位机 显示。在恒定光照条件下,对字符识别正确率进行 了测试,字符识别正确率达到98%以上,表明该系 统具有良好的实用性和通用型。
按键模块主流电子计价秤使用的是矩阵式键 盘,针对此类键盘的特点,本系统采用可编程控制 的多路继电器,通过串口通信协议,发出指令控制 继电器通断,实现电子计价秤面板上所有按键功能。
2.仿真测试系统软件结构
电子计价秤的软件自动仿真测试系统软件流 程如图2所示。
程序开启后先根据试验人员的设置完成初始 化,随后,分别开启称重信号模拟软件模块、键盘模 拟软件模块、图像识别软件模块,试验人员可进行 相应的调试检测。调试完毕后,试验人员可分别选 择进行包括手动测试、自动测试、综合作弊查找测 试等。系统在自动测试结束后自动生成测试报告。
软件开发平台为VS20101采用VC++编写仿 真测试软件上位机手动测试界面及自动测试界面 分别如图3、图4所示。
手动测试模块试验人员可对整套系统对被 测电子计价枰进行初步的检测,包括按键控制、质 量控制及数据的采集。
自动测试模块试验人员先分别对需用到的 按键、每次按键个数、用例个数及允许误差进行设 置。完成设置后,试验人员可选择单价及质量的输 出模式,质量输出模式包括固定输出、随机输出和 间隔输出,其中,随机输出和间隔输出均需设置载 荷区间;单价输出模式包括固定输出和随机输出。
完成设置后,开始测试,试验人员可根据实际 情况分别进行暂停测试、停止测试、重新测试、保存 结果等操作。
从表1可以看出,在5组连续50次按键仿真测 试试验中,试验结果正确率接近100%,出现1次正确 率为98%是由图像识别系统字符识别错误造成的。
针对密码作弊类电子计价秤的测评,需在综合 作弊查找模块中进行,综合作弊查找模块界面如图5所示。
综合作弊查找模块,试验人员先勾选相应的组合、预设计的标准称重、按键时长及按键时间间隔, 本系统最多可测试4位数字配3位功能键的密码 组合。点击开始测试,系统将自动控制电子计价秤进行按键,每次按键后,系统会控制电压源输人标 准称重,并附以固定单价。
若最后总价显示误差在10%以内即为合格,若 出现不合格情况,则将当前按键组合保存为可疑项 在测试结果中显示。试验人员将在试验结束后使用 校验键盘进行校验,以检查作弊码是否已找到。
3.结语
电子计价秤软件仿真测试系统基于VC++编写 软件测试界面,采用机器识别系统对显示部分进行 字符识别,系统测试包含三大功能:手动测试、自动 测试、综合作弊查找测试。测试结果表明该系统可 用于不同电子计价秤软件作弊功能测试,具有一定 的实用性和通用性。电子计价秤是关于民生计量的 一种计量器具,该套系统研制体现了计量的公正 性,后期将继续对电子计价秤软件可靠性和评价体 系进行更深人的研究。