结构化脚本的优点:
1. 结构化脚本健壮性更好,对一些容易导致测试失败的特殊情况和测试中出现的异常情况可以进行相应的处理。
2. 结构化脚本可以像函数一样作为模块被其他脚本调用或使用。
3. 结构化脚本可以提高脚本的重用性和灵活性,使得代码易于维护,可以更好的支持自动化测试。
结构化脚本的缺点:
1. 脚本变得非常复杂,在一定程度上增加了另外的维护工作量。
2. 脚本还是在录/播的基础上实现的,因此脚本内仍然捆绑着测试的数据和逻辑,即键盘、鼠标动作表示的输入被固化在脚本中,测试修改和定制非常复杂困难。
三、共享脚本
共享脚本意味着脚本可以被多个测试事例使用,即脚本语言允许一个脚本被另一个脚本调用,这样可以节省生成脚本的时间。当重复任务发生变化时,只需修改一个脚本。共享脚本可以是在不同主机、不同系统之间共享脚本,也可以是在同一主机、同一系统之间共享脚本。此脚本开发的思路是产生一个执行某种任务的脚本,而不同的测试要重复这个任务,当要执行这个任务时只要在适当的地方调用这个脚本便可以了。
共享脚本的优点:
1. 共享脚本使得实现类似的测试花费的开销较少。
2. 共享脚本的维护开销低于线性和结构化脚本。
3. 共享脚本中删除明显的重复代码,这样代码更加简洁易懂。
4. 可以在共享脚本中增加更智能的功能,如认为的等待一定时间再次运行某个功能。
共享脚本的缺点:
1. 需要跟踪更多的脚本、文档、名字以及存储。如果管理不好,很难找出适合的脚本。
2. 对于每个测试用例仍需一个特定的测试脚本,因此维护成本比较高。
3. 共享脚本通常是针对测试软件的某一部分,不能实现真正意义上的共享。
共享脚本的编写需要更高的编程技能,提高了对测试工程师的要求数据驱动脚本是当前广泛应用的自动化测试脚本技术,它是将测试输入数据存储在数据文件里,而不是继续放在脚本本身里面。脚本里只存放控制信息,执行测试时,从文件中而不是从脚本中读取数据输入,从而使得同一个脚本可以执行不同的测试,实现了数据与脚本的分离,但测试逻辑依然与脚本捆绑在一起。
四、数据驱动脚本
数据驱动脚本的优点:
1. 在数据驱动脚本的层次上,自动化测试可以真正从中获益,可以以较小的额外开销实现很多测试事例的自动化,不需要编写更多的脚本。
2. 在数据驱动脚本中,数据文件的格式对于测试者而言非常易于处理,甚至可以在数据配置文件里添加很多方便维护的注释来增加数据的可理解性。
3. 数据驱动脚本技术使得测试工程师可以将更多的时间和精力放在自动化测试和维护测试上。