脚本技术

更新时间:2023-01-08 11:37

脚本是一组测试工具执行的指令集合,也是计算机程序的另一种表现形式。

简介

脚本是一组测试工具执行的指令集合,也是计算机程序的另一种表现形式。脚本语言至少有如下3项功能:

(1)支持多种常用的变量数据类型

(2)支持各种条件、循环等逻辑。

(3)支持函数的创建和调用。’

脚本有两类。一种是手动编写或嵌入源代码;一种是通过测试工具提供的录制功能,运行程序自动录制生成脚本。录制生成脚本简单且智能化,容易操作,但仅靠自动录制脚本,无法满足用户的复杂要求。通常需要手工添加设置,增强脚本的实用性。

手工编写脚本具有如下优点:

(1)可读性好,流程清晰,检查点截取含义明确。

业务级的代码比协议级的代码容易理解。也更易于维护.而录制生成的代码维护性较差。

(2)手写脚本比录制脚本更能真实地模拟应用。

录制脚本截获了网络包,生成协议的代码,却忽略了客户端的处理逻辑,不能真实模拟应用程序的运行。

(3)手写脚本比录制脚本更能提高测试人员的技术水平。

测试工具提供如Java、VB、C等高级程序设计语言的脚本,允许用户根据不同的测试要求定义开发各种语言类型的测试脚本。

总之.使用哪种方式生成脚本,应以脚本模拟程序的真实有效为准。例如。有些程序只需要执行迭代多次操作.没有特殊要求,选择自动生成的脚本就可以。但有些程序需要参数设置,则应使用手工脚本。

脚本分类

脚本可以分为线性脚本、结构化脚本、数据驱动脚本和关键字驱动脚本。

线性脚本

线性脚本是最简单的脚本,如同流水账那样描述测试过程,一般由自动录制得来,即录制手工执行的测试用例得到的线性脚本,包含用户键盘和鼠标输入,检查某个窗口是否弹出等操作。

线性脚本具有以下优点:

1、不需要深入的工作或计划,对实际执行操作可以审计跟踪;

2、线性脚本适用于演示、培训I或执行较少且环境变化小的测试、数据转换的操作功能;

3、用户不必是编程人员。

但是,线性脚本具有以下缺点:

1、过程烦琐,过多依赖于每次捕获的内容。测试数据“捆绑”在脚本中。

2、不能共享或重用脚本,容易受软件变化的影响。

3、修改代价大,维护成本高,容易受意外事件的影响。

结构化脚本

结构化脚本是对线性脚本的加工,类似于结构化程序设计,是脚本优化的必然途径之一。结构化脚本包含脚本执行指令,具有顺序、循环和分支等结构,而且具有函数调用功能。

结构化脚本的优点是灵活性好、健壮性好,易于维护,而且通过循环和调用可以减少工作量。但是,结构化脚本较复杂,而且测试数据仍然与脚本“捆绑”在一起。

数据驱动脚本

数据驱动脚本可以进一步提高脚本的编写效率,它将测试输入到独立的数据文件(数据库)中,而不是绑定在脚本中。执行时,是从数据文件中读数据,使得同一个脚本执行不同的测试,只需对数据进行修改,不必修改执行脚本。通过一个测试脚本指定不同的测试数据文件。实现较多的测试用例。

数据驱动脚本具有以下优点:

1、快速增加类似的测试用例;

2、新增加的测试也不必掌握工具脚本技术;

3、对后续类似的测试无需额外维护,有利于测试脚本和输入数据分离;

4、减少编程和维护的工作量.有利于测试用例的扩充和完善。

但是,数据驱动脚本的初始建立开销较大,需要专业人员的支持。

关键字驱动脚本

关键字驱动脚本是比较复杂的数据驱动技术的逻辑扩展,封装了各种基本操作,每个操作由相应的函数实现,开发脚本时不需要关心这些基础函数,而用一系列关键字指定执行的任务。关键字驱动技术假设测试者具有被测试系统方面的知识和技术,不必告知如何进行详细动作。以及测试用例如何执行,只说明测试用例即可。关键字驱动脚本多使用说明性方法和描述性方法。

大多数测试工具都支持数据驱动脚本和关键字驱动脚本。在脚本开发中,常常几种脚本结合起来应用。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}