基于界面的软件自动化测试经历了4个发展阶段。
(1).无框架阶段(即简单的录制/回放)
在早期,自动化测试并没有框架这一说,自动化测试只是简单的录制/回放,由工具录制并记录操作的过程或数据,并形成脚本。通过对脚本的回放重复人工操作的过程。
这种模式脚本与数据混合在一起。站在软件开发的角度来看,这种开发耦合度高,我们知道软件工程的思想,是高内聚低耦合。而简单的录制回放完全违背了这一思想,简单的录制回放,重用性非常低,同时维护成本非常高。
(2).数据驱动框架阶段
无框架阶段最大的缺点就是脚本与数据混合在一起。为了解决这一问题,自动化测试框架发展到了数据驱动框架阶段。该框架从数据文件中读取数据,通过参数化的方式将数据文件中读取数据写入到脚本中(好比从数据库中读数据),由于不同的数据对应着不同的测试用例,将脚本与数据彻底地分离,因此提高了脚本的使用率,大大降低了脚本的维护成本。
虽然数据驱动框架解决了脚本与数据的问题,但并没有将被测试对象与操作分离。
(3).关键字驱动框架阶段
关键字驱动框架是在数据驱动框架的基础上改进的一种框架模型。它将测试逻辑按照关键字进行分解,形成数据文件与关键字对应封装的业务逻辑。主要关键字包括3类:被测试对象(Item)、操作(Operation)和值(Value).用面向对形式将其表现为
Item.Operation(Value)。关键字驱动的主要思想是:
脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离
最初用QTP就是
简单的录制,然后修改脚本,缺点如下:
- 1. 应用软件必须具备一定的稳定性,并且在整个业务流程上都必须完整的实现了,否则顺序录制整能实现?
- 2. 自动化脚本的维护性成本非常的高
- 3. 自动化脚本的可重用性比较差
随之出现了关键字驱动的概念,一切都以对象为出发点,这有点像编程语言中从过程化向面向对象转化,在QTP中的具体实现方法是:
- 1. 在单个程序界面上将测试所涉及到的对象手工添加到对象库中
- 2. 在专家视图中基于对象库中的对象编写自动化测试脚本
以上这样做的明显的优点在于:
- 1. 脚本的可控性非常的强,模块化组织也比较好
- 2. 可以在开发完全实现所有的业务流程功能前就建立测试脚本,占据了比较大的主动性,为时间上的安排提供了更大的空间,一个词概括:“测试先行”
(4).混合模型框架阶段
关键字驱动框架将自动化测试框架带入了一个新的阶段,自动化测试工具QuickTest也很好地使用了该理念,但在实际开展自动化测试的时候,发现测试工具所带来的关键字驱动框架还是无法很好地完成测试任务。该框架虽然将数据与脚本进行了分离,但是如果要更灵活地调用测试用例中的数据或输出测试结果,该框架无法做到;并且如果需要读取其他文件存储格式中的数据时也无法很好地解决。因此,在自动化测试开始的前期,工程师会开发一个符合实际测试的框架来支持后期的测试工作,这就是通常所说的混合模型自动化测试框架。
参考资料:黄文高的 《QTP自动化测试与框架模型设计》
转自:
http://www.cnblogs.com/jasonteststudy/archive/2011/08/01/2123450.html
关于数据驱动和关键字驱动
分享到:
相关推荐
自动化测试框架是软件开发过程中的重要工具,它能够提高测试效率,减少手动测试的工作量,保证软件质量。本文将深入探讨“一个很详细,实用的自动化测试框架应用”这一主题,主要关注其在实际工作中的应用和优势。 ...
它基于关键字驱动测试理念,提供了直观的用户界面和丰富的测试脚本语言,使得非程序员也能进行自动化测试。 QTP自动化测试框架的核心特点包括: 1. **智能对象识别**:QTP能够自动识别和跟踪应用程序中的各种对象...
- **关键字驱动测试&数据驱动测试**:实现基于关键字或数据的自动化测试。 - **Recovery Scenarios的定义与恢复**:定义故障恢复场景并在测试失败时恢复。 - **描述性编程**:使用描述性编程提高脚本的健壮性。 - **...
QTP采用关键字驱动的测试概念,简化了测试创建和维护,测试人员可以直接从应用程序界面录制流程来构建测试用例。 QTP的基本结构以Test为测试运行单位,每个Test由多个Action组成。Action是最小的可映射对象库单位,...
在测试自动化过程中,脚本模块化框架、测试库架构框架以及关键字驱动或表驱动测试框架是三种基本的测试框架类型。 1. 测试脚本模块化框架(Test Script Modularity Framework): 这种框架将测试对象拆分为多个相互...
QTP自动化测试框架中包含了一系列的功能,如检查点、参数化、数据驱动测试、关键字驱动测试等,这些都是实现高效、稳定、可重复测试的关键技术。 综上所述,QTP作为一款成熟的自动化测试工具,在软件测试行业内有着...
- **关键字驱动测试**:这是一种测试框架,允许非技术人员通过简单的表格形式定义测试步骤,降低了自动化测试的技术门槛。 - **数据驱动测试**:通过外部数据源(如Excel表)为测试提供动态输入,使测试更加灵活多样...
- **录制测试脚本**: 用户可以通过QTP录制其与应用程序交互的过程,形成自动化测试脚本。此过程中,QTP会记录下用户的每一步操作,并转换为可执行的脚本代码。 - **执行与分析**: 脚本录制完成后,用户可以在QTP中...
- QTP是一款基于关键字驱动的测试工具,它通过录制、回放和脚本编辑来实现自动化测试。 - QTP的核心组件包括Test、Action、Object Repository、Data Table等,理解这些概念对于学习QTP至关重要。 2. **对象识别与...
它基于关键字驱动的测试理念,提供了一种图形用户界面,使非编程背景的测试人员也能进行自动化测试。在深入学习QTP之前,首先理解其基本概念至关重要。 QTP的关键特性包括: 1. **对象识别**:QTP通过其智能识别...
综上所述,QTP8.0用户指南涵盖了自动化测试的基础知识,包括对象库、录制与回放、脚本编辑、测试数据管理、错误处理以及高级特性。这份指南对于想要入门QTP的新手来说,无疑是一份宝贵的资源,通过学习和实践,可以...
- **关键字驱动测试**:使用关键字驱动框架,使测试脚本更加灵活可维护。 - **自定义函数库**:创建自定义函数库,封装常用功能,减少重复编码的工作量。 #### 四、QTP与其他工具的集成 - **与.NET的集成**:QTP...
HP QuickTest Professional(QTP)是一款由惠普公司开发的功能强大的自动化测试工具,主要用于进行软件应用程序的功能和回归测试。QTP 10.00版本是该系列中的一个重要版本,提供了更加完善的测试框架和支持更多的...
**QTP**, 即 **QuickTest Professional**,是一款强大的自动化测试工具,主要用于功能性和回归性测试,支持多种环境下的应用程序测试,包括Web、Windows桌面应用程序等。通过录制用户交互过程自动生成测试脚本,然后...
Robot Framework是一个基于Python的开源测试自动化框架,采用关键字驱动的方式,易于扩展,适用于多种类型的测试,包括Web、移动应用和API测试。Robot Framework的灵活性和易读性使其在自动化测试领域受到欢迎,但它...
作者Kanakarajan Kandasamy在本书中不仅分享了他在QTP领域的专业知识,还介绍了如何将QTP作为一种开发工具而非简单的测试工具来使用,从而帮助读者建立更高效的自动化框架。 QuickTest Professional(QTP),现在...