1.24k likes | 1.39k Views
第 3 部分 软件测试技术. 本部分课程目标. 测试技术的基本概念 测试技术的使用技巧 测试技术的应用范围. 软件测试技术的分类. 静态黑盒测试 动态黑盒测试 静态白盒测试 动态白盒测试. 静态与动态. 静态 —— 只是检查和审阅 动态 —— 运行和使用软件. 黑盒与白盒. 黑盒:软件测试人员只需知道软件要做什么即可,无法看到盒子中是如何运行的。 白盒:软件测试人员可以访问程序员的代码,并通过检查代码来测试,可以看到盒子里面。. 静态黑盒测试. 对产品说明书进行高级审查 设身处地为用户着想 研究现有的标准和规范 审查和测试同类软件. 静态黑盒测试.
E N D
本部分课程目标 • 测试技术的基本概念 • 测试技术的使用技巧 • 测试技术的应用范围
软件测试技术的分类 静态黑盒测试 动态黑盒测试 静态白盒测试 动态白盒测试
静态与动态 • 静态——只是检查和审阅 • 动态——运行和使用软件
黑盒与白盒 • 黑盒:软件测试人员只需知道软件要做什么即可,无法看到盒子中是如何运行的。 • 白盒:软件测试人员可以访问程序员的代码,并通过检查代码来测试,可以看到盒子里面。
静态黑盒测试 对产品说明书进行高级审查 • 设身处地为用户着想 • 研究现有的标准和规范 • 审查和测试同类软件
静态黑盒测试 测试标准: 1、公司惯用语和约定 2、行业要求 3、国家标准 4、硬件和网络标准 5、图形用户界面(GUI)。
产品描述属性检查清单 • 完整 • 准确 • 精确 • 一致 • 合理 • 代码无关 • 可测试
产品描述用语检查清单 • 是否有绝对、肯定和切实认定的叙述,针对其设计用例。 • 比较模糊的用语。某些、有时····· • 功能清单是否有等等、诸如此类、依此类推,无法测试的词汇。 • 在性能上不确定的说法。 • 隐藏大量需要说明的功能 • 如果·····那么·····(没有否则)。
产品说明案例分析 ◆ 国产电子软件的巅峰之作,包含12本权威词典、32本专业词典,最新收录原汁原味的美语英汉双解词典:《美国传统词典》;◆ 强大的网络功能,定时更新最新词库、词霸界面、随时下载功能插件;◆ 国际顶尖的TTS语音全程技术,彻底实现单词乃至整篇文章的流畅朗读;◆ 新增“生词本”功能,是您学习英语的好帮手; 智能的即指即译功能,可在任意窗口下实现中英文对译。
静态黑盒测试的小结 • 标准 • 产品描述属性检查 • 产品描述用语检查
动态黑盒测试——边界值分析 边界值测试的基本原理: • 错误更可能出现在输入变量的极值附近. • 失效极少由两个(或多个)缺陷的同时发生引起的。 • Min、min+、nom、max-和max。
动态黑盒测试——边界值测试 如果函数F实现了一个程序,则输入两个变量x1和 x2会有一些边界: a≤ x1≤ b c ≤ x2≤ d 区间[a,b]和[c,d]是x1和 x2的值域。
x1 d c x2 a b 动态黑盒测试——边界值分析
x1 d c x2 a b 动态黑盒测试——边界值分析
动态黑盒测试——边界值分析 边界的数据类型可能是: 数值 速度 字符 地址 位置 尺寸 数量
动态黑盒测试——边界值分析 边界值类型的描述: 第一个/最后一个 最小值/最大值 开始/完成 超过/在内 空/满 最短/最长 最大/最小 最高/最低 相邻/最远
动态黑盒测试——次边界值分析 次边界条件: 有些边界条件在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。这样的边界条件称为次边界条件或者内部边界条件。如2的乘方和ASCⅡ。
动态黑盒测试——边界值分析 边界值分析的特点和局限性 • 对于一个n变量函数,边界值分析会产生4n+1个测试用例。 • 边界值的取值取决于变量本身的性质。 • 边界值分析对布尔变量没有什么意义。 • 边界值分析假设变量是完全独立的。
x1 d c x2 a b 动态黑盒测试——健壮性测试 健壮性测试是边界值分析的一种简单扩展
x1 d c x2 a b 动态黑盒测试—最坏情况测试 • 最坏情况测试用例
x1 d c x2 a b 动态黑盒测试—健壮最坏情况测试 • 健壮最坏情况测试用例
动态黑盒测试——练习 1、写出三角形问题的边界值分析测试用例 2、写出NextDate函数的最坏情况测试用例
动态黑盒测试—佣金问题的测试用例 写出佣金问题的输出 边界值分析测试用例
边界值测试的小结 • 这类测试方法是基于一种假设:输入的变量是真正独立的。 • 这些方法的区别是:正常值与健壮值;单缺陷与多缺陷。
动态黑盒测试—等价类测试 • 等价分配:是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。 • 等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试。 • 在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组是等价区间。
x1 g f e x2 a d b c 动态黑盒测试—等价类测试 弱一般等价类测试用例
x1 g f e x2 a d b c 动态黑盒测试—等价类测试 强一般等价类测试用例
x1 g f e x2 a d b c 动态黑盒测试—等价类测试 弱健壮等价类测试用例
x1 g f e x2 a d b c 动态黑盒测试—等价类测试 强健壮等价类测试用例
动态黑盒测试—等价类测试 • 写出三角形问题的输入等价类和输出等价类 • 写出NextDate函数的输入等价类 • 写出佣金问题的输入和输出等价类 • Windows文件名可以包含除了、/:*?“〈〉。文件名长度是1-255个字符。写出文件名创建测试用例。
等价类测试的小结 • 等价类测试的弱形式不如对应的强形式的测试全面。 • 如果错误条件非常重要,则进行健壮性的测试是合适的。 • 如果输入数据以离散值区间和集合定义,则等价类测试是合适的。 • 在发现合适的等价类关系之前,可能需要进行多次尝试。
动态黑盒测试—基于决策表的测试 • 在所有功能测试方法中,基于决策表的测试方法是最严格的,因为决策表具有逻辑严格性。 • 决策表很适合描述不同条件集合下采取行动的若干组合的情况。
桩 规则1 规则2 规则3、4 规则5 C1 C2 C3 T T T T T F T F — F T T A1 A2 A3 X X X X X X X 动态黑盒测试—基于决策表的测试
桩 1 2 3 4 5 6 7 8 9 C1:a,b,c构成三角形? C2: a=b? C3: a=c? C4: b=c? N - - - Y Y Y Y Y Y Y N Y Y N Y Y Y N N Y N Y Y Y N Y N Y N NY Y N N N A1:非三角形 A2:不等边三角形 A3:等腰三角形 A4:等边三角形 A5:不可能 X X X X X X X X X 动态黑盒测试—基于决策表的测试
条件 1 2 3 C1:月份在M1中? C2:月份在M2中? C3:月份在M3中? T - - - T - - - T A1 A2 动态黑盒测试—基于决策表的测试
条件 1 2 3 C1:月份在M1中? C2:月份在M2中? C3:月份在M3中? 规则条数统计 T - - 4 - T - 4 - - T 4 A1 A2 动态黑盒测试—基于决策表的测试
条件 1 1 1 2 1 3 1 4 2 1 2 2 2 3 2 4 3 1 3 2 3 3 3 4 C1:月份在M1中?C2:月份在M2中?C3:月份在M3中? 规则条数统计 T T T 1 T T F 1 T F T 1 T F F 1 T T T 1 T T F 1 F T T 1 F T F 1 T T T 1 T F T 1 F T T 1 F F T 1 A1 A2 动态黑盒测试—基于决策表的测试
条件 1 1 1 2 1 3 1 4 2 3 2 4 3 4 C1:月份在M1中? C2:月份在M2中? C3:月份在M3中? 规则条数统计 T T T 1 T T F 1 T F T 1 T F F 1 F T T 1 F T F 1 F F T 1 F F F 1 A1 X X X X X 动态黑盒测试—基于决策表的测试
条件 1-4 5 6 7 8 9 C1 C2 C3 T - - F T T F T F F F T F F F T F F A1 A2 A2 X - X X X - X X X - X X - - X X - X 动态黑盒测试—基于决策表的测试
条件 1-4 5 6 7 8 9 C1 C2 C3 T - - F T T F T F F F T F F F T F F A1 A2 A2 X - X X X - X X X - X X - - X - X - 动态黑盒测试—基于决策表的测试
动态黑盒测试—基于决策表的测试 M1={月份:每月有30天}; M2={月份:每月有31天}; M3={月份:此月是2月}; D1={日期:1≤日期≤28}; D2={日期:日期=29}; D3={日期:日期=30}; D4={日期:日期=31}; Y1={年:年是闰年}; Y2={年:年不是闰年}。