一、线性脚本
线性脚本的优点:
1. 线性脚本不需要深入的工作或计划,只需坐在计算机前利用自动化测试工具录制手工测试任务即可。
2. 线性脚本可以快速开始自动化,测试工程师只需理解测试流程即可开展自动化测试工作,同时也是树立测试工程师开始对自动化感兴趣最快速的方法和技术。
3. 线性脚本对实际执行操作可以进行审计跟踪。
4. 使用线性脚本技术,用户不必是编程人员(假设不需修改脚本,用户不必关心脚本本身)。
5. 线性脚本提供良好的演示效果。
线性脚本的缺点:
1. 过程繁琐:产生可行的自动化测试(包括比较)的时间比运行手工测试要长2到10倍。
2. 一切都依赖于每次测试所捕获的内容。
3. 测试输入和比较,以及测试的数据和业务都是‘捆绑’在脚本中的,不便于修改测试数据和测试步骤。
4. 脚本不能共享和重用。
5. 由于线性脚本要求测试的对象相对比较的固定,因此容易受软件变化的影响。
6. 线性脚本修改代价大(维护成本高)。
7. 如果回放脚本时发生了录制脚本时没有发生的事情,如来自网络的意外错误消息,脚本很容易与被测试软件发生冲突,引起整个测试失败。
线性脚本的适用范围:
1. 当测试事例只使用一次时,则无需对将要丢弃的脚本花费太多的功夫,线性脚本便非常方便使用。
2. 线性脚本适合在做培训或演示时,可以回放录制好的脚本来代替击键动作。
3. 线性脚本可以用于转换。如系统的某一部分发生变化,但从用户的角度不能影响系统的工作,可以录制有用数据,替换软件或硬件,然后回放录制过程可以使新系统恢复到初始状态。
4. 线性脚本可以用自动编辑来修改自动测试,任何特定的修改只做一次,因此一次性的脚本足以满足需求。
5. 线性脚本可用于设置和清除测试,通过回放输入序列操作文件或数据库进行相应的记录的设置和清除。
二、结构化脚本
目前所有测试脚本支持三种基本控制结构如下:
顺序结构(即前面的线性脚本,依次执行每行的指令)。
选择结构:使脚本具有判断功能,即加入类似“if,switch”类型的语句来使脚本的执行具有跳跃能力,按照判断条件执行相关的指令。
叠代/循环结构:可以根据需要重复执行一个或多个指令序列如加入像“for,while”等语句。
结构化脚本类似于结构化程序设计,脚本中含有控制脚本执行的指令,这些指令或为控制结构或为调用结构。结构化脚本可以进行嵌套调用另一个脚本,执行完后在返回到当前脚本。