FWSricpt+BizRunner联想笔记本测试自动化的设计(4)

2相关技术介绍 2.1自动化测试介绍 自动化测试顾名思义就是不需要手工测试干预的情况下可以自动完成的软件测试。测试人员通过使用自动化测试工具集让


2 相关技术介绍

2.1 自动化测试介绍

自动化测试顾名思义就是不需要手工测试干预的情况下可以自动完成的软件测试。测试人员通过使用自动化测试工具集让机器自动执行批量的测试用例,从而完成测试任务。从而达到减少测试时间、降低人力成本、节省硬件资源和提高软件产品的质量的要求。

事实上,自动化测试主要解决人工测试不适用的一些场景。如:有数不胜数的测试用例需要在有限的时间内完成(1天);有许多时间序列、死锁冲突、资源冲突、多线程并发的软件,使用手工测试很难捕捉到Bug;在大量的回归迭代测试场景下,手工测试会耗费大更多的人力成本;系统的负载测试,一个人做手工压力测试去模拟大量的数据和大量的并发显然无法完成,这时就需要进行测试的自动化执行。

近年来,庞大软件架构和复杂的业务逻辑让软件测试的花费的时间和成本得越来越高。一般情况下,在一个大型的软件开发过程中,测试会占用到将近一半的开发时间,而测试中的大部分操作都是回归测试操作。敏捷开发中,一个软件从开发设计到发行使用要通过许多次的回归测试,回归测试主要是不停的反复迭代同一个测试任务,计算机相对于人更适合做这种用重复的工作。与手工测试有所不同,自动化测试是根据测试需求编写相应的测试脚本,然后在测试工具上自动执行。

自动化测试[9]的好处主要体现在下面两处:第一自动化测试能提高测试的效率和降低测试成本。自动化测试不仅适用在软件初次开发阶段,它也擅长对应用软件版本升级阶段的测试。因为软件每发行一个版本,都需要对软件所有的功能进行重新测试一遍,这时使用先前的自动化测试用例,只需要稍微修改一下以前的测试脚本,测试便可以实现重复,并能自动执行测试。第二自动化测试能提升软件测试的可信度。计算机比人有更高的可信度,计算机是不会犯错误的。人在重复做同一件事时,会受到情绪的影响,造成软件测试的Bug可能是人手工操作的失误,而不是软件本身的Bug。与同事手动进行测试比较,使用计算机自动执行的自动化测试具有更高的可信度。此外自动化测试[10]比手工测试还有更多如下优势:

能简短软件开发周期,让产品更推向市场。

能够集中管理测试,智能任务分配。

可以执行一些手工测试无法实现的测试。

更加适合任务繁琐功能验证。

能完全利用硬件资源,减少成本的浪费。

该功能更加全面,能够进行功能、负载和压力测试。

2.2 FWScript

FWScripts(FunWin Scripts Language)是一个以“行”为单位的简单的解释型脚本语言,简称“方文脚本”,主要用于自动化执行。设计宗旨为“针对专业人员,提供最佳的便利化”,使用者必须学习一些与自动化执行相关的知识,利用本脚本语言,将能提升开发自动化运行程序的效率,特别是针对测试用例的自动化执行。

FWScripts为解释型语言,以行为单位进行解释,每一行的第一个非空字符标志着本行所要执行的指令类别,采用不同的符号表达不同的意义。【除宏定义、步骤定义、模块定义以及文件包含引用外,每一行指令前面的空格或制表符均被忽略,因此可以使用缩进编排脚本。】

FWScripts作为自动化执行的脚本语言,最重要的应用场景为测试自动化,因此其支持测试用例相关的概念,如用例TC、步骤Step、执行流Flow及可重复模块Module FWScripts也支持测试用例执行时的要求,如对话框,结果报告等,主要是与BizAT紧密配合。

2.2.1 FWScript 基础语法

FwScript脚本程序由一行一行的代码与注释组成。