QTP面向对象开发思想

——对动态可继承对象的动态操作
 
曾经测试过这样的产品,所有、或者大部分功能模块中,都包含一些同特性的子功能,其在功能及页面上存在大量继承关系。以至于这些对应子功能的操作使用逻辑相同、页面控件属性相同。
这些特点描述的种种,预示着测试代码在结构上可以使用面向对象程序开发思想。
 
一个通俗的举例:
记得我们大多数测试软件中,功能页面的“帮助”功能么!
通常,在重点功能模块中,都会包含一个“帮助”按钮。我们一起分析一下。
 
1.        所有的“帮助”按钮触发后都会调用同一篇“文档”。
2.        所有的“帮助”按钮的某些属性一致,如 text 属性都是“帮助”。
3.        所有的“帮助”功能的测试逻辑都是一样的,只是测试内容不同。
 
好的,我们可以这样理解, 1 2 3 可以作为属性来描述这个功能测试的类。每个类的
实例化对象——“各个功能模块中的帮助按钮的测试方法” ,都会继承 1 2 3 的特点。
 
设计测试方法:
1.        click “帮助”按钮。
2.        判断是否弹出帮助文档
3.        在被测试模块的页面上获取功能名称作为帮助链接内容的预期检查结果。
4.        通过预期检查结果判断在帮助文档的当前实际显示结果是否正确。
 
到这里我们完成了一类的功能的测试方法的设计,或者我们可以叫它测试组件。
可以根据此,来完成所有可继承的测试方法。
 
通常做到这里,会遇到一个严重的问题,可继承测试方法的丰富,也可以说是复杂,让测试开发团队之间的推广形成一定的障碍。
我是这样解决的   ——
再编写一个测试驱动函数,用来判断页面中的属性内容,自动的判断需要调用哪写测试方法进行测试。就不需要测试开发人员去了解现在复杂的测试方法了。

比如,当测试逻辑层代码选中了某个功能,则我们的测试驱动函数通过描述对象编程,会判断这个功能页面是否包含“帮助”按钮,从而判断出是否调用我们之前设计的测试方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值