本发明专利技术提供了一种基于嵌入式设备的自动化测试框架,包括:调用模块:作为整个自动化测试框架的引擎,驱动所有其他模块,首先部署测试参数,调用测试用例以及逻辑关系,运行测试用例,产生测试数据,测试报告,邮件以及日志;数据包收发模块:对测试仪器的API接口进行重新封装,构造需要的通信协议包,并定义发送、接收和解析各通信协议包函数,方便测试用例中进行调用;会话模块:在测试过程中,向待测设备传送需要的操作命令,实现与待测设备之间的交互。本发明专利技术在设计上,框架系统突破了传统自动化测试方法,采用分层设计思想,将框架设计模块与测试脚本的业务模块分离,这大大方便后期新功能测试的代码维护。
Automatic testing framework based on embedded devices
【技术实现步骤摘要】
基于嵌入式设备的自动化测试框架
本专利技术涉及自动化测试
,具体地,涉及一种基于嵌入式设备的自动化测试框架。
技术介绍
自动化测试在软件发展日新月异的今天,已成为软件测试领域里一个越来越被认可的趋势和潮流。很多有一定规模的企业都已经在团队内部组建自己的自动化团队,来创建自动化测试框架,并将其运用实际的软件测试工作中,同时还将其技能作为人才能力考核的一项重要标准,如规模较大的企业,国外的谷歌,微软,IBM,国内的华为,中兴,联想等都已有较成熟的自动化测试框架。自动化测试框架是把以人为驱动的测试行为转化为机器执行软件程序的一种过程,软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及测试用例的自动化执行,与手工测试相比,自动化测试的优势尤为突出。首先自动化测试框架可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发及维护,从而提高测试的覆盖率,其次,自动化测试框架有利于测试资产的数字化管理,使得测试资产在整个测试生命周期过程中可以得到极大的复用,这个优点在功能测试和回归测试中表现的更加明显,另外,测试流程自动化管理可以使企业的测试活动开展更加过程化、标准化,减少手工测试的随机性,这也是CMMI流程所提倡的活动过程,自动化测试框架的主要思想是把测试脚本进行抽象化,使得测试脚本重复使用率更高,各模块之间结构更清晰,更易于后期维护;同时,让非技术人员或完全不懂测试脚本的新员工在不完全不了解测试脚本的情况下,也能够运用自动化测试工具进行自动化测试,或者建立自动化测试计划,促使整个测试项目快速进行。1)框架系统突破了传统自动化测试方法,采用分层设计思想,将框架设计模块与测试脚本的业务模块分离2)在框架开发过程中将很多重复使用的冗余代码做成通用模块,使得代码结构优化,性能提升。3)本测试框架开发了非常灵活,人性化的GUI设计,可以十分方便测试人员配置测试套件4)自动化测试框架在设计之初充分考虑今后的扩展性问题,遵循软件设计原则:模块的高内聚和低耦合,充分考虑框架的扩展性接口,提供邮件服务器连接的接口,实现测试状态的邮件实时通知,提供BUG数据库连接接口,实现BUG的自动提交。5)自动化测试框架捕捉当前自动化测试中的关键问题,充分利用现有资源并将其整合到框架中,比如,可以用版本控制工具ClearCase,VSS等来对脚本进行版本控制,用版本管理工具来进行BUG的提交,跟踪管理。如今的软件产品,功能繁多,流程复杂,相对应的软件测试工作也随之复加。且测试中的许多操作过程都是重复性的、非智力性的和非创造性的,同时,重复的过程越精确越容易复现出缺陷,这样的重复性工作,计算机就比人更适合去完成,总结手工测试的不足之处如下:1.手工测试很难做到覆盖所有代码路径的测试情况。2.在软件开发的不同阶段,都需要简单的功能测试,这些功能测试用例具有一定的机械性、重复性,而且工作量相对较大,周期较短。3.许多死锁、资源冲突、多线程,内存泄露等有关的缺陷,通过手工测试很难捕捉到。4.进行系统压力、性能测试时,需要模拟大量数据或大量并发用户同时对系统进行操作,读写数据等应用场合时,很难通过于工测试来进行实际测试。5.在对系统进行稳定性及可靠性测试时,需要长时间模拟系统运行,来验证系统是否能够长时间稳定运行,这也是手工测试很难模拟的。6.在整个项目时间很紧迫的情况下,如需要1个人在2天内执行完上千个测试用例,这个也是手工测试无法实现的。正是手工测试在上面情况下碰到种种问题,从自动化测试框架可以解决以上手工测试所无法解决的种种弊端,自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具、测试脚本等来实现测试用例的执行,具有良好的可操作性、可重复性及高效率等特点。其主要好处有:1.缩短软件开发测试周期,提高产品质量,可以让产品更快投放市场。2.测试效率大大提高,可以充分利用软硬件资源,尤其在回归测试汇中,特别在软件版本修改比较频繁时,效果尤为突出,回归测试的的执行步骤与测试用例是早先设计好的,测试结果的期望值也是完全可以预料的,只要执行自动化测试软件就可以在较短时间内实现一次或多次回归测试。3.大大节省人力资源,降低测试成本,在较少的时间内执行更多的测试用例,使繁琐的测试简单化,同事也可以提高测试人员的工作积极性,将测试技术人员解脱出来并投入更多精力来设计更完善的测试用例。4.通过自动化测试框架增强对产品的稳定性和可靠性的测试力度。5.提高软件测试的准确度和精确度,增加软件产品在客户心目中的信任度。6.自动化测试框架的应用使测试工作相对比较容易,但却能保证更高质量的软件产品。7.自动化测试框架可以执行手工无法进行的一些测试场景,如压力、性能,稳定性,可靠性测试。针对上述现有技术中的缺陷,本专利技术要解决的技术问题体现在以下几点:1)支持多操作系统平台,自动化测试框架应支持多种操作系统平台,如常见的Windows,Linux,Unix等操作系统。层次化,模块化设计2)自动化测试框架应层次明确,模块独立,平台模块和测试用例的业务模块相互独立,需要新增测试用例或修改测试用例时,不需要改动平台模块的代码。3)灵活执行测试用例在不同测试阶段,我们需要构造不同测试套件来调用测试用例。比如:在测试用例全覆盖阶段(TCFP)执行所有的单独的测试用例。在健全测试(SanityTest)或冒烟测试(Smoketest)阶段批量执行部分测试用例。在回归测试阶段(RegressionTest)只执行失败的测试用例4)可扩展性自动化测试框架应支持不同的待测设备,要考虑后续新产品的扩展,做到可以支持各种同类型的嵌入式通信设备。只有充分考虑到后续的扩展性才能在尽可能的减少对测试平台模块的维护工作,减少开发资源和成本,同时,在有新功能开发需求时,自动化测试框架不受任何影响,只要增加相应业务模块的测试脚本就可以了。5)操作简单,界面友好为测试工程师提供简单易用的操作界面,只需要简单的测试环境配置就可以执行测试用例的自动化测试,在完全无外界干预的情况下,执行单个或多个测试用例,并进行全程测试日志的记录跟踪,并将执行结果和期望结果进行对比分析和统计,生成测试报告。6)调用测试仪API接口调用网络分析仪应用接口实现收发包及分析验证测试,实现对网络分析仪的自动化控制,提高开发和测试效率。7)实现交互式嵌入式设备的功性能在无人干预情况下的自动化测试,对嵌入式设备进行协议一致性等功能性测试。8)通过调用层驱动自动化测试过程,调用层读取测试环境的配置文件中的参数以及测试套件,再通过测试套件的实际逻辑解析出所有测试用例,并进行测试用例的执行,测试用例可以调用测试仪器的API接口以及Lib库进行测试用例的设计及验证,执行完测试用例后,对生成测试报告,并打印测试过程中的所有日志信息。9)动化测试框架捕捉当前自动化测本文档来自技高网...
【技术保护点】
1.一种基于嵌入式设备的自动化测试框架,其特征在于,包括:/n调用模块:作为整个自动化测试框架的引擎,驱动所有其他模块,首先部署测试参数,调用测试用例以及逻辑关系,运行测试用例,产生测试数据,测试报告,邮件以及日志;/n数据包收发模块:对测试仪器的API接口进行重新封装,构造需要的通信协议包,并定义发送、接收和解析各通信协议包函数,方便测试用例中进行调用;/n会话模块:在测试过程中,向待测设备传送需要的操作命令,实现与待测设备之间的交互;/n日志模块:跟踪每条测试命令与待测设备的交互信息记录,记录系统在执行测试命令后的执行情况并返回结果;/n测试报告模块:在执行完自动化测试脚本后,自动生成一份清晰明了测试统计结果给相关人员;/n邮件发送模块:在自动化测试框架执行完成后将测试报告和测试日志以附件的方式发送给测试人员及指定的抄送人员;/n测试环境参数模块:读取测试环境中配置的参数,包括待测设备的地址,端口等属性,测试仪器的地址以及端口;/n测试用例模块:包括所有功性能测试脚本。/n
【技术特征摘要】
1.一种基于嵌入式设备的自动化测试框架,其特征在于,包括:
调用模块:作为整个自动化测试框架的引擎,驱动所有其他模块,首先部署测试参数,调用测试用例以及逻辑关系,运行测试用例,产生测试数据,测试报告,邮件以及日志;
数据包收发模块:对测试仪器的API接口进行重新封装,构造需要的通信协议包,并定义发送、接收和解析各通信协议包函数,方便测试用例中进行调用;
会话模块:在测试过程中,向待测设备传送需要的操作命令,实现与待测设备之间的交互;
日志模块:跟踪每条测试命令与待测设备的交互信息记录,记录系统在执行测试命令后的执行情况并返回结果;
测试报告模块:在执行完自动化测试脚本后,自动生成一份清晰明了测试统计结果给相关人员;
邮件发送模块:在自动化测试框架执行完成后将测试报告和测试日志以附件的方式发送给测试人员及指定的抄送人员;
测试环境参数模块:读取测试环境中配置的参数,包括待测设备的地址,端口等属性,测试仪器的地址以及端口;
测试用例模块:包括所有功性能测试脚本。
2.根据权利要求1所述的基于嵌入式设备的自动化测试框架,其特征在于,所述API接口:
在对网络通信设备的自动化测试过程中,需要发送接收数据流,进行协议一致性验证,需要调用测试仪器商提供的API接口进行数据发送和接收。
3.根据权利要求1所述的基于嵌入式设备的自动化测试框架,其特征在于,所述功性能测试脚本包括:
IGMP、QoS以及VLAN协议栈的测试集。
4.根据权利要求1所述的基于嵌入式设备的自动化测试框架,其特征在于,所述调用模块包括:
main.tcl函数模块:判断自动化测试框架的运行环境,并调用gui.tcl函数模...
【专利技术属性】
技术研发人员:张庆松,赵福梅,
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。