测试项目管理与测试用例设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
测试执行
创建测试集(Create Test Sets)
确定进度表(Schedule Runs) : 运行测试(Run Tests) : 分析测试结果(Analyze Test Results) :
7
缺 陷 跟 踪 ( Tracking Defects )
报告程序中产生的缺陷并跟踪缺陷修复的全过程 添加缺陷(Add Defects)
22
(2) 如果输入条件规定了输入值的 集合,或者是规定了“必须如何” 的条件,这时可确立一个有效等价 类和一个无效等价类。
例如,在Pascal语言中对变量标
识符规定为“以字母打头的…… 串”。那么所有以字母打头的构成 有效等价类,而不在此集合内(不 以字母打头)的归于无效等价类。
23
(3) 如果输入条件是一个布尔量, 则可以确定一个有效等价类和一个 无效等价类。 (4) 如果规定了输入数据的一组值, 而且程序要对每个输入值分别进行 处理。这时可为 每一个输入值确 立一个有效等价类,此外针对这组 值确立一个无效等价类,它是所有 不允许的输入值的集合。
26
用等价类划分法设计测试用例的实
例 在某一PASCAL语言版本中规定: “标识符是由字母开头,后跟字母 或数字的任意组合构成。有效字符 数为8个。” 并且规定:“标识符必须先说明, 再使用。” “在同一说明语句中, 标识符至少必须有一个。”
27
用等价类划分方法,建立输入等价类表:
28
下面选取了9个测试用例,它们覆盖了 所有的等价类。 ① VAR xy1 :REAL; BEGIN xy1 := 3.414; (1), (4), (7),(8), (11), (13) ② VAR x,Ta234567:REAL; BEGIN x := 3.414; Ta234567 := 2.732; (2), (4), (7), (8), (11), (13) ③ VAR :REAL; (3) ④ VAR x,:REAL; (5)
2
测试管理过程
配置管理过程
3
测试管理过程
(The Test Management Process )
需求定义(Specify Requirements): 测试计划(Plan Tests): 测试执行(Execute Tests): 缺陷跟踪(Track Defects): 风险分析(risk analyze )
修改打开的缺陷(Repair Open Defects) :
回归测试 (regression testing) 分析缺陷数据(Analyze Defect Data):
8
风险分析
评估风险发生的可能性及影响度,
9
配置管理过程
什么是配置管理? 贯穿 于整个软件生命周期,它为软件研 发提供了一套管理办法和活动原则. 软件配置管理的主要任务是什么? 1. 实施变更管理 2. 实施版本管理和发行管理
24
例如,在教师上岗方案中规定对教
授、副教授、讲师和助教分别计算 分数,做相应的处理。因此可以确 定4个有效等价类为教授、副教授、 讲师和助教,一个无效等价类,它 是所有不符合以上身分的人员的输 入值的集合。 (5) 如果规定了输入数据必须遵守 的规则,则可以确立一个有效等价 类(符合规则)和若干个无效等价 类(从不同角度违反规则)。
软件测试系列课程
测试项目管理与测试用例设计
1
测试项目管理
软件测试的项目管理是指为了使软件测 试项目能够按照预定的成本、进度、质 量顺利完成,而对成本、人员、进度、 质量、风险等进行分析和管理的活动。 它关注的是子系统中人员、过程、产品 三要素的互动与变化,以及测试管理子 系统与开发管理子系统的相互关联、相 互作用。
10
测试用例的设计
11
测试技术分类
软件测试技术
静态测试
动态测试
代 码 走 查
技 术 评 审
代 码 审 查
黑盒测 试
白盒测 试
界面 测试
功能 测试
性能 测试
回归 测试
语句 覆盖
分支 覆盖
路径 覆盖
12
黑盒测试
这种方法是把测试对象看做一
个黑盒子,测试人员完全不考 虑程序内部的逻辑结构和内部 特性,只依据程序的需求规格 说明书,检查程序的功能是否 符合它的功能说明。
16
黑盒测试---设计测试用例的几 个主要方法
– 等价类划分 – 边界值分析 – 错误推测法 – 因果图
17
等价类划分
等价类划分是一种典型的黑盒测试
方法,使用这一方法时,完全不考 虑程序的内部结构,只依据程序的 规格说明来设计测试用例。 等价类划分方法把所有可能的输入 数据,即程序的输入域划分成若干 部分,然后从每一部分中选取少数 有代表性的数据做为测试用例。
18
使用这一方法设计测试用例要经历
划分等价类和选取测试用例两步。 划分等价类 等价类是指某个输入域的子集合。 在该子集合中,各个输入数据对于 揭露程序中的错误都是等效的。测 试某等价类的代表值就等价于对这 一类其它值的测试。
19
等价类的划分有两种不同的情况:
① 有效等价类:是指对于程序的 规格说明来说,是合理的,有意 义的输入数据构成的集合。 ② 无效等价类:是指对于程序 的规格说明来说,是不合理的, 无意义的输入数据构成的集合。 在设计测试用例时,要同时考虑 有效等价类和无效等价类的设计。
13
黑盒测试方法是在程序接口上进行测试, 主要是为了发现以下错误: – 是否有不正确或遗漏了的功能? – 在接口上,输入能否正确地接受? 能否输出正确的结果? – 是否有数据结构错误或外部信息 (例如数据文件)访问错误? – 性能上是否能够满足要求? – 是否有初始化错误?
14
用黑盒测试发现程序中的错误,
42
例子
软件规格说明书 “第一列字符必须是A或B,第二列字符 必须是一个数字,在此情况下进行文件 的修改。但如果第一列字符不正确,则 给出信息L,如果第二列字符不是数字, 则给出信息M。”
43
原因: 1——第一列字符是A; 2——第一列字符是B; 3——第二列字符是一数字。 结果: 21——修改文件; 22 ——给出信息L; 23——给出信息M。
44
因果图和具有约束的因果图
11为中间节点; 考虑到原因1和原因2不可能同时为1,因此在因果图 上施加E约束。
45
判定表
根据因果图建立如下的判定表
1 1 1 1 1 ////// // // // // ////// 2 1 1 0 ////// // // // // ////// A3 A8 3 1 0 1 1 0 1 0 AM A? 4 1 0 0 1 0 0 1 B5 B4 5 0 1 1 1 0 1 0 BN B! 6 0 1 0 1 0 0 1 C2 X6 7 0 0 1 0 1 0 0 DY P; 8 0 0 0 0 1 0 1 结 果 原 因 2 3 11
29
⑤ VAR T12345678:REAL; (6) ⑥ VAR T$:CHAR; (9) ⑦ VAR GOTO:INTEGER; (10) ⑧ VAR 2T:REAL; (12) ⑨ VAR PAR:REAL; (14) BEGIN ...... PAP := SIN (3.14 * 0.8) / 6;
35
错误推测法
人们也可以靠经验和直觉推测程序
中可能存在的各种错误,从而有针 对性地编写检查这些错误的例子。 这就是错误推测法。 错误推测法的基本想法是:列举出 程序中所有可能有的错误和容易发 生错误的特殊情况,根据它们选择 测试用例。
36
Sql注入式攻击
是指利用设计上的漏洞,在服务器上运行Sql 命 令以达到的攻击目的
20
划分等价类的原则。 (1) 如果输入条件规定了取值范围,或值的 个数,则可以确立一个有效等价类和两个无 效等价类。
21
例如,在程序的规格说明中,
对输wenku.baidu.com条件有一句话:
“…… 数值可以从1到999 ……” 则有效等价类是“1≤数值≤999” 两个无效等价类是“数值<1”或 “数值>999”。在数轴上表示成:
38
(1)
分析软件规格说明描述中,哪 些是原因 (即输入条件或输入条件 的等价类),哪些是结果 (即输出 条件),并给每个原因和结果赋予 一个标识符。 (2) 分析软件规格说明描述中的语 义,找出原因与结果之间,原因与 原因之间对应的是什么关系? 根据 这些关系,画出因果图。
39
(3) 由于语法或环境限制,有些原因 与原因之间,原因与结果之间的组 合情况不可能出现。为表明这些特 殊情况,在因果图上用一些记号标 明约束或限制条件。 (4) 把因果图转换成判定表。 (5) 把判定表的每一列拿出来作为依 据,设计测试用例。
4
需求定义
定义测试范围(Define Testing Scope): 创建需求(Create Requirements): 描述需求(Detail Requirements): 分析需求(Analyze Requirements):
5
测试计划
定义测试策略(Define Testing Strategy): 定义测试单元(Define Test Subject): 定义测试(Define Tests): 创建需求覆盖(Create Requirements Coverage): 设计测试用例(Design Test Case): 分析测试计划(Analyze Test Plan):
是不是要把所有的输入条件可 能的情况都进行一遍测试呢?
这是不可能的。
15
假设一个程序P有输入量X和Y及输出量Z。 在字长为32位的计算机上运行。若X、Y 取整数,按黑盒方法进行穷举测试: 可能采用的 测试数据组: 232×232 =264 如果测试一组数据需要1毫秒,一年工 作365× 24小时,完成所有测试需5亿 年。
30
边界值分析
边界值分析也是一种黑盒测试方法, 是对等价类划分方法的补充。 人们从长期的测试工作经验得知,大 量的错误是发生在输入或输出范围的 边界上,而不是在输入范围的内部。 因此针对各种边界情况设计测试用例, 可以查出更多的错误。
31
比如,在做三角形计算时,要输入
三角形的三个边长:A、B和C。 我 们应注意到这三个数值应当满足 A>0、B>0、C>0、 A+B>C、A+C>B、B+C>A, 才能构成三角形。但如果把六个不 等式中的任何一个大于号“>”错 写成大于等于号“≥”,那就不能构 成三角形。问题恰出现在容易被疏 忽的边界附近。
Select * from 用户表 where 姓名='name' and 密码='password' Select * from 用户表 where 姓名 ='111‘ or '1=1' and 密码='aaaa'
37
因果图
因果图的适用范围
如果在测试时必须考虑输入条件的 各种组合,可使用一种适合于描述 对于多种条件的组合,相应产生多 个动作的形式来设计测试用例,这 就需要利用因果图。 因果图方法最终生成的就是判定表。 它适合于检查程序输入条件的各种 组合情况。
40
在因果图中出现的基本符号 通常在因果图中用Ci表示原因,用Ei表 示结果,各结点表示状态,可取值“0” 或“1”。“0”表示某状态不出现,“1” 表示某状态出现。 主要的原因和结果之间的关系有:
41
表示约束条件的符号 为了表示原因与原因之间,结果与结果 之间可能存在的约束条件,在因果图中 可以附加一些表示约束条件的符号。
25
再从划分出的等价类中按以下原则
选择测试用例: (1) 为每一个等价类规定一个唯一编号;
(2) 设计一个新的测试用例,使其尽可能 多地覆盖尚未被覆盖的有效等价类,重 复这一步,直到所有的有效等价类都被 覆盖为止; (3) 设计一个新的测试用例,使其仅覆盖 一个尚未被覆盖的无效等价类,重复这 一步,直到所有的无效等价类都被覆盖 为止。
32
使用边界值分析方法设计测试用例,首 先应确定边界情况。应当选取正好等于, 刚刚大于,或刚刚小于边界的值做为测 试数据
33
例子
1:依据边界值分析法确定测试用例
Id 地址 邮编
1~10个字母 0~10个汉字 7个数字
34
2. 根据下面给出的规格说明,利用等价类 划分的方法,给出足够的测试用例。 “一个程序读入三个整数。把此三个数 值看成是一个三角形的三个边。 这个程序要打印出信息,能够构成三角 形用边界值分析法和等价类划分法确定 测试用例