自动化测试基本策略(4)

发表于:2015-02-10来源:uml.org.cn作者:lusmilings点击数: 标签:自动化测试
自动化测试架构设计的时候的一些基本的策略: 1、 自动化测试脚本与自动化测试架构的代码分离,自动化测试架构的代码实现自动化测试的基本功能,自

  自动化测试架构设计的时候的一些基本的策略:

  1、 自动化测试脚本与自动化测试架构的代码分离,自动化测试架构的代码实现自动化测试的基本功能,自动化测试脚本包含业务逻辑。

  2、 设计清晰的脚本和配置文件的存放目录。

  3、 数据驱动

  1) 测试系统相关的配置、模拟器的配置等系统级的配置用系统级配置文件存放,不要把这些值写死在脚本或代码中,否则当测试系统的环境变化的时候相应的维护成本也会很高。

  2) 测试系统所使用到的一些规范定义取值,定义在配置文件中,在脚本中需要使用的时候引用变量定义,这样即使规范定义改变了也不需要修改脚本,只要简单的修改配置文件即可;如果外部规范定义和内部的定义取值不一样,最好有对应的mapping定义表。

  3) 测试数据的数据模型如果比较复杂,最好也在配置文件中对数据模型以及字段的取值进行定义,方便在脚本中创建数据时使用。

  4) 协议或Schema或话单的格式,在配置文件中定义,当协议的格式改动的时候,只需要修改配置文件即可。

  5) 脚本中尽量少用常量,输入参数、脚本运行时提取的值、测试结果的对比等,都可以使用变量,避免脚本的常量写死后引起的维护工作。

  4、 测试数据准备

  1) 测试数据准备,有两种类型,一类是脚本运行前事先可以准备好的数据,这种类型的数据,可以在自动化测试前自动创建好并保存到文件中提供给测试脚本使用;另一类是脚本运行时要创建的特殊数据,这些数据可以在脚本运行的过程中调用基础脚本进行创建。

  2) 公用的数据,如果在脚本运行的过程中被修改,在该脚本运行结束后需要恢复到原样,避免因为公用数据的修改引起其它脚本运行失败。

  5、 模块化:对基础脚本进行封装,一些可以公用的脚本单独封装给其余的测试脚本调用,当公用的业务逻辑改变的时候,只需要修改基础脚本,而不需要对所有的测试脚本进行改动。

  6、 提供自动化脚本编写模版,新写的脚本只需要在模版的基础上做很小的改动就可以实现功能,可以节省脚本编写的时间和降低脚本编写的门槛。

  3.4 自动化测试脚本编写

  自动化测试脚本的编写功力很重要,写得好的脚本,可以减少维护的工作量。自动化测试脚本一般由测试的输入、业务逻辑、测试输出和测试结果验证几部分组成。自动化脚本的编写,要注意全局的把握和review,不同的人会有不同的风格,稍不注意就会问题多多。在自动化脚本编写前,给相关同事提供技术和架构的培训培训的内容包括被测试系统的基本功能介绍、自动化测试工具的架构、自动化测试的配置说明、自动化测试的编写原则、自动化脚本编写示例等。自动化测试脚本的例子也很重要,建议在脚本编写前对系统准备实现自动化测试的功能进行分类,由资深的自动化测试工程师根据每个分类都先写一个例子并且review通过后作为这些功能的自动化测试脚本的编写模板,其余的同事可以参照例子按照自动测试架构编写规范写脚本。

  编写脚本时应该注意脚本的可重用性和可维护性,如果脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。

  在编写脚本的时候必然会遇到技术问题或业务问题,需要有资深的工程师或TL协助解决,并且在整体的架构上全局把握。脚本编写完成后,需要有一个抽查Review的过程,挑几个典型的脚本review一下,看看是否存在不足的地方,然后改进。

  3.5 自动化测试脚本测试

  当每一个测试用例所形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。而如果只是一个个执行测试用例,也仅能被称作是半自动化测试,这会极大的影响自动化测试的效率,甚至不能满足夜间自动执行的特殊要求。

  自动化测试脚本最基本的原则是测试结果可信,也就是在批处理运行这些脚本的时候,该测试通过的就测试通过,该测试失败的就测试失败,如果出现本应该失败的脚本在运行的时候通过了或本应该通过的脚本在运行时失败了,测试结果就变得不可信了,自动化测试也就失去它本应该有的意义。

原文转自:http://www.uml.org.cn/Test/201005042.asp