基于脚本技术的自动化软件测试方法研究

2016-05-14 09:40李鑫
电子技术与软件工程 2016年6期
关键词:自动化

李鑫

摘 要在当前社会中,随着计算机技术和互联网技术的不断发展,越来越多的软件开始应用在各行各业当中,发挥出了十分良好的效果。为了确保软件功能和性能的良好,应当进行有效的自动化软件测试。而对于很多软件来说,在测试当中通常较为复杂。基于此,可利用基于脚本的自动化软件测试技术,在软件动态测试过程中,使用脚本技术进行自动化测试,优化手工测试过程,提高测试效率和测试有效性。

【关键词】脚本技术 自动化 软件测试方法

为了确保软件具有良好的质量和性能,应当进行有效的软件测试工作。在过去的软件测试中,通常都是手工的方法,测试效率和测试效果十分有限,并且会增加测试周期和测试成本,特别是对于一些特殊软件的测试来说,通常要面临着更大的难题。而通过对脚本技术的引入,可以更好的实现进行自动化软件测试工作,对于软件测试的可维护性等都有着较大的帮助,同时也能够提升测试效率和测试效果,降低测试成本。

1 基于脚本的自动化软件测试平台

在自动化软件测试平台中,主要包括了接口映射表、支持函数库、脚本驱动器、数据驱动器等部分,综合这些部分形成了组合型的测试框架,用来对软件进行测试。在测试过程中,下层脚本由高层脚本调用执行,底层运行脚本的通信和驱动过程中,待测系统接口是由查询接口映射表调用的。在数据文件中,测试脚本在测试当中对相应数据进行调用。其中,高层脚本由脚本驱动器调用,从而使高层脚本能够对下层脚本进行调用,其中,待测试系统的具体测试步骤,就包含在底层脚本当中。在接口映射表当中,对关键字驱动测试框架中的组件映射表的经验进行了利用。结合待测试系统的具体要求,测试人员对接口的参数、名称等进行设计,以便对待测试系统进行抽象化的处理。

在测试脚本的运行过程中,通过映射表对接口的参数和名称进行匹配,如果改变系统接口,只需对映射表进行调整,就能够在待测试系统、测试系统之间,形成良好的松耦合。在数据文件、测试脚本之间,连接器主要是由数据驱动器实现的,一般是由XML文件、文本文件等完成的。在进行测试的时候,如果有数据的需求,数据会由数据驱动器进行赌气。在测试数据和脚本之间,由数据驱动器进行分离,如果改变了测试数据,则只需对数据驱动器进行修改即可,无需改动脚本。在支持函数库当中,主要包含了字符串处理、文字操作、数据缓存等所需应用的通用处理函数,从而对整个自动化软件测试过程提供支持。

2 基于脚本的自动化软件测试技术

2.1 自动化软件测试脚本语言设计

在基于脚本的自动化软件测试技术当中,测试脚本语言具有十分重要的作用,因此,结合基于脚本的自动化软件测试技术的实现机制、以及软件测试的特点,对脚本语言进行结构化方式的扩展,也就是在描述软件测试特征的过程中,对结构化语言的语法、词法等进行应用。C语言是较为常用的结构化语言,在实际应用中,相应的简化C语言,对软件测试结构化特征能够应用到的一些必不可少的内容进行保留,而将一些没有必要的测试特征加以省略。基于通用结构化语言,在扩展当中,结合软件测试的特点,将一些软件测特有的特征描述加入其中,例如反馈特性、实施特性、测试进程控制机制等方面的描述。

在自动化软件测试的过程当中,周期任务、定时任务、立即任务是对被测系统发布的主要任务,因此,可以将一些相应的描述关键字引入到这几种任务当中。通过这种方式,能够对任务表进行实时调度,从而实时处理相关的任务。在结构化语言当中,对逻辑判断方法进行应用,在仿真模型、解释器之间的交互当中,使测试反馈处理功能完成。此外,对于测试任务,可增加相关的优先级、同步、并发等描述,从而更加准确的描述软件测试,同时对测试的闭环特性加以反映,对被测软件运行的真实环境进行有效的模拟。

2.2 自动化软件测试脚本语言解释器

基于设计的自动化软件测试的脚本语言,对针对这种语言的解释器进行设计。对于脚本语言来说,脚本语言解释器发挥着重要的基础性作用,设计的解释器是否合理,对于基于脚本的自动化软件测试技术有着直接的影响,同时关系到软件测试的效果和效率。基于前文提到的软件测试中的主要特性和测试任务,对于测试任务当中的任务并发同步、测试反馈特性、时间要求等应当进行妥善的处理。在解释器当中,主要包括了解释程序、指控程序等部分。其中,在预处理测试脚本的过程中,需要用到主控程序,同时对根据时间排列的任务表进行生成,对解释程序的出发调用,则是按照实时调度时钟的信号和条件判断的。在主控称许当中,测试过程中不同任务的同步和并发处理,能够通过多任务处理方式加以确保,这样就能够对自动化软件测试当中,实施特性的要求得到满足。

在解释程序当中,根据时钟信号对主控程序进行触发,对需要进行解释的脚本执行代码进行加载,然后对于测试流程,可采用脚本解释进行控制,对测试数据进行实时生成,然后向各个仿真模型当中进行分发,在通过交互仿真模型,在反馈处理中,对逻辑判断加以利用,以便实现不同任务的同步,使被测软件的运行得到良好的驱动。在解释脚本的过程中,对于脚本当中的错误信息,可以通过解释程序进行捕捉,同时能够对错误处理机制进行提供,这样就能够防止脚本产生严重错误,从而带来其它不良的影响。此外,在设计解释器的过程中,对于用户自定义函数的登记,以及库函数的调用等,可以通过预扫描的方式实现。从而使函数查找时间得以缩短。而且,还能够标准信号发生函数,对二进制代码进行生成,从而使解释的效率和速度得以提升。

3 结论

在当前社会中,随着计算机网络的广泛应用,在各个领域当中,各类软件的也得到极大的应用。丰富、全面的软件功能能够为人们的工作和生活提供很大的便利。因此,为了确保软件良好的质量及性能,可采用基于脚本的自动化软件测试技术,通过自动化的测试过程,提升自动化软件测试的效率和有效性。

参考文献

[1]曹磊,董科军,袁博文.一种基于Selenium的Web应用软件自动化测试平台设计与实现[J].科研信息化技术与应用,2014,06:44-52.

[2]董宇晖.基于Python的实时软件测试脚本[J].信息与电脑(理论版),2011,07:27-28.

[3]陈彦彰.Python语言在国产操作系统性能测试中的应用[J].电子产品可靠性与环境试验,2013,S1:164-166.

[4]周汉清,刘畅.软件仿真测试环境实时脚本技术的研究[J].航空标准化与质量,2014,02:36-39.

作者单位

中国航空工业集团公司西安飞行自动控制研究所 陕西省西安市 710065

猜你喜欢
自动化
国内焊接设备市场现状及发展趋势研究
AGV小车在白酒行业自动化立体仓库中的应用
电气工程及其自动化问题与对策
我国机械设计制造及其自动化的现状及发展趋势
浅论节能设计理念在机械制造与自动化中的应用
简析火力发电厂热工自动化仪表应用及故障排除方法
配网自动化实用化模式建设及系统运行
配电室无人职守集控站在京博石化的运用
配电线路运行资料管理自动化的探讨