当前位置:
文档之家› ST第4章自动化测试精品PPT课件
ST第4章自动化测试精品PPT课件
对象库
例如对象 (属性) 包含登陆 窗口在记录过程中捕获的: - Agent Name field - Password field - OK button - Cancel button - Help button
zhu.
对象识别工具
zhu.
IE DOM Inspector
DOM对象的识别
zhu.
软件测试
第4章 自动化测试
Kerry Zhu
Zhu.
zhu.
人与工具
工欲善其事,必先利其器。 荀子曰:吾尝终日而思矣, 不如须臾之所学也。吾尝〔 足支〕而望矣,不如登高之 博见也。登高而招,臂非加 长也,而见者远。顺风而呼 ,声非加疾也,而闻者彰。 假舆马者,非利足也,而致 千里。假舟辑者,非能水也 ,而绝江河。君子生非异也 ,善假于物也。君子性非异 也,善假于物也。
❖ 代码的静态分析的关键是建立各种规则,而这种 规则的建立是依赖于相应编程语言的语法。如依 据EBNF(扩展巴科斯-诺尔范式) 对 Java代码 的分析。
❖参考Parasoft Jtest 或C++test
zhu.
代码规则表示举例
zhu.
编译器 规则 工具
代码扫描
zhu.
Windows对象识别
zhu.
本章内容
❖4.1 测试自动化的内涵 ❖4.2 自动化测试的原理 ❖4.3 测试工具的分类和选择 ❖4.4 自动化测试的引入
zhu.
4.1 测试自动化的内涵
❖4.1.1 简单的实验 ❖4.1.2 自动化测试的例子 ❖4.1.3 什么是自动化测试 ❖4.1.4 自动化测试的特点和优势
zhu.
FireBug
DOM对象识别工具
zhu.
脚本技术
线性脚本,是录制手工执行的测试用例得到的脚本, 这种脚本包含所有的击键、移动、输入数据等,所有录 制的测试用例都可以得到完整的回放。 结构化脚本,类似于结构化程序设计,具有各种逻辑 结构、函数调用功能。 数据驱动脚本,将测试输入存储在独立的(数据)文 件中,而不是存储在脚本中。 关键字驱动脚本,是数据驱动脚本的逻辑扩张
❖ 逻辑名称是对象属性之一的值 ❖ 数值 用于识别对象名称
Nativeclass: Edit
Attached Text: Agent Name:
Enabled:
True
Focused:
True
Height:
20
Text:
Harold
Width:
119
zhu.
Windows对象识别 - 2
对象库 是本地在测试结构范围内 存储对像信息.
您的看法? 难以实施系统可靠性测试,因为需要模拟系统运行十年、甚 至几十年。 难以在短时间内完成大量(如几千个)的(回归)测试用例 面对测试条件组合爆炸,无能为力或效率非常低。
zhu.
自动化测试的特点
❖ 自动运行的速度快,是手工无法相比的。 ❖ 测试结果准确。例如搜索用时及时是0.33秒或0.24
zhu.
手工测试 vs.自动测试
手工测试
发现缺陷率高 容易实施 创造性、灵活性 覆盖率量化困难 重复测试效率低 不一致性、可靠性低 依赖人力资源
自动测试
✓ 高效率(速度) ✓ 高复用性 ✓ 覆盖率容易度量 ✓ 准确、可靠 ✓ 不知疲劳 ✓ 激励团队士气 ✓ 机械、难以发现缺陷 ✓ 一次性投入大
zhu.
两者相互补充
在系统功能逻辑测试、验收测试、适用性测试、涉及交 互性测试时,多采用手工测试方法;
单元测试、集成测试、系统负载或性能、可靠性测试等 比较适合采用TA;
对那种不稳定、开发周期短或一次性的软件等不适合TA 工具本身缺乏想象力和创造性,自动测试只能发现15%
的缺陷,而手工测试可以发现85%的缺陷;
秒,系统都会发现问题,不会忽视任何差异
❖ 高复用性。一旦完成所用的测试脚本,可以一劳永
逸运行很多遍
❖永不疲劳 ❖可靠 ❖独特的能力
zhu.
自动化测试带来的好处
❖测试周期缩短 ❖更高质量的产品 ❖软件过程更规范 ❖高昂的团队士气 ❖节省人力资源,降低企业成本 ❖ 充分利用硬件资源,降低企业成本。
表4-2 自动化测试在不同测试阶段的应用
zhu.
本章内容
❖4.1 测试自动化的内涵 ❖4.2 自动化测试的原理 ❖4.3 测试工具的分类和选择 ❖4.4 自动化测试的引入
zhu.
4.2 自动化测试的原理
4.2.1 代码分析 4.2.2 GUI对象识别 4.2.3 DOM对象识别 4.2.4 自动比较技术 4.2.5 脚本技术
zhu.
❖ 测试工具的使用是自动化测试的主要特征
zhu.
自动化测试 vs. 测试自动化
❖ 自动化测试焦点集中在测试执行,主要是由测试 工具自动地完成测试。
❖ 测试自动化指“一切可以由计算机系统自动完成 的测试任务都已经由计算机系统或软件工具、程 序来承担并自动执行”
zhu.
自动化测试 vs. 测试自动化
.自动化测试
.
. 测试工具
. 测试执行
.
单项活动
.
.
.
.测试自动化
.
. 理念
. 全过程
. . .
所有测试活动 包括测试设计
. 测试管理
zhu.
手工测试的局限性
无法做到覆盖所有代码路径 很难捕捉到与时序、死锁、资源冲突、多线程等有关的错误 难以实施系统负载/性能测试,因为需要模拟大量数据或大
量并发用户
简单的实验
❖ 批处理文件 ❖ Word的邮件合并功能
“工具”“信和邮件”“邮件 合并”
zhu.
Word中的宏
zhu.
自动化测试的例子(1)
❖先下载并安装Selenium IDE
zhu.
自动化测试的例子(2)
❖ 录制操作 ❖ 查看脚本 ❖ 回放脚本
zhu.
什么是自动化测试
❖自动化测试(automated test)是相对手工测试 (manual test)而存在的一个概念,由手工逐个 地运行测试用例的操作过程被测试工具自动执行 的过程所代替。
自动化测试的流程举例
启动应用
创建脚本 录制对象及其操作
插入验证点 调试脚本
测试报告 保存脚本
记录执行Log 验证测试结果 启动应用、执行脚本
调用脚本
zhu.
测试工具实现的原理
代码扫描及其分析 对象识别 捕获和回放(record/playback) 脚本技术 自动结果比较
zhu.
代码分析
zhu.
测试面临的问题
❖ 测试用例会越来越多,工作量越来越大,而且许多测试用 例会被不断地重复执行。如果由手工来完成,不仅占用很 多人力资源,而且工作重复单调,会影响测试人员的积极 性,降低测试工作人员的热情… 怎么办?
自动化测试
zhu.
本章内容
❖4.1 测试自动化的内涵 ❖4.2 自动化测试的原理 ❖4.3 测试工具的分类和选择 ❖4.4 自动化测试的引入