如何构建一个QTP测试框架?
2009-04-20 14:18
274 查看
进行软件系统的回归测试,已经有越来越多的组织在使用QTP。 QTP易学、上手快,其提供的帮助也非常详细,这是它的一个巨大优点。然而,众多的帮助或者范例都是基于一个个简单的Demo性质的toy案例,都是对某一个或者几个知识点的解说,缺少系统级别的介绍和说明:针对一个现实中完整的系统,如何组织相关的测试用列?如何设计测试数据?如何产生简洁、明了的测试结果? n呴"+檍
QTP在组织测试逻辑时,自身提供了testcase和action两种结构,这两种结构是包含和被包含的关系:一个testcase可以包括多个action。在action里面,众多的测试点可以按照实际逻辑进行组织。相比 testcase,action才是真正体现测试用例的地方:每个action都有自己对应的object repository;action可以设置为reused,进行复用;每个action都有自己DataSheet;测试用例的相互调用,也是通过 action来进行的... 相比较而言,testcase的概念在QTP中比较“弱”,只是提供一些公共设置的管理,如设置使用到的函数库,错误现场恢复,测试使用的相关参数设置。 浨_舻?f?
根据经验,实际使用中,action跟我们接触的更多。 :a軐莾?时
一、组织测试用例 x詗?M
针对现实中一个完整的测试系统,测试用例到底应该如何组织呢? 恝`獤儞?
1)按照QTP testcase来组织 '鷮僻9D`?
在QTP中建立多个testcase,每个testcase对应实际系统的功能组;在每个QTP testcase中,通过action来组织每个测试用例。比如:现在有个测试用例需要测试Edit菜单下的Find功能。在这个测试用例中,有多个部分要测试:a)Find Next的功能;b)测试CountAll功能;C)测试Help的功能。对于Find Next,对每一种情况,如各个checkbox选中或不选时,又分别进行测试 菰鹠毽餍
![](http://www.rjgc.net/userfiles/w12.jpg)
所以,在这种组织模式下,可以将关于Find Next的测试点归类为一个action,将CountAll的所有测试点归类为另外一个action...... 所以这些action,最后形成一个FindNext testcase。 鲩Kq柴L?
又比如系统中另外一个需要测试的replace window:
![](http://www.rjgc.net/userfiles/w13.jpg)
同样可以在QTP中建立一个Replace的testcase,然后对每个要测试的功能组,建立action,在每个action内部,对各个相关的测试点进行测试。 @?鴒e&嬻
QTP在组织测试逻辑时,自身提供了testcase和action两种结构,这两种结构是包含和被包含的关系:一个testcase可以包括多个action。在action里面,众多的测试点可以按照实际逻辑进行组织。相比 testcase,action才是真正体现测试用例的地方:每个action都有自己对应的object repository;action可以设置为reused,进行复用;每个action都有自己DataSheet;测试用例的相互调用,也是通过 action来进行的... 相比较而言,testcase的概念在QTP中比较“弱”,只是提供一些公共设置的管理,如设置使用到的函数库,错误现场恢复,测试使用的相关参数设置。 浨_舻?f?
根据经验,实际使用中,action跟我们接触的更多。 :a軐莾?时
一、组织测试用例 x詗?M
针对现实中一个完整的测试系统,测试用例到底应该如何组织呢? 恝`獤儞?
1)按照QTP testcase来组织 '鷮僻9D`?
在QTP中建立多个testcase,每个testcase对应实际系统的功能组;在每个QTP testcase中,通过action来组织每个测试用例。比如:现在有个测试用例需要测试Edit菜单下的Find功能。在这个测试用例中,有多个部分要测试:a)Find Next的功能;b)测试CountAll功能;C)测试Help的功能。对于Find Next,对每一种情况,如各个checkbox选中或不选时,又分别进行测试 菰鹠毽餍
![](http://www.rjgc.net/userfiles/w12.jpg)
所以,在这种组织模式下,可以将关于Find Next的测试点归类为一个action,将CountAll的所有测试点归类为另外一个action...... 所以这些action,最后形成一个FindNext testcase。 鲩Kq柴L?
又比如系统中另外一个需要测试的replace window:
![](http://www.rjgc.net/userfiles/w13.jpg)
同样可以在QTP中建立一个Replace的testcase,然后对每个要测试的功能组,建立action,在每个action内部,对各个相关的测试点进行测试。 @?鴒e&嬻
相关文章推荐
- [qtp]如何构建一个QTP测试框架
- 在大型Flex项目中如何构建高效的QTP测试框架
- 构建 QC + QTP 自动化测试框架 3: QTP 如何读写文本文件和Excel以及操作数据库
- 理解Web框架,和如何构建一个CSS框架
- 构建 QC + QTP 自动化测试框架 4: 实施手册
- 如何构建一个类似于安卓QQ的页面框架(低耦合)
- 一个通用的单元测试框架的思考和设计07-实现篇-自动管理测试数据-如何为自增长主键id赋值
- 如何利用动态代理技术构建一个通用的,获取代理类的简单框架?
- 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架
- 构建 QC + QTP 自动化测试框架 5: 编写高质量的脚本
- 构建 QC + QTP 自动化测试框架 1:什么是自动化测试框架
- 使用CPPUNIT如何建立一个基于MFC的GUI测试框架
- 如何构建一个ERP系统(需求分析、系统架构、系统设计、系统编码、测试、交付程序及文文件)。
- 如何构建一个优秀的开发框架
- 一个通用的单元测试框架的思考和设计06-实现篇-自动管理测试数据-如何临时关闭数据外键约束
- 如何利用VC++构建一个游戏框架
- [转]使用CPPUNIT如何建立一个基于MFC的GUI测试框架
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
- 实践操作:六步教你如何用开源框架Tensorflow对象检测API构建一个玩具检测器
- 一个通用的单元测试框架的思考和设计06-实现篇-自动管理测试数据-如何临时关闭数据外键约束