建立电源系统测试自动化平台
1 引言
1.1 现状分析
随着通信电源维护的集中程度将进一步增强,全网资源的集中管理已是大势所趋,相应的集中监控和集中维护的要求也将进一步提高,这就对电源系统的智能化和自治能力提出了更高的要求,电源系统可以在更为复杂的环境条件下处理各种异常情况,并向监控中心反映电源系统的运行状况。因此在电源系统的测试过程中基本的功能测试是不充分的,各种异常情况的模拟测试必须充分进行。
随着通信电源设备自动化和智能化程度的提高,通信网规模的扩大,集中供电向分散供电转变,维护人员将被精简,电源维护将更多的转向集中监控、系统优化方面。设备日常维护、检测和抢修方面,将更多的依赖于专业厂家。运营商和设备供应商的关系将超越简单的供求和买卖关系,在服务领域将会有越来越多的合作。这就要求电源厂家提供电源系统方便快捷的检测维修平台,提高电源系统的长期可靠性、电网适应性、操作和维护的方便性,减少维护费用。
同时用户对电源的技术性能也已非常重视,新的功能需求不断提出,电源厂家也大力投入新产品的开发。首先应不断推出性能价格比更优的新产品。其次通过改进性能、增加新功能、改变结构外观等不断推出新品种、新系列,全方位满足用户的不断增长的需求。随着版本的不断推出,测试的工作量变得巨大,需要提高测试效率来保证产品的稳定性和可靠性。
从产品和技术的现状和发展可以看出,现有的手工作坊式的测试方法,不仅使测试人员陷入基本功能测试的重复劳动,而且不能保证测试的全面,不能保证产品的稳定性和可靠性。从国内外技术发展和经验可以看出,建立有效的自动化测试平台可以帮助我们解决这些问题。
1.2 自动化测试的难度
测试自动化包括测试和自动化两个不同的学科,首先需要精心设计完善的测试过程,有资深的测试专家定义完整的测试内容和过程;然后将这个过程自动化,这也是比较困难的。要将复杂的测试过程自动化需要完成很多艰巨的工作,包括:
■定义测试过程中实现自动化的范围
■建立自动化测试的初试条件
■设计自动测试用例的方法
■自动测试用例的表示方法与脚本技术的应用
■自动测试用例脚本的管理与重用
■自动测试过程的跟踪、记录和处理
■测试结果数据的收集与比较技术
■自动化测试过程的维护与度量
1.3 中兴在测试自动化方面的研究
深圳市中兴通讯股份有限公司很早就开始了通信电源测试自动化方面的研究和投入,很多通信电源自动化测试方面的研究成果已经应用到产品开发过程中,使公司的电源产品的质量水平得到了很大的提高,电源产品的稳定性和可靠性得到了用户的肯定。
下面就中兴公司通信电源产品自动化测试平台的原理作一个介绍。
2 系统组成和原理
2.1 系统组成
在电源系统自动测试平台的设计开发过程中,除了考虑系统的功能和性能外,还重点对系统的适应性、灵活性和便携性提出明确的要求,原理框图如图1所示。
系统自动测试平台原理框图
2.2 系统原理及实现
对于电源监控单元,一般来说主要的接口有通讯接口、模拟量检测接口、数字量检测接口和控制接口,通过这些接口实现对电源系统的三遥功能,因此在测试系统中必须完整的实现对这些接口的测试;
电源转接板主要是为了适应不同类型的电源系统的接口信号要求而设计,通过转接板实现测试系统下发的控制信号按照要求匹配到监控单元的接口信号上去;从而实现自动测试系统接口的通用性;
自动测试系统通过串口通讯从后台软件接收测试用例数据,按照命令和数据的要求输出接口数据,通过转接板下发给待测电源监控单元,并检测待测系统的输出信号的变化反馈回后台软件以便进行比较和验证处理;同时也可以按照命令和数据的要求保存接口数据,以便测试系统可以脱离后台软件单独运行测试过程,提高了测试系统的便携性;
为了提高测试平台的适应能力和灵活性,测试平台的功能主要集中在后台软件,包括测试用例脚本的编写和编译、测试用例数据的下发,测试过程的管理,测试结果的比较等,同时后台软件对测试系统的配置可以实现对不同电源的测试。
3 测试过程
实现电源产品所有软件的自动化测试,自动化的含义包括,测试用例自动生成、测试过程的自动实现、测试结果的自动输出,测试评价和评价依据的自动对应。最终形成一个涵盖全面的监控软件自动化测试系统,达到保障测试工作的高效完成,测试依据准确、测试结果客观,杜绝人为因素影响的目的,以将测试人员从繁重的测试工作中解放出来,将精力投入到与开发部的平行工作的道路上去,即实现开发和测试的同步进行,实现开发设计文档的同步检查,测试文档、测试报表的及时高效率输出。测试流程如图2所示
图2 测试过程流程图
3.1 编写测试用例脚本
测试脚本作为自动测试的一个重要构件,在设计时必须根据测试对象和过程的要求进行定义,可以借用标准的脚本语言或者其子集,例如TCL等脚本语言使用普遍,其编译器源代码开放为使用带来了很多方便;同时也可以根据自己的需要自定义脚本语言,在我们的系统中就采用自定义的脚本格式,它的好处就是灵活,简单,但是要自己编写编译处理程序。例如:
acv stepto 220 ,30
该脚本语句表示交流电压变为220V并保持30秒钟,在脚本语法的设计中要求独立于平台和环境,以便实现脚本的重用;上面举例的脚本就可以适用于所有通信一次电源的测试,这就可以大大提高测试脚本的开发效率。
3.2 编译测试用例脚本
如果测试用例脚本采用标准的语言编写,例如TCL有现成的编译器可用,这部分的工作相对简单。在我们的测试系统中采用了自定义的脚本格式,编译器需要自主开发。
编译器通过读取测试系统配置文件把脚本文件转换为测试系统可以识别的数据,这就保证了测试系统的硬件无关性。
3.3 测试执行与反馈结果
通过编译生产的数据文件是针对待测电源监控系统的,测试系统执行数据输出信号作为测试输入,测试系统按照指令要求收集数据并反馈后台软件,在测试脚本中通过指定测试验证点来控制测试结果的反馈。例如自定义的语法关键字testout。
3.4 测试结果比较和评价
对于自动测试系统,其效率的体现主要在于自动比较功能的好坏,简单的说,就是比较测试输出结果与预期的输出结果数据的一致性,并得出差异报告。
对于测试结果的比较,方法有很多:测试过程中的动态比较、测试执行完成后的比较、简单的完全比较、复杂的规则比较等;在我们的测试平台中采用了测试过程中的动态比较,通过测试脚本中的控制关键字testout来控制测试结果的输出和比较。
对于预期的测试结果的产生,可以通过手工设定的方式来实现,也可以把一次成功的自动测试的结果输出数据直接作为比较的标准。
4 总结
通过通信电源系统测试自动化平台的开发研制和全面推广使用,使系统测试更加全面和深入,硬件功能模块的测试覆盖率从以前的80%左右达到现在的100%,软件代码的测试覆盖率也有很大的提高,对于基于黒盒的功能测试,软件的代码覆盖率一般只能达到50%-60%,经过测试平台的使用后,代码覆盖率的度量数据达到96%,软硬件的可靠性得到了很大的提高。产品运行稳定、用户满意度提高和品牌形象提升都很好地验证了产品质量的提高。
参考文献
[1] 刘希禹 通信电源与空调及环境集中监控系统 人民邮电出版社
[2] 张廷鹏 通信用高频开关电源 人民邮电出版社
[3] 王家庆 智能型高频开关电源系统的原理使用与维护 人民邮电出版社
[4] Mark Fewster 软件测试自动化技术与实例详解 电子工业出版社
[5] Roger S. Pressman 软件工程-实践者的研究方法 机械工业出版社
[6] Rex Black 测试流程管理 北京大学出版社
1.1 现状分析
随着通信电源维护的集中程度将进一步增强,全网资源的集中管理已是大势所趋,相应的集中监控和集中维护的要求也将进一步提高,这就对电源系统的智能化和自治能力提出了更高的要求,电源系统可以在更为复杂的环境条件下处理各种异常情况,并向监控中心反映电源系统的运行状况。因此在电源系统的测试过程中基本的功能测试是不充分的,各种异常情况的模拟测试必须充分进行。
随着通信电源设备自动化和智能化程度的提高,通信网规模的扩大,集中供电向分散供电转变,维护人员将被精简,电源维护将更多的转向集中监控、系统优化方面。设备日常维护、检测和抢修方面,将更多的依赖于专业厂家。运营商和设备供应商的关系将超越简单的供求和买卖关系,在服务领域将会有越来越多的合作。这就要求电源厂家提供电源系统方便快捷的检测维修平台,提高电源系统的长期可靠性、电网适应性、操作和维护的方便性,减少维护费用。
同时用户对电源的技术性能也已非常重视,新的功能需求不断提出,电源厂家也大力投入新产品的开发。首先应不断推出性能价格比更优的新产品。其次通过改进性能、增加新功能、改变结构外观等不断推出新品种、新系列,全方位满足用户的不断增长的需求。随着版本的不断推出,测试的工作量变得巨大,需要提高测试效率来保证产品的稳定性和可靠性。
从产品和技术的现状和发展可以看出,现有的手工作坊式的测试方法,不仅使测试人员陷入基本功能测试的重复劳动,而且不能保证测试的全面,不能保证产品的稳定性和可靠性。从国内外技术发展和经验可以看出,建立有效的自动化测试平台可以帮助我们解决这些问题。
1.2 自动化测试的难度
测试自动化包括测试和自动化两个不同的学科,首先需要精心设计完善的测试过程,有资深的测试专家定义完整的测试内容和过程;然后将这个过程自动化,这也是比较困难的。要将复杂的测试过程自动化需要完成很多艰巨的工作,包括:
■定义测试过程中实现自动化的范围
■建立自动化测试的初试条件
■设计自动测试用例的方法
■自动测试用例的表示方法与脚本技术的应用
■自动测试用例脚本的管理与重用
■自动测试过程的跟踪、记录和处理
■测试结果数据的收集与比较技术
■自动化测试过程的维护与度量
1.3 中兴在测试自动化方面的研究
深圳市中兴通讯股份有限公司很早就开始了通信电源测试自动化方面的研究和投入,很多通信电源自动化测试方面的研究成果已经应用到产品开发过程中,使公司的电源产品的质量水平得到了很大的提高,电源产品的稳定性和可靠性得到了用户的肯定。
下面就中兴公司通信电源产品自动化测试平台的原理作一个介绍。
2 系统组成和原理
2.1 系统组成
在电源系统自动测试平台的设计开发过程中,除了考虑系统的功能和性能外,还重点对系统的适应性、灵活性和便携性提出明确的要求,原理框图如图1所示。
系统自动测试平台原理框图
2.2 系统原理及实现
对于电源监控单元,一般来说主要的接口有通讯接口、模拟量检测接口、数字量检测接口和控制接口,通过这些接口实现对电源系统的三遥功能,因此在测试系统中必须完整的实现对这些接口的测试;
电源转接板主要是为了适应不同类型的电源系统的接口信号要求而设计,通过转接板实现测试系统下发的控制信号按照要求匹配到监控单元的接口信号上去;从而实现自动测试系统接口的通用性;
自动测试系统通过串口通讯从后台软件接收测试用例数据,按照命令和数据的要求输出接口数据,通过转接板下发给待测电源监控单元,并检测待测系统的输出信号的变化反馈回后台软件以便进行比较和验证处理;同时也可以按照命令和数据的要求保存接口数据,以便测试系统可以脱离后台软件单独运行测试过程,提高了测试系统的便携性;
为了提高测试平台的适应能力和灵活性,测试平台的功能主要集中在后台软件,包括测试用例脚本的编写和编译、测试用例数据的下发,测试过程的管理,测试结果的比较等,同时后台软件对测试系统的配置可以实现对不同电源的测试。
3 测试过程
实现电源产品所有软件的自动化测试,自动化的含义包括,测试用例自动生成、测试过程的自动实现、测试结果的自动输出,测试评价和评价依据的自动对应。最终形成一个涵盖全面的监控软件自动化测试系统,达到保障测试工作的高效完成,测试依据准确、测试结果客观,杜绝人为因素影响的目的,以将测试人员从繁重的测试工作中解放出来,将精力投入到与开发部的平行工作的道路上去,即实现开发和测试的同步进行,实现开发设计文档的同步检查,测试文档、测试报表的及时高效率输出。测试流程如图2所示
3.1 编写测试用例脚本
测试脚本作为自动测试的一个重要构件,在设计时必须根据测试对象和过程的要求进行定义,可以借用标准的脚本语言或者其子集,例如TCL等脚本语言使用普遍,其编译器源代码开放为使用带来了很多方便;同时也可以根据自己的需要自定义脚本语言,在我们的系统中就采用自定义的脚本格式,它的好处就是灵活,简单,但是要自己编写编译处理程序。例如:
acv stepto 220 ,30
该脚本语句表示交流电压变为220V并保持30秒钟,在脚本语法的设计中要求独立于平台和环境,以便实现脚本的重用;上面举例的脚本就可以适用于所有通信一次电源的测试,这就可以大大提高测试脚本的开发效率。
3.2 编译测试用例脚本
如果测试用例脚本采用标准的语言编写,例如TCL有现成的编译器可用,这部分的工作相对简单。在我们的测试系统中采用了自定义的脚本格式,编译器需要自主开发。
编译器通过读取测试系统配置文件把脚本文件转换为测试系统可以识别的数据,这就保证了测试系统的硬件无关性。
3.3 测试执行与反馈结果
通过编译生产的数据文件是针对待测电源监控系统的,测试系统执行数据输出信号作为测试输入,测试系统按照指令要求收集数据并反馈后台软件,在测试脚本中通过指定测试验证点来控制测试结果的反馈。例如自定义的语法关键字testout。
3.4 测试结果比较和评价
对于自动测试系统,其效率的体现主要在于自动比较功能的好坏,简单的说,就是比较测试输出结果与预期的输出结果数据的一致性,并得出差异报告。
对于测试结果的比较,方法有很多:测试过程中的动态比较、测试执行完成后的比较、简单的完全比较、复杂的规则比较等;在我们的测试平台中采用了测试过程中的动态比较,通过测试脚本中的控制关键字testout来控制测试结果的输出和比较。
对于预期的测试结果的产生,可以通过手工设定的方式来实现,也可以把一次成功的自动测试的结果输出数据直接作为比较的标准。
4 总结
通过通信电源系统测试自动化平台的开发研制和全面推广使用,使系统测试更加全面和深入,硬件功能模块的测试覆盖率从以前的80%左右达到现在的100%,软件代码的测试覆盖率也有很大的提高,对于基于黒盒的功能测试,软件的代码覆盖率一般只能达到50%-60%,经过测试平台的使用后,代码覆盖率的度量数据达到96%,软硬件的可靠性得到了很大的提高。产品运行稳定、用户满意度提高和品牌形象提升都很好地验证了产品质量的提高。
参考文献
[1] 刘希禹 通信电源与空调及环境集中监控系统 人民邮电出版社
[2] 张廷鹏 通信用高频开关电源 人民邮电出版社
[3] 王家庆 智能型高频开关电源系统的原理使用与维护 人民邮电出版社
[4] Mark Fewster 软件测试自动化技术与实例详解 电子工业出版社
[5] Roger S. Pressman 软件工程-实践者的研究方法 机械工业出版社
[6] Rex Black 测试流程管理 北京大学出版社
评论