古人学问无遗力,少壮功夫老始成。 纸上得来终觉浅,绝知此事要躬行。

第46期软件测试沙龙内容

上一篇 / 下一篇  2010-08-30 13:45:25 / 个人分类:测试随笔

1、 原理篇

1) 基于代码

     单元测试框架

     脚本驱动测试

2) 基于GUI

所做的有:

     识别对象

     操作对象

     验证结果

     错误恢复

     同步(对象同步、例如ajax

     

   实现方式:

a)API

ü 识别窗口

FindWindowEnumWindowsGetWindowTextGetWindowRect

ü 操作窗口

SetWindowTextSetForegroundWindowSetActiveWindow

ü 优点

高深强大(user32.dll

ü 缺点

底层复杂

 

b)MSAAMicrosft Active Accessibility)——最初目的:方便视力残障人士

*新的名称已经更改为WPF

ü 核心接口

Iaccessible

ü 优点:

相对API简化了很多;支持自定义控件(支持非标准控件)

ü 缺点:

局限性

c) UI Automationin C#--Model09年出的 (我觉得它有点类似RFTfind

 Windows Automation API 3.0大致架构

 

Provider API                                    :Client API

                                              :Client Provider API

托管程序(依赖于net framework)、非托管(example C++

d)Reflection

通过它我们可以在运行时获得各种信息,如程序集、模块、类型、字段、属性、方法和事件,通过对类型动态实例化后,可以对其进行操作

e)WSHWindows Scripting Host

内嵌于Windows操作系统中的脚本语言工作环境:例如VBSJS

 

3) 基于B/S的测试

基于DOM技术

DOM是文档对象模型,根据W3C DOM规范,DOMHTMLXML的应用编程接口(API),DOM将整个页面映射为一个由层次节点组成的文件。

 

录制原理:

Windows的消息系统组成:

-消息队列

-消息循环

-窗口过程

【消息产生到被窗口相应的步骤】

产生消息->进入消息队列->取出消息(自处理)->简单处理->分发消息     

QTP录制监听键盘和鼠标的动作

 

回放原理:

网页技术

非网页技术

 

2、 对象识别篇

QTP对象识别及存储技术】      

测试对象模型(Test Object Model

测试对象(test object)是QTP在脚本中创建的用于描述应用程序实际对象的对象。QTP存储这些信息用来在运行时识别和检查对象。

运行时对象(runtime object)是应用程序中的实际对象,对象的方法将在运行中被执行

QTP录制及回放过程

 

3、 学习应用篇

QTP执行效率】

使用AOM技术启动运行QTP

通过AOM控制QPT解决内存泄露问题

变量和函数的定义尽可能放置到外部文件中

尽量不要使用Wait

使用with语句

使用OR而非DP

不要保存movieimage到测试报告

设置运行模式为fast

调用Action使用相对路径

 


TAG:

 

评分:0

我来说两句

Open Toolbar