智能电能表软件测试技术分析

2017-03-15 10:00丘卉陈巧巧
电子元器件与信息技术 2017年2期
关键词:测试环境测试工具嵌入式软件

丘卉,陈巧巧

(广东省计量科学研究院,广东 广州 510405)

0 引言

在智能电网的建设下,相关配套设施的建设已经成为社会各界关注的焦点,智能电能表的推广可以有效改善用电条件,提高电网使用的自动化水平,对于降低电能消耗有着极为重要的意义。在智能电能表的应用中,电能控制、计量、监测、管理等方面都需要借助计算机才能顺利完成,为了使其中的操作功能更加准确、便捷,软件规模也越来大,复杂程度日益提高。在软件运行的过程中,错误是时常出现的问题,如果未得到及时的纠正,往往会对人们的生活与生产用电造成不良的影响,为了及时发现问题,必须要合理使用智能电能表软件测试技术[1]。

1 智能电能表软件测试技术的应用特点

智能电能表内嵌软件是嵌入式系统软件,这一系统是以计算机技术作为核心,能够适应应用系统对于成本、功能、功耗、体积的要求,可以分为硬件、软件两个部分组成。硬件是由微处理器与外围接口电路构成,软件则包括操作系统、硬件抽象层、应用平台、板级支持包与应用程序,目前,市面上常用的智能电能表平台是依赖微处理器进行处理,可以满足基本的运行要求。不同于一般的软件测试,智能电能表平台根据实际运行环境与软件开发环境的不同,可以分为基于宿主机与基于目标机两种类型,前者的测试速度较快,容易构建测试环境,但是需要在模拟环境中,才能够运行;后者微控制器类型多样,但是空间资源狭窄,难以搭建测试环境,对于软件安全性、可信性与可靠性提出了更高的要求。

2 智能电能表软件测试技术的应用分析

2.1 交叉测试技术

为了保证测试工作的顺利进行,需要选择适宜的测试环境,利用交叉测试技术,可以对电表软件测试进行简单的划分,其中,与硬件关联不大的测试,是在host之中完成,与硬件关联度较高的内容是在targert中完成,再根据具体的运行需求进行验证[2]。除非系统特别指定的单元测试是基于目标环境下开展,其他的测试工作,都需要在宿主机环境中才能完成。

2.2 自动化测试技术

在智能电能表软件测试技术的应用中,如果依靠手工测试,不仅出错率高,且效率非常低,借助于自动化测试工具,可以有效提高测试质量和测试效率。目前,常用的嵌入式软件测试工具有静态测试工具与动态测试工具两类,静态测试工具能够在代码非运行状态下快速完成检测,常用的测试工具有Polyspace、Klocwork、QAC、Logiscope、C+等;常用的动态测试工具有白盒测试工具与黑盒测试工具两类,可以完成集成测试、单元测试、系统测试功能,能够自动构建出测试环境,提供相关覆盖率信息,辅助分析各类性能情况,提高测试的安全性与可靠性。在测试工具的选择上,要基于测试项目的类别合理选择,综合考虑到平台、语言、性价比、工具易用性等要求。

2.3 注入测试技术

注入测试技术是通过外部设备或特殊手段激发电能表进入异常处理流程,验证电能表是否具有异常应对机制一种测试方法。它是用人工的方法有意施加故障于运行特定工作负载目标系统中,加速系统的错误和失效的发生,同时观测和回收系统对所注入故障的反应情况,分析回收的信息,提供有关结果的试验过程。

3 软件测试方案的设计流程

软件测试方案的设计需要考虑到多种因素,在测试的开始,就要独立列出文档审查与静态分析项目,提高测试有效性。其中,文档是测试执行的主要依据,内容包括软件需求说明、系统需求说明、文档类型等,现有的很多电能表软件开发粗糙,缺乏详细的文档资料,给后续的项目管理与测试工作造成了不便。智能电能表软件测试技术是基于C语言环境开发而出,编译器环境多采用主流的LAR、Gcc、HEW与Keil,一般的嵌入式软件静态测试工具,都可以支持智能电能表的设计要求。在具体的编写过程中,需要重视编码规则的书写,如果规则书写不正确,会导致系统运行出现不定时的死机,甚至会陷入一种恶性循环,为了提高代码的可移植性、可靠性以及可维护性,对于智能电能表产品编码的编写,要应用规范的规则,对于此,可以参考C语言编码规则MISRA C,也可以结合实际项目经验,来提取适宜的软件编码规范[3-6]。

在单元到系统测试的具体测试环境上,需要根据操作需求来选择,智能电能表目标机环境多采用ARM内核微控制器或者8-32位单片机,常用的测试工具有RTRT、Testbed,使用此类测试工具可以顺利完成集成、单元、内存分析、性能测试工作。

在具体的测试方面,需要遵循如下的原则:

3.1 循序渐进

软件测试是贯穿在整个软件生命周期中的,工作量大,测试具有无止境的特征,在测试初期,需要遵循循序渐进原则,先从自动化静态测试来着手,杜绝常见缺陷,对语言C编码规则进行统一设计,再根据要求增加集成测试与动态单元,实现测试工作的工程化。

3.2 先进性

在测试时,要利用先进的测试工具,这是顺利完成软件测试工作的有效武器,为此,需要应用成熟性的嵌入式软件测试工具,如QAC、Klocwork、Testbed,构建新的软件测试自动化平台,也可以在一定的技术条件下,自行开发出符合要求的测试工具。

3.3 体系化

软件测试属于电表行业的新型技术领域,人员测试理论直接影响着测试工作的开展成效,测试人员的实力也会直接决定测试效果,为此,必须要重点培养专业化的测试人员。测试工作是一个常态、长期、系统的过程,测试流程、测试质量管控、人员分配都是影响测试运行可靠性的关键因素,必须要协调好上述各个因素。技术和方法是测试的基础,统一明确的测试标准和规范是确保测试工作正规、有序开展的根本保证[7-9]。公司应首先制定内部测试内容、测试流程、测试采取的基本方法和准则等,或可基于哪些自动化测试平台,作为指导性文件,使测试有章可依[10]。

4 结语

智能电能表中电能计量、电能控制、在线监测和在线管理等功能基本上都要依赖于计算机程序完成,加强软件测试尤为重要。智能电能表的软件测试需要由起步到逐渐成熟的一个过程,也是一个循序渐进的流程,为了提高测试工作的应用效果,需要关注各类因素,协调好各工作的关系。

参考文献:

[1]罗瑛.智能电表在智能电网中的应用概述[J].广东科技,2013,(16):119-119.

[2]毛朔南.计量器具嵌入式软件测试技术研究[J].中国计量,2012,(7):68-70.

[3]魏洪兴,谌卫军,康一梅,陈友东.嵌入式系统设计师教程[M].北京:清华大学出版社,2006.

[4]蔡建平.嵌入式软件测试实用技术[M].清华大学出版社,2010.

[5]宋锡强,汪萍萍,周韶园.智能电能表软件测试技术概述[J].电测与仪表,2014,51(11):18-22.

[6]毛海涛,王正成,王晓菊,黄海均,刘阳. 一种大水体太阳能自动增氧装置的研发与试验研究[J/OL]. 水生态学杂志,2017,(11):07.

[7]陈景霞,王学伟. 智能电能表动态特性测试相关问题分析[J]. 电测与仪表,2016,53(01):62-69.

[8]蒋忠远,张秀艳,马子玥. 智能电网中电能存储系统的容量优化[J]. 西安电子科技大学学报,2015,42(06):106-112.

[9]崔葛安,李鹏,张爱民,张成刚,郭晨. 基于MSP430的智能变电站电能监测单元设计与实现[J]. 陕西电力,2014,42(09):84-87+100.

[10]吕诗如,李勇. 变电站智能照明系统设计研究[J]. 新型工业化,2017,7(08):30-36.

猜你喜欢
测试环境测试工具嵌入式软件
全数字仿真测试环境在航天软件测试中的应用研究
基于人工智能的模块化嵌入式软件开发研究
雷达航迹处理测试环境构建方法研究
Http并发连接测试工具
网络设备自动化测试设计与实现
全景相机遥控器嵌入式软件V1.0 相关操作分析
手车式真空断路器回路电阻测试电流线接头研究
浅谈响应时间测试分析方法
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制