软件自动化测试方案实用PPT(40张)
合集下载
软件自动化测试方案(ppt共40张)
逻辑测试、验收测试、适应性测试、涉 及到物理交互的测试 系统业务逻辑和交互过于复杂 需求频繁变动,稳定性不好的软件 开发周期很短的软件 一次性开发的软件。
尽可能少的自动化产品覆盖尽可能多的平台 测试流程管理自动化通常应该优先考虑 性能测试自动化优与功能测试自动化 自动化产品选用需要关注其支持服务和售后服务 尽量选用趋于主流的产品 对测试自动化方案具有可扩展性
自动化测试脚本开发过程
1. 增量式调试脚本 (1)按照流程和需求录制测试脚本; (2)建立测试驱动数据集; (3)验证点和分支的逻辑,明确数据与流程间的相关性 (4)回放测试脚本。 2. 测试脚本同步 测试工具会用比手工按键快的多的速度回放已录制的测试 脚本,导致击垮被测程序。在已录制的测试脚本中引入了人为的等待时间,放慢测试脚本的执行。但是,这种方式并不太科学。WHILE语句或嵌套的LOOPS语句是经常采用的保证成功回放的技术。这是比较好的同步方式。
自动化测试的意义
改进所有的测试领域 测试用例设计改进 性能测试改进 压力测试改进 质量度量与测试优化 ……
改进测试工作质量 BVT测试改进 回归测试改进 多平台兼容性测试改进 软件配置测试改进 普通测试执行改进 集中于高级测试问题改进 执行手工测试无法完成的测试 定时启动测试
减轻工作量加快测试进度 阶段 工作量 测试计划 增加 测试设计 减少 测试执行 减少 测试结果分析 减少 缺陷监控 减少 测试报告生成 减少 总体 减少
3.脚本技术 脚本是一种特殊的计算机程序,包含了数据和指令。 脚本技术是围绕脚本程序的结构而进行的设计,可以实现 测试用例所要求的数据输入、操作流程和验证点。 脚本产生方法: (1)通过录制产生,然后再做修改; (2)用脚本语言编写程序。
自动化测试原理和方法
尽可能少的自动化产品覆盖尽可能多的平台 测试流程管理自动化通常应该优先考虑 性能测试自动化优与功能测试自动化 自动化产品选用需要关注其支持服务和售后服务 尽量选用趋于主流的产品 对测试自动化方案具有可扩展性
自动化测试脚本开发过程
1. 增量式调试脚本 (1)按照流程和需求录制测试脚本; (2)建立测试驱动数据集; (3)验证点和分支的逻辑,明确数据与流程间的相关性 (4)回放测试脚本。 2. 测试脚本同步 测试工具会用比手工按键快的多的速度回放已录制的测试 脚本,导致击垮被测程序。在已录制的测试脚本中引入了人为的等待时间,放慢测试脚本的执行。但是,这种方式并不太科学。WHILE语句或嵌套的LOOPS语句是经常采用的保证成功回放的技术。这是比较好的同步方式。
自动化测试的意义
改进所有的测试领域 测试用例设计改进 性能测试改进 压力测试改进 质量度量与测试优化 ……
改进测试工作质量 BVT测试改进 回归测试改进 多平台兼容性测试改进 软件配置测试改进 普通测试执行改进 集中于高级测试问题改进 执行手工测试无法完成的测试 定时启动测试
减轻工作量加快测试进度 阶段 工作量 测试计划 增加 测试设计 减少 测试执行 减少 测试结果分析 减少 缺陷监控 减少 测试报告生成 减少 总体 减少
3.脚本技术 脚本是一种特殊的计算机程序,包含了数据和指令。 脚本技术是围绕脚本程序的结构而进行的设计,可以实现 测试用例所要求的数据输入、操作流程和验证点。 脚本产生方法: (1)通过录制产生,然后再做修改; (2)用脚本语言编写程序。
自动化测试原理和方法
第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]
2.什么是测试自动化
2.什么是测试自动化
先下载并安装Selenium IDE
/projects
2.什么是测试自动化
录制操作 查看脚本 回放脚本
2.什么是测试自动化
※ 自动化测试 vs. 测试自动化
自动化测试焦点集中在测试执行,主要是由测试工具自动地完成测试。 测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由
※ 自动化测试的引入的前提条件 通常需要同时满足以下条件:
(1)软件需求变动不频繁 从维护成本考虑:相对稳定的模块进行自动化测试,而变动较大的仍 是用手工测试。
3.软件测试自动化的优势
※ 手工测试 vs.自动测试
手工测试
发现缺陷率高 容易实施 创造性、灵活性 覆盖率量化困难 重复测试效率低 不一致性、可靠性低 依赖人力资源
自动测试
高效率(速度) 高复用性 覆盖率容易度量 准确、可靠 不知疲劳 激励团队士气 机械、难以发现缺陷 一次性投入大
会发现问题,不会忽视任何差异 ※ 高复用性。一旦完成所用的测试脚本,可以一劳永逸运行很多
遍 ※ 永不疲劳 ※ 可靠 ※ 独特的能力
3.软件测试自动化的优势
※ 自动化测试带来的好处
测试周期缩短 更高质量的产品 软件过程更规范 提高团队士气 节省人力资源,降低企业成本 充分利用硬件资源,降低企业成本。
1.手工测试的局限性
※ 自动测试定义软件系统
功能规格书(Spec)只是从书面上的 一套软件产品是由一套完整的可运行的测试来定义的
※ 测试所有可能情况将遭遇“组合爆炸”问题
WinXP, Win 7, Win 8,WP8, iOS 7, Android 4.3 English, German, Japanese, Chinese, Arabic, Thai… Office 2003, Office 2007, Office 2010, Office 2013… X86 32-bit, Intel 64-bit, AMD 64-bit, Alpha, MIPS… SQL Server 2000, SQL Server 2008, SQL Server 2010… VS .NET 2005, VS .NET 2008, VS .NET 2010…
软件自动化测试方案(PPT课件40页)
工作量往往较大。 • 许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 • 进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,
很难通过于工测试来进行。 • 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试优点
自动化测试过程
自动测试决定 测试工具采购 自动测试引入 测试计划、设计与开发 自动测试执行与管理 过程评估与改进
自动化测试原理和方法
1.代码分析 分析被测对象就是对其代码进行语法扫描,找出不符合编
码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。 2.录制和回放
录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转 换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换 为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。
自动化测试原理和方法
录制和回放的关键点是对象识别,获得类别、名称和属性 值。
Nativeclass:Edit Attached Text:登录名 Enabled:True Focused:True Height:20 Width:120 Text:admin
使用QARUN录制一个登录的例子 启动录制 打开目标程序 输入正确的用户名/密码 确定登录成功 停止录制 回放脚本
自动化测试脚本开发思路
• 回归测试方便,缩短了软件测试周期。 • 能够执行繁琐的程序测试,效率高。 • 测试覆盖率高。 • 测试的一致性好,具有可重复性。 • 测试的稳定性和可靠性高。 • 能够执行手工无法做的测试工作。 • 节省了人力资源,降低了测试成本。
手工测试 vs.自动测试
手工测试 发现缺陷率高 容易实施
很难通过于工测试来进行。 • 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试优点
自动化测试过程
自动测试决定 测试工具采购 自动测试引入 测试计划、设计与开发 自动测试执行与管理 过程评估与改进
自动化测试原理和方法
1.代码分析 分析被测对象就是对其代码进行语法扫描,找出不符合编
码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。 2.录制和回放
录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转 换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换 为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。
自动化测试原理和方法
录制和回放的关键点是对象识别,获得类别、名称和属性 值。
Nativeclass:Edit Attached Text:登录名 Enabled:True Focused:True Height:20 Width:120 Text:admin
使用QARUN录制一个登录的例子 启动录制 打开目标程序 输入正确的用户名/密码 确定登录成功 停止录制 回放脚本
自动化测试脚本开发思路
• 回归测试方便,缩短了软件测试周期。 • 能够执行繁琐的程序测试,效率高。 • 测试覆盖率高。 • 测试的一致性好,具有可重复性。 • 测试的稳定性和可靠性高。 • 能够执行手工无法做的测试工作。 • 节省了人力资源,降低了测试成本。
手工测试 vs.自动测试
手工测试 发现缺陷率高 容易实施
软件自动化测试方案(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
软件自动化测试方案(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课件
值 (value)
关键字驱动
关键字包括三类:被 操作对象(Item)、操 作(Operation)和值 (value),用面向对 象形式可将其表现为
Item.Operation(Value)
值 (value)
-
11
1:自动化功能测试难点
1. 设计——功能分解 2. 实现——对象识别
-
12
1:自动化功能测试功能分解
自动化测试需要有完善的测试流程和测试策略做保证。
自动化测试的脚本的维护成本比较高。
-
5
1:自动化功能测试优势
手工测试
自动化测试
测试设计 测试用例
1 输入数据
所
2 操作
所
占
3 预期结果 占
用
用
的
的
时
时
间
间
测试设计 测试实现
测试用例 1 业务数据 2 业务功能
实现业务功能
测试执行
测试执行
-
6
1:自动化功能测试优势
ebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上 显示的文字是“测试对象识别(动态)
一个好助手——Object Spy
通过Object Spy可以查看到所需要识别的对象的 所有属性值,挑选其中可以唯一识别该对象的一 个属性或多个属性,对该对象进行描述。
自动化功能测试技术
-
1
目录
1
自动化功能测试框架
2
QuickTest Pro主要功能
3
QuickTest Pro测试流程
4
QuickTest Pro上机实践
-
2
1:自动化功能测试背景
关键字驱动
关键字包括三类:被 操作对象(Item)、操 作(Operation)和值 (value),用面向对 象形式可将其表现为
Item.Operation(Value)
值 (value)
-
11
1:自动化功能测试难点
1. 设计——功能分解 2. 实现——对象识别
-
12
1:自动化功能测试功能分解
自动化测试需要有完善的测试流程和测试策略做保证。
自动化测试的脚本的维护成本比较高。
-
5
1:自动化功能测试优势
手工测试
自动化测试
测试设计 测试用例
1 输入数据
所
2 操作
所
占
3 预期结果 占
用
用
的
的
时
时
间
间
测试设计 测试实现
测试用例 1 业务数据 2 业务功能
实现业务功能
测试执行
测试执行
-
6
1:自动化功能测试优势
ebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上 显示的文字是“测试对象识别(动态)
一个好助手——Object Spy
通过Object Spy可以查看到所需要识别的对象的 所有属性值,挑选其中可以唯一识别该对象的一 个属性或多个属性,对该对象进行描述。
自动化功能测试技术
-
1
目录
1
自动化功能测试框架
2
QuickTest Pro主要功能
3
QuickTest Pro测试流程
4
QuickTest Pro上机实践
-
2
1:自动化功能测试背景
自动化测试实用资料ppt
测试结果自动比较
• 把测试的实际输出结果,和测试用例的预 期结果进行比较,得出测试用例是否通过 的结论;
• 必须强调的是测试用例的ID; • 结果比较时的一些特殊情况
– GUI测试
测试报告自动生成
• 根据测试结果比较的结论,产生测试报告;
– 测试情况总结,错误定位分析; – 测试有效性和可靠性分析;
谢谢观看
自动化的一般规律
• 自动化工作适用范围
– 大量的重复性的劳动; – 复杂的计算过程;
• 自动化工作的条件
– 能形式化的进行描述的工作; – 能避免交互的工作;
自动化中要考虑的问题
• 需要做的工作
– 编程(自动测试工具、驱动程序、桩程序) – 自动化测试的前期准备 – 自动化测试的数据接口
• 避免自动化工作对测试的真实性有效性带 来不利影响;
回顾:简单的软件测试过程
Test Case
Software to be tested
Verification
Output
测试自动化涵盖的内容
• 软件测试过程的自动化
– 测试用例自动生成 – 测试驱动自动生成 – 自动执行测试 – 测试结果自动比较 – 测试报告自动生成
• 软件测试管理的自动化(计算机辅助) • 软件程序分析的自动化
• 代表性的软件有:Rational TeamTest、Robot、 TestRuner、Visual Test、QC/Replay 等。
典型的测试工具软件
• 性能/负载测试工具主要是检查系统在重负 载情况下的性能,多用于对网络应用程序 的测试。
• 常见的工具有QALoad、Rational Suit Performance Studio 等
软件测试自动化PPT课件
2.掌握自动化测试和手工测试的优缺点。 3.了解测试工具的分类、使用目的及其选择,了解
几种常用的测试工具。
4.了解自动化测试的过程。
2021
3
7.1进行自动化测试的适当时机
•
通常,软件测试的工作量很大(据统计,测试会占用
到40%的开发时间;一些可靠性要求非常高的软件,测试
时间甚至占到开发时间的60%)。而测试中的许多操作是
2021
10
3.但功能代码的改变通常会改变代码的行为。因此, 极有可能会使测试中止,而不是报告bug。
4.测试的价值主要在于支撑代码改变以后仍能捕获 bug的能力。
5.如果我们一点也不了解支撑代码,无法知道测试 是否能捕获bug?如何估计测试是否有助于我们 捕获bug?
6.可以认为与被测试的代码进行交互的其他代码大 多数是支撑代码,支撑代码的变化也会产生自动 测试所能捕获的bug。
但是因为要急于完成测试,程序员也可能知道程 序的支撑代码的结构不会一成不变的。由于大部 分工作将会重复进行,所以可能会特别需要进行 自动化测试。或者程序员也不知道支撑代码是否 要改变。
项目经理:在新版本中,新增的功能是一个十分重要 的部分吗?如果是这样的话,由于市场竞争激烈, 图形用户界面有可能改变吗?以前,用户界面改 动有多大?
运行 测试
代码 改变
2021
测试运行 测试中止
7
在决定是否进行自动化测试之前,必须首先估 计一下,产品的代码变动在什么范围内,测试仍 能存活。如果要求代码不能有太多变动,要做的 测试最好是非常善于捕获bug的测试.
介于需要被测试的代码和测试之间的代码称作 中介代码(intervening code)。 一、中介代码的变动对测试周期的影响
几种常用的测试工具。
4.了解自动化测试的过程。
2021
3
7.1进行自动化测试的适当时机
•
通常,软件测试的工作量很大(据统计,测试会占用
到40%的开发时间;一些可靠性要求非常高的软件,测试
时间甚至占到开发时间的60%)。而测试中的许多操作是
2021
10
3.但功能代码的改变通常会改变代码的行为。因此, 极有可能会使测试中止,而不是报告bug。
4.测试的价值主要在于支撑代码改变以后仍能捕获 bug的能力。
5.如果我们一点也不了解支撑代码,无法知道测试 是否能捕获bug?如何估计测试是否有助于我们 捕获bug?
6.可以认为与被测试的代码进行交互的其他代码大 多数是支撑代码,支撑代码的变化也会产生自动 测试所能捕获的bug。
但是因为要急于完成测试,程序员也可能知道程 序的支撑代码的结构不会一成不变的。由于大部 分工作将会重复进行,所以可能会特别需要进行 自动化测试。或者程序员也不知道支撑代码是否 要改变。
项目经理:在新版本中,新增的功能是一个十分重要 的部分吗?如果是这样的话,由于市场竞争激烈, 图形用户界面有可能改变吗?以前,用户界面改 动有多大?
运行 测试
代码 改变
2021
测试运行 测试中止
7
在决定是否进行自动化测试之前,必须首先估 计一下,产品的代码变动在什么范围内,测试仍 能存活。如果要求代码不能有太多变动,要做的 测试最好是非常善于捕获bug的测试.
介于需要被测试的代码和测试之间的代码称作 中介代码(intervening code)。 一、中介代码的变动对测试周期的影响
第十软件测试自动化演示文稿
第二十五页,共41页。
10.2.3 合理选择自动测试的导入时机
自动测试只有在多次运行后,才能体现出自动化的优势,只有 不断地运行自动测试,才能有效预防缺陷,减轻测试人员手工的 回归测试的工作量。如果一个项目是短期的,并且是一次性的项 目,则不适合开展自动测试,因为这种项目得不到自动测试的应 有效果和价值体现。
动化测试需要考虑的因素,也可用于衡量目前的项目是否有足够的条件进行自动测 试。
第十三页,共41页。
(1)测试自动化类似于软件开发过程 录制/回放的脚本开发方式是不可能应付所有自动测试的需求的,因此,需要测试人
员掌握必要的开发知识和编码技巧。
(2)测试自动化是一个长期的过程 首先,不能期望自动测试在短期内找到很多缺陷,自动测试只有在长期的运行 后才能体现出它的价值。其次,不要认为只要购买了工具,录制一些脚本,然 后,就可以安枕无忧地看着自动测试实现想要的效果。需要考虑自动测试脚本 的维护成本。随着测试应用程序功能的增加和修改,测试脚本的维护工作量会 急剧增加。
第四页,共41页。
10.1.2 自动测试是否比手工测试优越
在大多数软件开发模式中,软件发布之前都要多次重复编码—测试—修 复的过程。如果要测试软件的某项特征,也许需要不止一次执行测试。重 复测试的过程也称为回归测试。如果一个小型软件项目有上千测试用例要 执行,还要重复执行,手工测试会非常单调和枯燥。而利用工具进行自动 测试就可以把人从这种枯燥单调的重复性劳动中解放出来。
因此,自动测试适宜用在需要重复执行机械化的界面操作、计算、数值比较 、搜索等方面。我们应该充分利用自动测试工具的高效率来帮助测试人员完 成一些基本的测试用例的执行,从而实现更加快速的回归测试,并且提高测 试的覆盖率。
第十二页,共41页。
10.2.3 合理选择自动测试的导入时机
自动测试只有在多次运行后,才能体现出自动化的优势,只有 不断地运行自动测试,才能有效预防缺陷,减轻测试人员手工的 回归测试的工作量。如果一个项目是短期的,并且是一次性的项 目,则不适合开展自动测试,因为这种项目得不到自动测试的应 有效果和价值体现。
动化测试需要考虑的因素,也可用于衡量目前的项目是否有足够的条件进行自动测 试。
第十三页,共41页。
(1)测试自动化类似于软件开发过程 录制/回放的脚本开发方式是不可能应付所有自动测试的需求的,因此,需要测试人
员掌握必要的开发知识和编码技巧。
(2)测试自动化是一个长期的过程 首先,不能期望自动测试在短期内找到很多缺陷,自动测试只有在长期的运行 后才能体现出它的价值。其次,不要认为只要购买了工具,录制一些脚本,然 后,就可以安枕无忧地看着自动测试实现想要的效果。需要考虑自动测试脚本 的维护成本。随着测试应用程序功能的增加和修改,测试脚本的维护工作量会 急剧增加。
第四页,共41页。
10.1.2 自动测试是否比手工测试优越
在大多数软件开发模式中,软件发布之前都要多次重复编码—测试—修 复的过程。如果要测试软件的某项特征,也许需要不止一次执行测试。重 复测试的过程也称为回归测试。如果一个小型软件项目有上千测试用例要 执行,还要重复执行,手工测试会非常单调和枯燥。而利用工具进行自动 测试就可以把人从这种枯燥单调的重复性劳动中解放出来。
因此,自动测试适宜用在需要重复执行机械化的界面操作、计算、数值比较 、搜索等方面。我们应该充分利用自动测试工具的高效率来帮助测试人员完 成一些基本的测试用例的执行,从而实现更加快速的回归测试,并且提高测 试的覆盖率。
第十二页,共41页。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化测试原理和方法
3.脚本技术 脚本是一种特殊的计算机程序,包含了数据和指令。 脚本技术是围绕脚本程序的结构而进行的设计,可以实现
测试用例所要求的数据输入、操作流程和验证点。 脚本产生方法: (1)通过录制产生,然后再做修改; (2)用脚本语言编写程序。
自动化测试原理和方法
4.虚拟用户技术 通过模拟真实用户的数量和操作行为,对被测程序施加负
自动化测试原理和方法
录制和回放的关键点是对象识别 Attached Text:登录名 Enabled:True Focused:True Height:20 Width:120 Text:admin
使用QARUN录制一个登录的例子 启动录制 打开目标程序 输入正确的用户名/密码 确定登录成功 停止录制 回放脚本
工作量往往较大。 • 许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 • 进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,
很难通过于工测试来进行。 • 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试优点
• 一次性开发的软件。
自动化测试原则和注意点
•• 实尽施可一能项少测的试自设动计化时产,品不覆遵盖循尽任可何能设多计的标平准台,结果产生了不可重复的测试脚本,
• 因测而试不流可程重管用理自动化通常应该优先考虑 •• 试性图能将测测试试自需动求化1优00与%功自能动测化试自动化
原注则意点
• 使用错误的工具 • 自动化产品选用需要关注其支持服务和售后服务
• 利用软件测试工具自动实现全部或部分测试。 • 自动测试是软件测试的一个重要组成部分,它能完成许多手工测试
无法实现或难以实现的测试。
自动化测试的意义
改进测试工作质量 改进所有的测试领域 减轻工作量加快测试进度
BVT测试改进 回归测试改进 多平台兼容性测试改进 软件配置测试改进 普通测试执行改进 集中于高级测试问题改进 执行手工测试无法完成的测试 定时启动测试
测试用例设计改进 性能测试改进 压力测试改进 质量度量与测试优化 ……
阶段
工作量
测试计划 增加
测试设计 减少
测试执行 减少
测试结果分析 减少
缺陷监控 减少
测试报告生成 减少
总体
减少
自动化测试适用场合领域
自动化测试的特点
适不合适做合自做动自化动测化试测的试系的统系或统场或合场合
• 执行回归测试
•• 逻单辑元测测试试、、验集收成测测试试、适应性测试、涉
自动化测试脚本开发思路
1. 软件自动化测试脚本的逻辑结构 (1)数据驱动框架; (2)合理划分脚本模块; (3)建立函数库。
2. 设计适合测试脚本的测试用例 与手工测试用例不同,自动化测试用例要求描述精确,即
自动化测试原理和方法
1.代码分析 分析被测对象就是对其代码进行语法扫描,找出不符合编
码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。 2.录制和回放
录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转 换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换 为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。
• 回归测试方便,缩短了软件测试周期。 • 能够执行繁琐的程序测试,效率高。 • 测试覆盖率高。 • 测试的一致性好,具有可重复性。 • 测试的稳定性和可靠性高。 • 能够执行手工无法做的测试工作。 • 节省了人力资源,降低了测试成本。
手工测试 vs.自动测试
手工测试
自动测试
发现缺陷率高
容易实施
载,以测量系统的性能指标,包括响应时间和吞吐量等。 5.自动比较
(1)静态比较和动态比较; (2)简单比较和复杂比较; (3)敏感性测试比较和健壮性测试比较; (4)比较过滤器。
自动化回归测试
1. 回归测试的概念 回归测试是指修改了旧代码后,重新进行测试以确认修改
没有引入新的错误或导致其他代码产生错误。 2.回归测试方法
软件自动化测试
• 背景对比引入 • 概念定义 • 意义 • 适用场合 • 原则和注意点 • 测试过程 • 原理和方法 • 自动化回归测试 • 脚本开发思路和过程
自动化测试
• 测试工具
• 测试的不足和对策
软件自动化测试产生
没有测试
手工测试
自动测试
软件自动化测试产生背景
• 以往的测试无法做到覆盖所有代码路径。 • 简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,
• 在应用程序开发周期中启用测试工具太晚, • 尽量选用趋于主流的产品 • 测试工程师参与应用开发生存周期太晚,导致不能很好的了解应用和系统设计,
• 对测试自动化方案具有可扩展性 因而无法完成测试
自动化测试过程
• 自动测试决定 • 测试工具采购 • 自动测试引入 • 测试计划、设计与开发 • 自动测试执行与管理 • 过程评估与改进
• 枯燥乏味的重复性工作
•及协到议物或理接交口互相的关测的试功能测试
• 一致的,可重复的测试
•• 系负统载业压务力逻测辑试和、交性互能过测于试复杂
• 执行手工很难达到或手工无法完成的测试 •• 需系求统频稳繁定变性动和,可稳靠定性性测不试好的软件
•• 开测发试周过期程很烦短琐的、软执件行动作很多的软件。
(1)重新测试全部用例 ; (2)基于风险选择测试; (3)重新测试修改的部分。
自动化回归测试
3. 自动化回归测试 (1)基于自动测试工具的测试框架,具有测试计划驱动
技术的所有优点 ; (2)充分利用测试工具的功能,与测试管理集成 ; (3)基于业务流的测试,数据也是基于业务流配置的 ; (4)应用与自动测试框架分开; (5)脚本与数据分开。
创造性、灵活性 覆盖率量化困难
重复测试效率低
不一致性、可靠性低
依赖人力资源
自动化测试概念
• 软件自动化测试的定义:自动化测试是把以人为驱动的测试行为转 化为机器执行的一种过程。通常,在设计了测试用例并通过评审之 后,由测试人员根据测试用例中描述的规程一步步执行测试,得到 实际结果与期望结果的比较。在此过程中,为了节省人力、时间或 硬件资源,提高测试效率,便引入了自动化测试的概念。