本文根据计量器具软件的规定和分类,分析计量器具软件工作原理和常见问题,给出了计量器具软件测评的四种方法,基本满足我国规范对计量 器具软件测评的要求。
1.概述
1983年IEEE提出的软件工程标准术语中给软件测 试下的定义是:使用人工或自动手段来运行或测定软件 的过程,其目的在于检验该软件是否满足规定的需求, 或弄清预期结果与实际结果之间的差别。即软件测试应 以检验人们所开发编制出的软件是否满足需求为目标。 传统的计量测试也是测定某个系统的性能是否满足需求 ,或弄清预期结果与实际结果之间的差别。软件测试技 术与传统计量测试技术的主要区别在于被测对象不同, 这从另一个角度说明了 :软件测试技术是传统计量测试 技术的延伸与拓展。
根据JJF1182 -2007规定,申请软件测试的单位有 提供技术文档资料和计量器具软件源代码的义务。计量 器具生产企业为型式评价提供计量器具软件的程序功 能、相关数据结构和接口文档,不允许存在任何未归档隐 藏的功能。检测部门要对源代码进行全面的功能测试验 证、数据流分析、代码走查等,为开展计量器具软件测评 提供了依据与制度保障。
2.计量器具软件分类
根据OIML D31《计量器具软件一般要求》和 JJF1182 -2007《计量器具软件测评指南技术规范》的规 定,将计量器具软件从计量方面可分为法制计量部分和 非法制计量部分两大类。从技术特性上我们可将其分为 嵌入式和通用式两大类。
2. 1嵌入式系统的特点
嵌入式软件就是嵌入在硬件中的操作系统和开发工 具软件,用于执行独立功能的专用计算机系统,其特点是 功耗低、效率高,系统精简、专用性强、实时性高。目前在 计量器具产品中主要应用在电子秤、加油机、出租车计价
器以及各类数字显示仪器仪表等设备。
2.2通用式系统的特点
非嵌入式软件是指基于通用处理器和操作系统平台 的软件,其特点是系处理能力更广,系统资源以及功能实 现较多。目前在计量器具产品中主要应用在热电偶自动 检定装置、电能表自动检定装置、冲击试验仪、车辙试验 仪等设备。
3.计量器具软件工作原理
计量器具软件的最基本的功能就是将传感器读取到 的原始值转换成数值显示出来。也是JJH182 -2007规 定的法制计量控制部分如图1所示。
4.计量器具软件常见问题
计量器具软件一般在使用中比较常见的问题有两类: 首先,软件自身缺陷。其主要是在软件开发过程中 遗留在软件中的人为错误。表现为长时间运行后出现死 机、长时间运行后功能键失效、显示值不定期出错、法制 相关参数可随意设置等现象。据公开资料2010年1月 1日我国各地出现出租车计价器突然出现黑屏故障,这 起典型的计量器具软件功能出现故障的事故,后经专家 分析,与其内置软件的处理程序先天缺陷有直接的关系。
其次,刻意对计量软件作弊。其主要是指不法计量 器具生产使用企业或不法商贩利用篡改软件对其测量数 据进行修改,以获得非法收益。目前查获的主要的手段 包括利用安装遥控作弊装置作弊、利用作弊按钮作弊、利 用键盘密码作弊、利用软件漏洞随意更改法制计量参数 或控制程序进行作弊。电子计量器具出现后利用软件漏 洞进行人为破坏计量器具准确度的违法行为,成为计量 管理人员面临的新难题。
5.计量软件测评方法
根据开展计量器具软件测评的实际情况,提出以下 的测试方法,在没有源代码及开发档案的情况下对计量 器具软件进行充分的测评。
边界值分析是对计量器具软件的计量边界和使用环 境进行分析,验证其在输入输出边界的正确性。
对比测试是将被测系统的输出与系统的输出进行对 比,确认其计量的准确性和误差。
错误推测法是基于经验和直觉推测程序中所有可能存 在的各种错误,从而有针对性的设计测试用例的方法。
异常注入法是模拟恶意用户的操作,有意寻找系统 中可能的漏洞。
这四种方法测试方案能基本达到JJF1182 -2007的 要求,测试流程设计合理,针对嵌入式计量器具软件的测 评相对充分。当然,要达到全面对计量器具软件进行的 评测还有很多问题需要解决。计量器具软件作为计量器 具的重要组成部分,对量值准确可靠传递起到至关重要 的作用。因此要从技术体系、执法管理、企业自律等各方 面入手建立有效的技术和监管机制让计量器具软件能积 极推动计量器具的发展,防止软件缺陷和恶意作弊程序 对计量器具的使用带来影响,以保证计量器具的正确作 用,人民的合法权益不受侵害。