3、测试库构架框架(The Test Library Architecture Framework)
说明:
●箭头方向代表的是被调用和调用关系
●将所有的针对测试系统本身的控件识别和控件支持的操作封装在测试库中
●测试脚本调用测试库的同时传递外部的测试数据
●测试库的编写由自动化测试开发工程编写(可以不懂业务),负责控件的变更和维护
●测试脚本的编写可由对业务比较掌握的自动化测试开发工程编写,负责业务逻辑的变更和维护
●测试数据由测试工程师维护(可以不懂自动化开发)
优点:
●被测试系统无论是哪层发生变化,只需要相应的人员进行变更维护即可
●完成了控件识别操作和业务逻辑的抽象分离
缺点:
变更引起的工作量还是附加在自动化测试开发工程师身上
4、关键字驱动或表驱动测试框架(The Keyword-Driven or Table-Driven Testing Framework)
说明:
●说到关键字驱动,当然得说QTP。确实当对象库(很类似测试库架构中的测试库)添加完成后,测试case步骤的组织就相当于是在关键字试图中选择控件对象(Control),动作(Action),参数(Parameters)。
●仔细想想,当QTP在完成对被测试程序的录制后,完成了对象库的记录,关键字驱动测试case的步骤设置,如果再在table中存放一些测试数据,在测试步骤中进行调用的话,似乎以上三种架构所涉及的内容都得到了很好的运用,但再仔细一想,就QTP录制的测试程序来讲,其实什么架构都没有做,因为录制下来的脚本的维护成本是非常高昂的,因为从测试数据的维护,对象库的维护,业务逻辑的维护等等都必须要求维护者懂的QTP的使用,而且是具备一定水平的。这违背了架构的本身理念。所以得基于QTP做更上层次的对象抽象,最终QTP仅仅是个识别对象和运行VBScript脚本的工具,这一层次的架构设计就体现在VBScript的脚本组织上了。