软件测试自动化框架简介
所谓自动化测试框架,是由一些假设,概念和为自动化测试提供支持的实践组成的集合。接下来将描述一下几种比较常用的自动化测试框架:
1.录制/回放的神话
每一家自动化测试工具厂商都会宣传,他们的工具非常容易使用,没有技术背景的测试人员只要简单录制测试的操作过程,然后播放录制好的测试脚本,就可以轻松自动化所有的测试。这样的说法是非常不负责的。
现在我们来分析一下自动化测试不能单单只依靠录制/回放来完成的原因。
通过录制建立的脚本,基本上都是用脚本语言以硬编码的方式编写的,当应用程序变动时,这些硬编码也随之需要更改。因此,维护这些录制好的脚本,成本是非常高的,高到几乎不能接受。
所有的测试脚本都必须是在应用程序可以正确执行时才能录制,如果在录制过程中发现缺陷.测试人员必须向缺陷管理机制报告,等到该缺陷修正了,整个录制脚本的动作才能继续下去。在这样的情况下,如果仅仅依靠录制脚本来进行测试,效率是十分低下的。
同时,这些录制好的脚本不是非常可靠,甚至在应用程序完全没有变动的情况下直接播放,也可能因为一些意外状况而无法执行。如果录制脚本时测试人员使用了错误的脚本语言,则脚本就必须重新录制。
综上所述,通过录制的方式来建立自动化测试脚本的方式看似容易,但实际上会遇到下列问题:①测试人员大多不具备技术背景,难以完全掌握测试工具;②应用程序必须达到一定的稳定性,才能开始录制测试脚本;③录制的测试脚本与测试数据耦合得太紧密;④维护自动化测试脚本的成本非常高。
因此,仅仅依靠录制/回放来完成自动化测试是远远不够的,我们应找到一种能解决上述问题并能很好地执行自动化测试的方法。
2.数据驱动的自动化测试框架
数据驱动的自动化测试是针对上述开发与测试之间紧密耦合问题提出的测试方法。通过建立测试与开发定义的软件元数据的关联——元数据映射表,在测试与开发之间建立松耦合关系。不论测试人员修改测试脚本,还是开发人员修改软件,只需要修改元数据映射表,既可以满足测试与开发同步进行。这样,可以减少测试脚本调试的工作量,更好的实现自动化测试。
●什么是数据驱动的自动化测试框架
数据驱动的自动化测试框架是这样的一个框架,从某个数据文件(例如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入、输出的测试数据,然后通过变量传入事先录制好的或手工编写的测试脚本中。其中,这些变量被用作传递(输入/输出)用来验证应用程序的测试数据。在这个过程中,数据文件的读取、测试状态和所有测试信息都被编写进测试脚本里;测试数据只包含在数据文件中,而不是脚本里,测试脚本只是一个“驱动”,或者说是一个传送数据的机制。
●数据驱动脚本
数据驱动脚本就是那些和应用程序相关联的脚本。这些脚本通过录制或手工编写写进自动化工具私有的语言,然后对其中的变量赋予合适的数值,作为测试数据的输入。这些变量作为一些关键应用程序输入的媒介,使脚本能通过外部的数据来驱动应用程序。
1) 可变数据,硬编码组件标志
这些数据驱动的脚本经常包含硬编码的数据,有时是一些窗口组件中非常脆弱的识别字符串。出现这种情况时,脚本很容易由于程序的更改而失去作用。
2) 高度技术化的、重复的测试设计
数据驱动脚本的另一个共同特点就是,所有在测试设计上所作的努力最终都体现在自动化工具的脚本语言中,或者复制到手工和自动化测试脚本中。这意味着每个和自动化测试开发或执行有关的人必须对测试环境和自动化工具的编程语言非常精通。
●优点与缺点
1) 优点: ①在应用程序开发的同时就可以同步建立测试脚本,而且当应用功能变动时,只需要修改业务功能部分的脚本;②利用模型化的设计,避免重复的脚本,减少建立或维护脚本的成本;③测试输入数据,验证数据和预期的测试结果与脚本分开,存放在另外的数据文件里,利于测试人员修改和维护;④透过判断功能回传值是“True”或“False”,可作错误处理,增加了测试脚本的健壮性;⑤自动化测试开发人员创建数据驱动的测试过程,测试员创建测试数据;⑥在测试的过程中收集测试结果,并在输入数据的语境中表示测试结果,这样可以简化手工结果分析。
2) 缺点: ①对自动化测试工具里的脚本语言必须非常精通;②每个脚本都会对应多个数据文件,这些数据文件需要根据脚本的功能类别存放在各自的目录中,增加了使用的复杂性;③测试人员除了需要根据具体测试数据维护相应的测试计划,还要将这些数据写入各个需求不同的数
- 软件测试术语整理(08-07)
- 基于软件测试技术的FPGA测试研究(07-16)
- alpha测试和beta测试(07-01)
- 黑盒测试方法揭密(01-14)
- 完整黑盒测试的五个阶段与操作步骤(01-20)
- LM-STAR 基于NI 软件测试系统节省百万成本(02-27)