GUI自动化测试系列一测试用例的设计及自动生成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GUI自动化测试设计
用户旅程(User Journey)是一个用户体验设计的术语,指的是为 达到某种特定目的,用户所执行的一系列操作的集合
GUI自动化测试设计
一个简单的注册功 能,能想清楚有多 少操作路径吗?全 凭经验覆盖?有没 有更标准的方法? 能不能有像爬虫一 样的工具搜索出路 径?
2 基于UML图模型的测试用例自动生 成技术
一个简单的键盘输入 功能的例子
实现方法
业内通用的UML设计工具Rational rose 在画完UML图后会生成一个 MDL文件,该文件是一种ASCⅡ 码文件内容可以以文本文件的形式 读取
程序读取UML文 件中的节点和转
换信息
导出到excel文件 中做为测试用例
抽象成有向图数 据结构
通过有向图深度 优先算法遍历所
自动化测试简介
虽然单元测试发现修改问题成本低, 方便自动化,但是单元测试无法从全局 观的角度了解系统模块间的交互,也无 法通过方法、组件的组合帮助用户完成 业务目的,而基于GUI的测试描述的是 从用户角度出发的用户使用场景,因此 更容易阐述用户的行为和业务需求。
基于GUI的测试描述测试的层级 更高,所以也就更接近于业务, 而单元测试更接近于实现。
Null
5
6
^
^
Null
6
7
^
^ 非法编号
7
8
^
^
Null
8
9
^
Null
8
10
^
^ Null
9
3
^
^ Null
9 Baidu Nhomakorabea击返回 动作结点
10
20
^
^ Null
10 点击退出 动作结点
20 Null 终止结点
^
6
11
^
^ 合法编号
Qfront
开始
初始结点
进入主界面 活动结点 选择缴费 活动结点
GUI自动化测试培训系列(一)
测试用例的设计及自动生成
联系作者:
目录
Contents
背景介绍
测试用例生成 技术
使用方式
02
1 自动化测试背景介绍
自动化测试简介
对于自动化测试,很多项目经理甚至测试人员都有误解,认为自动化测试越多越好,在某 种程度上说这种理解是正确的,但是我们更应该对app自动化测试进行分析和设计。各阶段 的自动化测试各有特点。
0
初始 分叉结点
1
状态结点
2
3
4
判断分支
5
6
状态结点
7
分叉结点
11
状态结点
12
13
分叉节点
14
16 17 15
汇合结点
18
8
19
状态结点
9
10
结束
20
转换过程(二)
operation NodeType firstin firstout
tailvex Headvex Hlink Tlink Data
有操作路径
转换过程(一)
进入主界面
进入缴费 界面
选择缴费
输入客户编 号
显示客户 基本信息
点击确认按 钮 是
编号合法? s1
显示缴费支 付方式界面
s3
否
提示“用户信 息查询失败”
选择充值卡
选择现金选择银行卡
进入现金 支付界面
进入银行卡 支付界面
进入充值卡 支付界面
点击返回
s2 点击退出
s4
退卡 点击取消
活动转换
UML活动图向测试 用例的转换
通过UML活动图能够条理化的推演出所有操作,甚至能够找出需求没 有明确说明的步骤。
通过深度优先算法遍历所有路径,生成的路径远远高过人工编写用例。
最终生成的测试用例覆盖度高于通常的人工编写测试用例方式,并且 自动导出到excel,减小了工作量。
通过图形化的方式描述测试场景,方便评审,比阅读文字测试用例效 率高 对于样式类似的页面,方便复用
测试用例的生成结果依赖于所使用的模型。比如使用UML状态图模型时,根 据一定的覆盖准则遍历状态间的迁移所获得的转换路径就是测试路径
功能测试用例自动生成技术
UML活动图主要包括活动状态、对象、变迁、变迁条件、分支汇聚结点、决策节点、合 并节点等基本元素,可以用于记录单个操作或业务流程逻辑。测试场记是活动图中的一 个路径序列,在活动图上,从起始结点到终止节点任意可能的路径,都能表示为待测软 件的一个测试场景,而活动图可以看做是一种操作流程图,节点间是有先后关系的,为 了获得活动图中所有的测试路径,必须通过图的深度优先算法来获取所有流程路径,通 过这种方法能够得到一个模块的所有操作路径覆盖的测试用例集。
不同层级的测试都很有必要,而我们要根据不同测试 所处的层级和其特点来进行测试设计
GUI自动化测试设计
基于用户界面的自动化测试层 级最高,需要准备的测试环境和 测试数据更复杂,运行时间更长, 所以我们应该把其他测试层级能 覆盖的测试尽可能的推到更底层 的测试层级。
由于机器比较适合做简单重复,但工作量大的工作,因此 设计GUI自动化测试时,原则是尽可能编写用户旅程级别的测 试用例,而对于一些复杂的反向功能测试用例,例如需要特定 环境或复杂操作的测试应该给手工测试执行。否则维护成本过
功能测试用例自动生 成技术
几十个页面,内容都 差不多,全部都要写 用例,能不能自动化 生成,自动执行?
功能测试用例自动生 成技术
功能测试人员应该把主要精力 放在测试设计上,像一个设计师 一样工作!让复制粘贴、码字这 样的工作交给机器去做吧!
功能测试用例自动生 成技术
软件测试功能测试过程是将被测软件系统看作一个黑盒,通过对它进行一 系列的操作、输出,来查看被测系统是否能正常响应和输出。测试人员设计 的测试用例即设计一系列的操作步骤和输入来尽量完全覆盖被测系统的功能 路径并确认系统能合理的处理所有输入。
0 开始 初始结点 ^
1 进入主界面 动作结点
2 选择缴费 动作结点
3 结点列表
进入缴费界 面
状态结点
4 输入客户号 动作结点
5
点击确认按 钮
动作结点
6 NULL 判断结点
7
提示用户查 询失败
状态结点
8
Null 分叉结点
0
1
^
^ Null
1
2
^
^ Null
2
3
^
^ Null
3
4
^
^ Null
4
5
^
^
UML活动图向测试 用例的转换
一个典型的测试用例结构主要包含以下部分: 1、测试操作步骤;2、测试数据;3、期望结果。4、测试场景。
场景就是顺序化的、确定化的系统执行轨迹,测试场景是多个测试操作步骤的 序列。
可以把活动节点作为测试用例的一个操作步骤,同时测试用例中的期望结果可以看作是一 个需要验证的状态,因此在活动图中可以给用一个状态结点作为测试用例的期望结果。在 一个活动图中从初始节点通过活转换、分支、汇合最终达到活动终点,这些不同的路径序 列可以组成多个测试场景。