|
本帖最后由 hsjzfling 于 2011-7-25 20:16 编辑
QTP 自动化测试框架剖析
前言:本文旨在阐述QTP自动化测试框架特性及何从选择,而不会介绍具体如何去编写自动化测试框架,只想索取代码的朋友可以略过本文。
这几年的QTP自动化测试生涯中,它山之石也采了不少,从早期的saffron到目前的hybrid关键字驱动框架,每个框架都或多或少有些可取的地方,也为自己设计各框架提供了不少思想的源泉,在剖析各种不同类型不同风格的框架之前,我想先问2个问题:
1. 我们为什么要用自动化测试?
2. 我们为什么要用自动化测试框架?
大家不妨先仔细思考下这两个问题,再继续看下文。
一个完整的框架需要包含些什么要素呢,我们可以看看QC+QTP这套原版框架提供了些什么功能。主要功能:
1. QC的Test Plan可以存放、管理QTP脚本、函数、数据等
2. Test Lab中可以计划-批量-分布式执行用例集
3. 通过QC来执行QTP脚本呢默认还会将On Error 设置为Next Step
4. 执行完了以后呢可以在Test Lab中查看各执行结果,同时也可以查看以往的历史结果
可选功能:
1. QTP自身提供了DataTable以供数据驱动使用
2. QTP提供了多种检查点
3. Action提供了公用模块的思想
4. 供业务专家使用的关键字视图
5. QC提供了BPT
6. 提交defect功能
7. QC中可以自动发送执行状态邮件
8. QC中可以设置执行状态参数
……
这里只是列举出一部分,但由此也可以看到,一套完整的框架需要能管理脚本,可以方便的执行,有错误处理机制,能生成报告,当然环境初始化也是必须的。我们通常讨论的框架大多是脱离QC的,因而这些功能都必须要依靠自己的代码来实现,而框架的扩展功能就可以参考可选功能中的点了。值得一提的是,框架中的东西是要能够几乎全部复用的,而不是换个项目框架就不灵了。这点其实不过分,饱受歧视的QC+QTP框架都能够满足这一点。
现在应该对框架有点初步了解了吧,不是什么玄乎的东西,只是由一个个大大小小的功能组合而成,评价一个框架好不好,就可以从这些点上一个个去考量,看看有哪些功能,是否好用。
再看看大家争论颇多的几个要点: |
|