测试自动化实现的两个难点-功能分解和对象识别

原创 2007年09月15日 23:44:00
 
1.优点
1)模块化的设计,避免了重复的脚本,减少建立和维护脚本的成本
2)在应用软件开发的同时,就可以同步进行脚本建立的动作,而且当软件功能变动时,只需要修改业务功能脚本
3)由于应用软件的功能被分解成独立的业务功能脚本,测试人员可以随意组合业务功能脚本成为更复杂多样的测试个案
4)测试输入数据和验证数据与脚本分开,存储在另外的文件中,如纯文字文件或EXCEL文件,测试人员可以更容易的修改和维护
5)通过判断Action回传值是True或False,可以做错误处理,让脚本更有弹性
 
2.缺点
1)在编写业务功能脚本时,需要精通测试工具脚本语言的工程师
2)每个Action都有自己的输入输出参数,需要用文档统一维护,控制变更
3)测试人员除了要维护测试计划之外,还要另外维护数据文件
4)对测试工具及脚本来说,使用数据文件可能也要注意数据文件的格式
 
3.测试自动化实现的两个技术难点
设计 – 功能分解
实现 – 对象的识别
 
1)测试自动化实现的两个难点 – 功能分解
- 业务功能分解的原则和方法
- 清晰画出业务流程图
- 根据业务流程分解业务功能,可以被复用的功能也要被分解出来
- 按照路径覆盖的思想,组织测试用例
 
2)测试自动化实现的两个难点 – 对象的识别
对比静态Web对象的识别
序号
Web对象
推荐识别属性
方法
1
Browser
creationTime
 
2
Page
index
 
3
Frame
name
 
4
WebTable
name
 
5
WebEdit
name
Set
6
WebButton
text
Click
7
WebList
name
Select
8
Link
text
Click
9
Image
name
 
10
WebCheckBox
name
 
11
WebRadioGroup
name
 
12
WebElement
innertext/html tag
 
13
Dialog
text
 
14
WinButton
text
 
 
示例:
A.静态Web对象的识别
Browser(“CreationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “200”
在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据200
Browser(“CreationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click
在第二个被创建的IE窗口,查找按钮,该按钮上显示的文字是保存,点击该按钮
B.动态Web对象的识别
GetToProperty、GetRoProperty、GetRoProPerties
假设在对象库中有一个对象”窗口A”,用于识别对象的属性有两个
一个属性是”text”,在库中记录的值是”AAAA”
一个属性是”name”,库中记录的值是”BBBB”
在实际运行脚本时,属性”text”的值是”CCCC”而不是”AAAA”
那么:
Window(“窗口A”).GetToProperty(“text”)的返回值是”AAAA”
Window(“窗口A”).GetRoProperty(“text”)的返回值是”CCCC”
Window(“窗口A”).GetToProperties的返回值是用于识别”窗口A”的两个属性和值的集合
 

自动化测试_对象无法识别的终极必杀技

原始需求: 做自动化测试的时候经常会遇到对象无法识别,但是又一定需要从界面上看出是啥情况,才能根据不同做出下一步。   尝试一:悲催的OCR 最初想着能不能直接拷屏,然后从拷屏的结果图片中读出...
  • Testingba
  • Testingba
  • 2012-09-24 10:29:48
  • 8092

测试自动化普遍存在的问题

对测试工具能够发挥作用,大家都已经了解并认可了,但是很多引入自动化测试工具的软件公司并没有能够让测试自动化发挥应有的作用,其主要原因有以下几个方面:1. 不正确的观念或不现实的期望没有建立一个正确的软...
  • KerryZhu
  • KerryZhu
  • 2006-06-15 23:55:00
  • 9405

QTP-WebEdit 和WebRadioGroup

      最近开始有活干了,在慢慢的写代码过程中,遇到了不少问题,现在将遇到的一些问题记录下来,备后续参考。1、关于WebEdit:在写自动化脚本给WebEdit赋参数时,一定要注意该WebEdit...
  • lym_372
  • lym_372
  • 2010-08-17 17:12:00
  • 3975

测试自动化实现的两个难点-功能分解和对象识别

 1.优点1)模块化的设计,避免了重复的脚本,减少建立和维护脚本的成本2)在应用软件开发的同时,就可以同步进行脚本建立的动作,而且当软件功能变动时,只需要修改业务功能脚本3)由于应用软件的功能被分解成...
  • softesting
  • softesting
  • 2007-09-15 23:44:00
  • 1535

几种常见的自动化测试架构的对比

转载自:http://www.51testing.com/html/03/311303-859188.html常见的自动化测试架构        一个自动化测试架构就是一个集成体系,其中定义了一个特殊...
  • my_learning_road
  • my_learning_road
  • 2018-04-02 20:01:05
  • 94

QTP自动化测试框架

  • 2011年03月24日 10:22
  • 979KB
  • 下载

自动化测试的实践-应用QTP测试框架

  • 2015年09月25日 16:39
  • 979KB
  • 下载

appium 自动化测试之知乎Android客户端-识别元素

Appium 自动化测试之知乎Android客户端 appium是一个开源框架,相对来说还不算很稳定。转载请注明出处!!!!   前些日子,配置好了appium测试环境,至于环境...
  • wangsy0202
  • wangsy0202
  • 2016-11-15 16:17:35
  • 1301

【原创】某项目的功能自动化测试计划

DRP自动化测试计划一、   测试前要求本部分为对程序的要求,以下只是近期录制过程中发现的一些问题总结,更多的将在以后补充。1)  测试环境要求测试服务器和开发服务器分开,尽量避免在回放过程中由于替换...
  • wyingquan
  • wyingquan
  • 2006-01-05 11:49:00
  • 4656

1 自动化测试的实践-应用QTP测试框架.ppt

  • 2008年08月24日 15:22
  • 979KB
  • 下载
收藏助手
不良信息举报
您举报文章:测试自动化实现的两个难点-功能分解和对象识别
举报原因:
原因补充:

(最多只允许输入30个字)