ST第4章自动化测试精品PPT课件

合集下载

第4章软件自动化测试精品PPT课件

第4章软件自动化测试精品PPT课件

Version 01
12/10/2020
Slide 4
4.1软件自动化测试的概念
4.1.2 软件自动化测试的应用场合
2.不适合做自动化测试的系统或场合 (1)逻辑测试、验收测试、适应性测试、涉及到物理交互 的测试; (2)系统业务逻辑和交互过于复杂; (3)需求频繁变动,稳定性不好的软件; (4)开发周期很短的软件; (5)一次性开发的软件。
Version 01
12/10/2020
Slide 2
4.1软件自动化测试的概念
4.1.1软件自动化测试的意义
2.自动化测试的优势 (1)回归测试方便,缩短了软件测试周期; (2)能够执行繁琐的程序测试,效率高; (3)测试覆盖率高; (4)测试的一致性好,具有可重复性; (5)测试的稳定性和可靠性高; (6)能够执行手工无法做的测试工作; (7)节省了人力资源,降低了测试成本。
第四章 软件自动化测试
4.1软件自动化测试的概念
软件自动化测试的定义:根据测试规则编制计算机软件 ,并在计算机环境中运行,自动验证被测程序的响应和行为。
4.1.1软件自动化测试的意义 (1)提高软件测试质量; (2)提高软件测试效率; (3)将测试人员从繁重的重复性劳动中解放出来 。
Version 01
Version 01
12/10/2020
Slide 5
4.1软件自动化测试的概念
4.1.3 软件自动化测试的重要问题
1.自动化测试的时间点 (1)功能稳定的系统与开发过程同时准备; (2)功能变化的系统待开发过程完成进行; (3)GUI稳定后再开始自动化测试。
2.自动化测试的覆盖率 不要追求在很短的时间实现自动化测试,也不要追求100% 的自动化测试覆盖率。积累经验,循序渐进的自动化测试,效 果会更好。

自动化测试讲解 PPT课件

自动化测试讲解 PPT课件
5
一、简述自动化测试框架
• 也许很多人印象里的自动化测试框架就是一个能够进 行自动化测试的程序似的。其实这不全面,真正的自 动化测试框架可以不是一个程序,它仅仅是一种思想 和方法的集合,说白了,就是一个架构,大家应该都 知道操作系统其实也是一个架构吧,你可以把其理解 成一个基础的自动化测试框架为一个简单的操作系统, 它定义了几层架构,定义了各层互相通信的方式。通 过这个架构我们才能在上面进行拓展我们的测试对象 (核心体)、测试库(链接库)、测试用例集(各个 windows进程)、测试用例(线程),而其之间的通 过参数的传递进行通信(即相当于系统中的消息传 递)。
重要性不言而喻; • 集成测试在很多情况下非常适合使用自动化的手段去运行,最明显的例子是rails里的integration test;
(unit test:就是独立测试每个功能块的功能.integration test:是测试那些有相互联系的功能块之间的 联系, 和共同运行的结果.system test: 测试整个系统,所有的功能块都要考虑.) • 当单元测试和集成测试都没做好,甚至是没有做的情况下,UI级的自动化测试可以扮演救火队员的 角色,尽管成本很高,但是可维护的UI测试代码是回归测试的福音,也是提高测试生产力的重要手 段; • 自动化测试可以培养团队,一个团队如果可以把自动化测试做好,那么他们的开发水平一定不低, 而且如果这些人去做开发,代码的质量反而比一般的开发人员要高,原因很容易理解,测试人员坚 信没有测试过的东西就是不可信的,代码如果没有被测试过,那么代码自然是不可信的,不可信的 代码就需要用单元测试去覆盖,因此这可以从根本上提高代码的质量。 那么自动化测试如何去学习呢?这里给出一个很平滑的线路图。 • 学习一门脚本语言,ruby python or javascript。当然,如果你信仰优雅,追求美感的话,你可以学 习ruby(本框架使用的语言) • 学习语言的过程是漫长而枯燥的,你可以通过使用selenium webdriver api来更加有效率的学习。在 学会自动化测试的同时也搞定了一门语言,而且每一步都很有成就感。

2019自动化测试.ppt

2019自动化测试.ppt

7
5.5
8.1 8.1
9
- Priority # / Order
Assuming test cases for all risks and complexities are in-scope for each test cycle.
自动化测试目标
初级阶段目标

高级阶段目标

只适用于功能测试阶段,因为 一般会: 给定预算,进度,资源 给定平均或期望的测试运行次 数 根据业务流程的不同(复杂度 和风险)最大化自动化率(只 能达到有限值)
Risk High Medium Low 5.0 1 6.6 5 5.0 2 # - Priority # / Order 7.3 7 7.3 6 8.1 9 5.9 4 8.1 8 5.5 3

Assuming test cases for all risks and complexities are in-scope for each test cycle.
测试阶段的 功能测试
– 背景:在高覆盖率要求的前提下,每个功能的测试案例量很大,并且由于 测试阶段中不断的代码修改、集成,重复测试的次数很多 – 应用:自动化功能测试,包括接口功能测试、界面安全性测试、业务功能 测试,提高测试的覆盖率,降低测试的工作强度 – 限制:由于测试阶段中的代码和界面的频繁变更,自动化的覆盖率应以少 量覆盖、关键覆盖为原则
一、 技术发展趋势-1
没有测试
手工测试
• • • • •
时间紧 可靠性低 人力缺乏 无法保证一致性 无法重复
快速 可重复 高覆盖率 高可靠性 重用性强
自动测试
1、 将乏味且人工容易出错的工作进行自动化,实现功能的回归测试,在应用程序 修改之后,运行自动化测试脚本,快速完成回归测试

《自动化测试》课件

《自动化测试》课件

提高自动化测试效率的技巧
合理选择自动化测试工具
定期维护和更新测试脚本
制定详细的测试计划和测试用例 优化测试脚本,减少重复代码
提高测试人员的技能和经验
采用持续集成和持续部署(CI/CD) 方法
自动化测试与手动测试的协同工作方式
自动化测试与手 动测试的优缺点
自动化测试与手 动测试的适用场 景
自动化测试与手 动测试的协同策ቤተ መጻሕፍቲ ባይዱ略
执行测试用例:按照设计的 测试用例执行测试
评估测试结果:根据测试结 果评估测试效果,包括通过
率、覆盖率等指标
测试环境搭建
硬件环境:服务器、 网络设备、存储设 备等
软件环境:操作系 统、数据库、中间 件等
测试工具:自动化 测试框架、测试脚 本、测试数据等
测试数据:模拟真 实数据,确保测试 结果的准确性
工具的稳定性和 可靠性:是否稳 定可靠,是否会 出现崩溃、错误 等现象
工具的社区支持 和文档:是否有 活跃的社区支持, 文档是否齐全, 是否容易找到解 决方案
自动化测试工具的使用方法
安装自动化 测试工具, 如Selenium、 Appium等
编写自动化 测试脚本, 包括测试步 骤、预期结 果等
执行自动化 测试脚本, 观察测试结 果
自动化测试与手 动测试的协同工 具和技巧
06
未来自动化测试的发展 趋势
AI技术在自动化测试中的应用前景
提高测试覆盖率:AI技术可 以自动识别测试盲点,提高 测试覆盖率
提高测试准确性:AI技术可 以自动识别测试错误,提高
测试准确性
提高测试效率:AI技术可以 自动生成测试用例,提高测 试效率
提高测试智能化:AI技术可 以自动分析测试结果,提高

ST-第4章+自动化测试

ST-第4章+自动化测试

件中,而不是存储在脚本中。

zhu.kerry@ /Kerryzhu
线性脚本
zhu.kerry@ /Kerryzhu
结构化脚本
zhu.kerry@ /Kerryzhu
zhu.kerry@
代码规则表示举例
zhu.kerry@ /Kerryzhu
代码扫描

编译器 规则

工具
zhu.kerry@ /Kerryzhu
Windows对象识别
调试脚本
保存脚本
调用脚本
zhu.kerry@ /Kerryzhu
测试工具实现的原理

代码扫描及其分析


对象识别
捕获和回放(record/playback) 脚本技术 自动结果比较
zhu.kerry@
代码分析
代码的静态分析的关键是建立各种规则,而这种 规则的建立是依赖于相应编程语言的语法。如依 据EBNF(扩展巴科斯-诺尔范式) 对 Java代码 的分析。 参考Parasoft Jtest 或C++test
关键字驱动脚本
zhu.kerry@ /Kerryzhu
数据驱动测试脚本
Order ID changes with each order placed
动态内容匹配 利用模式匹配技术来验证数据 如不是验证 “Order ID 230”, 而是 “Order ID ###” 当验证应用的行为时,考虑了各种不同的合法响应
脚本技术

线性脚本,是录制手工执行的测试用例得到的脚本,
这种脚本包含所有的击键、移动、输入数据等,所有录 制的测试用例都可以得到完整的回放。

结构化脚本,类似于结构化程序设计,具有各种逻辑 数据驱动脚本,将测试输入存储在独立的(数据)文 关键字驱动脚本,是数据驱动脚本的逻辑扩张

自动化测试技术PPT课件

自动化测试技术PPT课件

哪些能自动化?
软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维 护成本,如果变动过于频繁,维护成本太高。 项目周期足够长 若项目周期太短,或是紧急上线的新功能, 新产品是不适合去用自动化测试的。 自动化测试脚本可重复使用 若自动化脚本利用率不高,测会造成人力的 浪费。
自动化工具介绍
PHPUnit 简介 PHPUnit是一个轻量级的PHP测试框架。它 是在PHP5下面对JUnit3系列版本的完整移植, 是xUnit测试框架家族的一员(它们都基于模式先 锋Kent Beck的设计)。 类似的其他语言的还有JUNIT(java), NUNIT(c#),UNITTEST(python)以及 Rspec(Ruby).
/files/seleniumserver-standalone-2.22.0.jar
安装selenium server:只要安装了jdk1.6 或1.7 都 可以运行selenium-server,在命令行输入: java -jar selenium-server-standalone-2.22.0.jar
测试用例编写及测试过程
测试脚本的录制 用Selenium录制测试操作,并转化成PHPUNIT脚 本,保存成对应该的文件。在要检测的地方,加上适 当的Assert语句。 运行Selenium Server 服务器 在CMD窗口是运行命令: java -jar seleniumserver-standalone-2.22.0.jar
自动化测试技术分享
宋现锋 @潜龙0318来自内 容提要何为自动化?
哪些能自动化? 自动化工具介绍 测试用例编写及测试过程 编写自动化用例中应注意的问题 目前编写的自动化用例介绍
何为自动化?
自动化(Automation)是指机器设备、系统或过 程(生产、管理过程)在没有人或较少人的直接 参与下,按照人的要求,经过自动检测、信息处 理、分析判断、操纵控制,实现预期的目标的过 程。 我们测试领域中的自动化,就是“把以人为驱动的 测试行为转化为机器执行的一种过程。” 自动化测试的 7 个步骤:改进自动化测试过程,定义 需求,验证概念,支持产品的可测试性,具有可 延续性的设计,有计划的部署和面对成功的挑战。

上海泽众软件自动化测试ppt课件

上海泽众软件自动化测试ppt课件
组件1 组件2 AUT 事件 组件3 组件4
脚本 AR
对象库
执行原理
• 执行
组件1 组件2 AUT 事件 组件3 组件4
脚本 AR
对象库
面向工程的多文档用户界面
工 程
测试脚本
运用Beanshell脚本言语的脚本展现 符合java规范语法、支持java扩展 编辑器支持关键字着色 支持同步点
测试脚本的构成
AutoRunner操作演示 AutoRunner流程
录制脚本
结果分析
添加检查点
自动执行
修正脚本 参数化
比对结果 脚本调试
谢谢各位!
spasvo
• 阅读器 • .net(c#、vb、SWF〕 • visual c++ • Java SWT/AWT/SWING • Flex • Delphi • Powerbuilder • Silverlight对象,用Silverlight技术开发的网页。 • WPF对象,用WPF技术开发的桌面程序。 • QT对象,用QT技术开发的桌面程序
上海泽众软件——自动化测试
上海泽众 2021-06-14
了解软件自动化测试
• 何为软件自动化测试 • 自动化测试的产生和意义
何为软件自动化测试
• 自动测试过程就是经过模拟人工操作,完成对被测试系统 的输入,并且对输出进展检验的过程。自动测试是由软件 替代人工操作,对被测试系统的 GUI 发出指令,模拟操 作,完成自动测试过程。
测脚本
测试 脚本
测试脚本 定义了测试活动〔action〕执行 的顺序和逻辑,是自动测试的根底。
对象库
对象库 定义了在测试活动中操作的对象和
对象属性、款式,是实现测试脚本执行的 根底,也是测试工具识别对象的根底。

自动化测试(PPT40页).ppt

自动化测试(PPT40页).ppt

自动化测试工具
实现了负载测试、功能测试和测试管理的几个工具。
1. 负载测试工具Load Runner Load Runner是一种适用于各种体系构架的企业级系统的
自动负载测试工具。通过模拟实际用户的操作行为和性能监测 ,帮助查找Bug。
(1)可以记录下客户端的操作,形成脚本文件。 (2)产生众多的虚拟用户,以虚拟用户的方式模拟真实 用户的操作行为,创建系统负载。
自动化测试原理和方法
3.脚本技术 脚本是一种特殊的计算机程序,包含了数据和指令。 脚本技术是围绕脚本程序的结构而进行的设计,可以实现
测试用例所要求的数据输入、操作流程和验证点。 脚本产生方法: (1)通过录制产生,然后再做修改; (2)用脚本语言编写程序。
自动化测试原理和方法
4.虚拟用户技术 通过模拟真实用户的数量和操作行为,对被测程序施加负
自动化测试工具
2. 功能测试工具Win Runner Win Runner是基于windows的自动化功能测试软件。主
要用于检测应用程序是否能够达到预期的功能,测试复杂的企 业级应用。
(1)按照预先设计,将业务处理过程录制下来,并转换 为测试脚本,支持测试脚本的编辑、扩展、执行,提供测试结 果报告。
自动化测试工具
(3)建立持续且循环的负载,定义用户的访问时间,根 据用户人数事先设定测试目标,优化测试流程。 (4)实时监测器可以在负载测试的任何时候观察到应用 系统的运行性能,显示交易性能数据和其他系统组件(应用服 务器、Web服务器、网络设备、数据库)的实时性能。 (5)收集、汇总所有测试数据,提供高级的分析报告。
(1)重新测试全部用例 ; (2)基于风险选择测试; (3)重新测试修改的部分。
自动化回归测试

测试自动化(ppt)(1)

测试自动化(ppt)(1)
的测试结果。 § 手工不能做的事情,自动化测试能做,如负载、性能测试。
软件测试实行自动化进程,绝不是因为厌烦了重复的测试 工作,而是因为测试工作的需要,更准确地说是回归测试和 系统测试的需要。
测试自动化(ppt)(1)
自动化测试的定义和引入
§ 自动化测试的定义:使用一种自动化测试工具来验证各种软件测试 的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。
测试自动化(ppt)(1)
自动化测试带来的好处
§ 缩短软件开发测试周期,可以让产品更快投放市场。 § 测试效率高,充分利用硬件资源。 § 节省人力资源,降低测试成本。 § 增强测试的稳定性和可靠性。 § 提高软件测试的准确度和精确度,增加软件信任度。 § 软件测试工具使测试工作相对比较容易,且能产生更高质量
放”的技术。 所谓的“录制-回放”技术,就是先由手工完成一遍需要
测试自动化(ppt)(1)
2020/11/25
测试自动化(ppt)(1)
自动化测试基础
§ 自动化测试的意义 § 自动化测试的定义和引入 § 自动化测试的原理和方法 § 自动化测试工具的作用及优势 § 自动化测试存在的一些问题和限制 § 建立正确的自动化测试目标
测试自动化(ppt)(1)
自动化测试的意义
测试自动化(ppt)(1)
自动化测试的定义和引入
§ 通常,当软件开发过程具有下列情况时,就需要考虑引入自 动化测试: 1)测试用例的生成,包括测试输入、测试输出、测试操作 指令等; 2)测试的执行与控制,包括单机运行和网络多机分布式的 运行,在节假日的运行,测试个案调用控制,测试对象、 测试范围与测试版本的控制等; 3)测试结果与标准输出进行对比; 4)不吻合预期的测试结果的分析、记录、分类和报告 5)总体测试状况的统计及报表的产生。

软件测试教学PPT-软件测试自动化

软件测试教学PPT-软件测试自动化

代码分析
代码分析类似于高级语言编译系统,一 般针对不同的高级语言去构造相应的分 析工具,在工具中定义类、对象、函数、 变量等规则、语法规则;在分析时对代 码进行语法扫描,找出不符合编码规范 的地方;根据某种质量模型评价代码质 量,生成系统的调用关系图。
捕获回放
捕捉和回放则是一种黑盒的测试的自动化 方法。捕获是将用户的每一步操作都记录 下来。这种记录的方式有两种:一种是记 录程序用户界面的像素坐标或程序显示对 象(窗口、按钮、滚动条)的位置,另一 种方式是记录相应的操作、状态变化或是 属性变化。所有的记录转换为一种脚本语 言所描述的过程,以模拟用户的操作。
自动化测试的执行和管理
在这个阶段,测试人员必须根据测试的 日常安排来执行测试脚本,并改善这些 脚本。在这个过程中还必须评审测试的 结果,以避免错误的结果。系统的问题 应该通过系统问题报告记录在案,并帮 助开发人员理解和重视这些问题。最后, 测试团队需要进行回归测试来追踪和关 闭这些问题。
自动化测试项目评审
软件自动化测试的生命周期
自动化测试生命周期方法 ATLM(Automated Testing Lifecycle Methodology)为包括6个主要过程:
自动化测试决策
自动化测试工具获取 自动化测试引入过程 自动化测试计划 设计和开发 自动化测试的执行和管理 测试项目评审
16
83%
277
75%
自动测试的优点
提高了测试执行的速度,节省了时间; 提高了测试效率。手工测试存在效率问题,这在软件产品的研
发后期尤其明显,因为随着产品的日趋完善,功能日渐增多, 需要测试和检查的内容越来越多,很容易遗漏。加之产品发布 日期日益临近,人工重复进行回归测试的难度加大,很难在短 时间内完成大面积的测试覆盖; 提高了准确度和精确度。测试员尝试了几百个测试用例后,注 意力可能会分散,并开始犯错误。而测试工具可以重复执行同 样的测试,并毫无差错地检查测试结果; 更好地利用资源。手工测试需要测试人员在场,而自动测试可 以7×24小时随时工作。还可以使位于全球不同地点、不同时区 的团队监视和控制测试,提供全球时区的覆盖; 模拟测试条件。有的测试用例的测试条件需要的人数或设备数 目很大,或者模拟的条件很苛刻,现实无法实现,测试工具却 可以模拟这种情况; 具有一致性和可重复性,有利于解决测试与开发之间的矛盾; 修改性比较低,经济角度考虑,也更有优越性。

软件自动化测试方案(PPT40页)

软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页) 软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页)
自动化测试
背景对比引入
测试工具
概念定义
测试的不足和对策
意义
适用场合
原则和注意点
测试过程
原理和方法
自动化回归测试
脚本开发思路和过程
软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页)
很难通过于工测试来进行。 • 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页)
软件自动化测试优点
• 回归测试方便,缩短了软件测试周期。 • 能够执行繁琐的程序测试,效率高。 • 测试覆盖率高。 • 测试的一致性好,具有可重复性。 • 测试的稳定性和可靠性高。 • 能够执行手工无法做的测试工作。 • 节省了人力资源,降低了测试成本。
软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页)
手工测试 vs.自动测试
手工测试 发现缺陷率高 容易实施
自动测试
创造性、灵活性 覆盖率量化困难
重复测试效率低
不一致性、可靠性低
依赖人力资源
软件自动化测试方案(PPT40页)
软件自动化测试方案(PPT40页)
自动化测试概念
软件自动化测试方案(PPT40页)
自动化测试原理和方法
录制和回放的关键点是对象识别,获得类别、名称和属性 值。
Nativeclass:Edit Attached Text:登录名 Enabled:True Focused:True Height:20 Width:120 Text:admin

自动化测试介绍 PPT课件

自动化测试介绍 PPT课件
用。 ③ 数据配置: QTP+QC方式:每次运行时必须一个一个业务流或者执行流的配置数据; QTP+其它辅助工具的方式:辅助工具可以将本次执行的脚本用的所有参数进
行统一配置。
QTP方式、QTP+QC方式、QTP+其它辅助工具的方式 QTP+QC方式、QTP+其它辅助工具的方式的不同:
④ 执行目的的直观性: QTP+QC方式:脚本按照一定顺序组成的业务流或者执行流,不能快速直观
自动化测试的优势
4 .通过自动化测试发现系统的隐患,保证了系统上线后的稳定运行,避免了由于系 统缺陷造成的损失。
成本
成本

升级

运维

阶段

手工测试
时 间
广州南天

升级


运维


阶段

自动化测试
自动化测试的优势
5 .其他优势:
✓ 创建优良可靠的测试过程,减少人为错误; ✓ 可以运行更多更繁琐的测试; ✓ 可以执行一些手工测试困难或不可能进行的测试; ✓ 更好的利用资源; ✓ 测试具有一致性和重复性; ✓ 测试脚本的重用性;
测试耗时图
140
120
100
80
时间
60
40
20
0
0
300
功能点
350
手工测试
自动化测试
400
自动化测试的优势
3.增强测试的覆盖率,从而提高产品质量,降低潜在风险
90% 88% 86% 84% 82% 80% 78% 76% 74% 72% 70%
开发中
上线前
手工测试
上线后变更1

《自动化测试班课件》

《自动化测试班课件》

Selenium IDE的使用
1
录制测试用例
2
通过录制Selenium IDE脚本编写测试用
例。
3
安装和环境配置
安装Selenium IDE,并配置环境。
修改测试用例
对测试用例进行编辑,修改或新增内容。
Selenium WebDriver的使用
创建 WebDriver
通过不同编程语言提 供的WebDriver类, 创建WebDriver对象。
测试结果
通过生成测试报告对测试结果进 行分析和优化。
JMeter环境搭建
1 安装JMeter
下载并安装JMeter。
2 配置环境
配置JMeter运行环境,保证 测试顺利进行。
3 录制测试场景
通过JMeter的录制功能,录制测试场景。
JMeter测试场景编写
邮件发送场景
模拟邮件发送场景的性能测试, 检查服务器性能,检测响应时 间等。
操作页面元素
通过WebElement对象提供的一系列方法, 进行对元素的单击,输入等操作。
JMeter的基础知识
JMeter概述
JMeter是一款开源的性能测试工 具,可用于web、soap、ldap等 多种应用程序的测试。
负载测试
通过JMeter记录和分析各种负载 下系统的性能指标,进行性能测 试。
访问浏览器页 面
通过WebDriver对象 的get方法,访问目标 页面。
定位页面元素
通过findElement、 findElements等方法, 定位元素。
操作页面元素
通过WebElement对 象提供的一系列方法, 进行对元素的单击, 输入等操作。
Selenium Grid的使用

自动化测试PPT课件

自动化测试PPT课件
– 在分析时对代码进行语法扫描,找出不符合编码规 范的地方
– 根据某种质量模型评价代码质量 – 生成系统的调用关系图等
.
15
代码分析—白盒
• 常用技术
– Syntax analysis – Parsing – Control flow analysis – Data flow analysis – Constraint based analysis – Abstract interpretation – Type-effect system – Symbolic execution
• 兼容性
是否允许测试用例为不同的测试目标而以不同方式组合
• 可用性
定制或更改测试用例是否容易,使用是否容易
• 健壮性
是否可以处理意外情况而不退出或终止
• 可移植性
在不同环境中运行测试的能力
.
13
C. 自动化测试的原理和方法
• 测试自动化实现的基础
– 可以通过设计的特殊程序模拟测试人员对计算机的操作 过程、操作行为,或者类似于编译系统那样对计算机程 序进行检查。
• 优秀自动化测试体系的七个属性
–应根据测试目标,有针对性地提高自己关注的属性,实 施符合需要的自动化测试体系
• 高效的自动化测试体系源于好的测试软件
–应根据需要和能力决定自主开发或选购适合的测试工具
.
11
优秀自动化测试体系的七个属性
• 可维护性
是否很容易使测试更新跟上软件升级的步伐 –自动化测试的维护工作量过大可能导致整个测试自动
.
16
控制流图
void m() throws Exception{ s1; if(s2) throw new Exception();
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象库
例如对象 (属性) 包含登陆 窗口在记录过程中捕获的: - 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 自动化测试的引入
相关文档
最新文档