金家红+李志鹏+杨碧峰
摘要:智能用电采集自动化测试系统研究智能用电采集端如何实现自动化测试,如何通过平台化的设计对不同的被测产品进行测试。测试工程师可根据个人测试想法在系统中通过测试因子、测试用例、测试方案三级结构的有序搭建,构建起一套完整的测试方案,用于智能电能表、智能用电采集终端和智能家居采集终端等用电采集产品的自动化测试。
关键词:测试因子;测试用例;测试方案;智能电能表;智能用电采集终端 文献标识码:A
中图分类号:TP273 文章编号:1009-2374(2016)32-0017-03 DOI:10.13535/j.cnki.11-4406/n.2016.32.008
从目前智能电用采集行业的测试现状来看,多数测试工作具有重复性操作多、数据量大、消耗时间长等特点,且具有测试准确度低、测试项目难以全面覆盖、人工测试强度大等弊端,在测试员有限和测试技术缺乏的情况下,这些工作使得测试部门每天都在满负荷运转来消化测试任务,且成效不大。在国网公司统一招标的背景下,随着企业订货量和业务范围的不断扩大,测试资源紧缺与测试工作量不断增加之间的矛盾显得尤为突出。针对上述情况,我公司结合市场需求和自身发展需要,经过近一年的需求调研和分析,并进行筛选和抽象,适时地启动了智能用电采集自动化测试系统的开发工作。智能用电采集自动化测试系统可以代替人工测试执行研发自测和验收测试。本项目的应用和推广,将能够有效地解决测试效率低、测试项目难以全面覆盖、占用人力资源多、研发质量把控不严等一系列问题,且对行业发展和国网送样中产品质量的提升具有积极的推进作用。在目前国内该领域自动化测试需求日益突出的背景下,该项目的启动和应用显得尤为紧迫和必要。
1 系统分析
1.1 需求分析
目前,国内在研究智能用电产品自动化测试方面还处于起步阶段,当前市场上的测试平台均不能满足行业内对测试的自动化需求。智能用电采集自动化测试系统正是在这一背景下立项开发,相比国内目前存在的自动化或者半自动化测试系统,我们认为智能用电采集自动化测试系统应该具备测试方案构建自主性和配置灵活性更好,系统可扩展性和可兼容性更强,测试方案的审核控制流程更严谨,数据管理和方案管理更为科学等技术优势。综合以上特点开发的系统,在应用过程中,不但可以不断兼容智能用电新产品的通信协议进行符合性测试,还可以根据测试工程师的测试意愿自主编辑测试方案,进行产品的功能性测试。并保证测试方案在研发自测和中试验证阶段的测试效果,该系统还可以不断累计测试方案和测试经验,形成可追溯的数据管理体系,便于将来的测试经验借鉴和测试结果追溯,在实际应用过程中更为方便实用。
1.2 系统架构设计
如图1所示,智能用电采集自动化测试系统基于VS2010开发平台和SQLServer2005数据库进行设计开发。该系统兼容浏览器模式,主要划分为两部分,分别为服务器端和客户端,下面针对系统的逻辑架构进行简要说明。
1.2.1 服务器端:服务器端主要用于数据处理和数据存储,数据处理层主要包括Web发布、数据交互处理和数据库接口类库,主要业务包括管理测试因子、测试用例、测试方案、历史数据。审核测试用例、测试方案,发布正式版客户端和外挂软件是该系统的主体组成部分,系统的所有功能操作都在数据处理层完成;数据存储层以SQLServer2005数据库为载体进行数据存储过程处理和数据存储,为智能用电采集自动化测试系统的使用提供强有力的数据支撑,保存了大量的历史数据和经验数据,使系统数据具备可追溯性,是系统正常运行的必要条件。
1.2.2 客户端:客户端兼容浏览器模式,在终端用户PC机上安装客户端浏览器,用于本地测试设备驱动和服务器公共平台测试方案脚本下载,从而实现测试方案的本地化执行,提高测试可靠性和稳定性。客户端主要业务包括执行测试、执行审核,用户通过客户端将测试用例、测试方案从服务器下载到本地后,执行测试,保证测试过程中通讯的安全性、可靠性和稳定性,并支持脱网
测试。
1.3 系统组成
如图2所示,本系统软件共需要七部分功能模块,分别为档案管理模块、测试流程管理模块、评审审核模块、测试数据管理、系统管理、个人信息和显示窗体,下面对这七部分功能需求做详细描述:
1.3.1 档案管理模块:主要用于管理本系统兼容的被测产品和与本系统配套的测试设备的档案的添加、修改与删除。该部分主要分为电能表驱动管理、采集终端驱动管理、辅助设备驱动管理、通讯口配置管理四部分。
1.3.2 测试流程管理模块:该模块为本系统的核心模块之一。主要用于编辑测试因子、测试用例、测试方案以及执行一键式自动化测试和测试结果的查看及导出等。其中测试因子、测试用例、测试方案是支持一键式自动化测试的三级要素,若干的测试因子经过有序的排列组合形成测试用例,若干的测试用例集合在一起形成测试方案。测试方案是一键式自动化测试的主要执行对象。
1.3.3 评审审核:该功能模块为本系统的统一审核接口,所有设计阶段和测试阶段的流程审核都在此功能模块呈现并完成,该功能模块权限只对行政主管和测试产品负责人开放,具有高级权限。主要包括测试因子入库审核、测试用例入库审核、测试方案审核、测试报告审核。
1.3.4 测试数据管理:主要用于存储和管理测试方案及测试结果,从而累计测试经验和测试成果,形成可追溯性的数据管理体系,便于后续测试方案的改进、借鉴和测试结果的追溯。
1.3.5 系统管理:主要包括角色管理和用户管理两部分功能,为系统用户提供权限分配,为系统常用的功能管理模块,其中角色管理中包含页面访问权限管理和操作权限管理功能。用户可根据实际需要关联相关角色,一个角色可对应多个用户。
1.3.6 个人信息:主要反映当前登录用户的个人信息,包括个人信息浏览、系统提醒和修改密码三部分。
1.3.7 显示窗口:主要向用户呈现系统测试时的实时状态和测试后的测试结果。它通过实时测试状态监控、报文显示、结果判断、分类存储等手段,向用户全方位多角度地展示了产品测试信息。
2 关键技术及实现
2.1 测试方案的自主性
本系统不参与任何测试方案的决策,只负责执行,测试方案的制定完全交由测试工程师完成,从而充分体现和尊重了“人”的测试方法和测试意愿,有效地做到了测试方案的灵活性。本系统首次提出了“测试因子”和“因子块”的概念,测试因子是构成测试方案的最小操作步骤,测试工程师可以根据自己的测试意愿随意添加测试因子,并进行一定逻辑关系的排列组合,从而形成测试用例,一个测试用例即为一种测试方法,这种灵活的编辑方法可以使测试工程师充分针对一个功能项编辑出多套测试用例,而多个不同的功能项下的多套测试用例集合在一起就形成了测试方案,从而对电能表的功能项进行全方位多角度的测试,如图3所示:
2.2 测试方案的开源性
该系统测试方案可以由多人同时构建,从而使测试方案在构建过程中不断被完善和优化。多人共同构建测试方案,既可以集合不同的优秀测试思想和测试方法,又可以提高构建方案的工作效率,最后由项目负责人统一整合并提交审核,从而不断地累计测试经验和测试方法。在实际应用过程中,编辑测试用例、测试方案后上传至服务器,提交审核,发布至正式库公共平台,未提交审核或者审核不通过时,系统为测试用例和测试方案提供完全公开、项目组公开和隐私三级公开权限,公开的测试用例和方案,多个用户可以共同参与修改优化,不公开的测试用例和方案只能自己看到,自己调试或者测试,但测试结果不列入正式测试报告。
2.3 测试数据准确性判断
系统对每一个功能子项的测试数据与基准装置或者基准数据进行实时比对,并结合实际情况进行误差校正,以求达到测试结果的准确性。为了尽可能地保证数据的准确性,首先通过通讯可靠性手段保证召测数据的可靠性和准确性,然后通过准确的解析算法保证解析数据的正确性,最后将解析后的数据与基准设备(如标准表、脉冲计量工装等)进行比对,进而对测试数据进行判断并得出合理结论。
针对由多个测试子项组成功能测试项目,应先对各个子项进行数据比对,各个子项比对结论全部合格后才视为整个测试项目合格,否则该测试项目为不合格。总之由于结论的判断受多方面影响,系统在做好数据可靠性传输的同时,通过多种比对算法保证测试结果的准
确性。
2.4 通讯可靠性
智能用电采集自动化测试系统在实际运行过程中需要不断处理多种不同类型的设备数据,如何保证这些设备与智能用电采集自动化测试系统之间的通讯稳定可靠,是系统设计的关键。经过认真的分析研究,我们决定采用以下方式:
2.4.1 客户端模式执行测试:本系统采用客户端模式执行测试,即通过客户端从服务器公共库平台下载测试方案并执行,支持脱机测试,从而有效地解决了因网络因素导致的测试不稳定或者断网导致无法测试的情况。
2.4.2 数据重发机制:智能用电采集自动化测试系统在与设备通讯过程中,为了保证数据传输的准确性,增加重发机制来提高抗干扰能力。如果存在在规定的时间内数据交互失败的情况,程序就会自动进入数据重发流程进行数据重发,如果3次数据重发仍然失败,则视为本次通讯失败,系统将把失败记录存入数据库中,并继续进行下一个测试用例的测试。
2.4.3 增加通信校验:通信报文组帧过程中,在规约基本校验基础上又增加了CRC校验模式,进一步增加通信过程中的传输可靠性。
3 应用数据分析
使用智能用电采集自动化测试系统测试出的单相费控智能电能表的测试报告,如表1所示:
4 结语
伴随着智能用电行业的快速发展和智能用电产品的快速更新,智能用电采集自动化测试系统在对产品质量把控和提高测试效率方面必将发挥自己的独特作用。由于市场对产品的交付周期不断加快和对产品成本的不断压缩,这样一款可以快速实现自动化测试的测试系统对于缩短整个项目周期、节省测试成本有着直接的效应,这也就决定了它必将是测试市场和业界所需要的。
参考文献
[1] 刘宣.电力用户用电信息采集系统功能规范(Q/GDW 1373-2013)[S].国家电网公司营销部,2013.
[2] 兰多夫.Visual Studio 2010高级编程[M].北京:清华大学出版社,2012.
[3] 王秀英,SQLServer2005实用教程[M].北京:北京交通大学出版社,2010.
[4] 贺振欢.Web服务器开发技术[M].北京:人民邮电出版社,2007.
[5] 国家电网公司智能电能表系列标准宣贯材料[S].国家电网公司营销部,2013.
[6] 张文亮,刘壮志,等.智能电网的研究进展及发展趋势[J].电网技术,2009,13(7).
作者简介:金家红(1967-),浙江绍兴人,国网浙江省电力公司绍兴供电公司高级工程师,研究方向:客户服务管理和智能用电管理;李志鹏(1985-),河南长葛人,河南许继仪表有限公司工程师,研究方向:系统软件、通讯及测试技术;杨碧峰(1977-),浙江绍兴人,国网浙江省电力公司绍兴供电公司高级工程师,研究方向:客户服务管理和智能用电管理。
(责任编辑:黄银芳)