软件测试与质量保障全册配套完整精品课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件测试与质量保障全册配套完整精品课件.ppt》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 质量 保障 配套 完整 精品 课件
- 资源描述:
-
1、软件测试与质量保障全册配套软件测试与质量保障全册配套 完整精品课件完整精品课件 公园拆墙透绿, 宝玉出门俏人伤 Java+3G+物联物联 网软件工程师网软件工程师 3G-iOS软件测试工程师软件测试工程师 国际软件测试工程师国际软件测试工程师 C+国际软件工程师国际软件工程师 .NET+3G云计云计 算软件工程师算软件工程师 PHP/WEB3.0互联网工程师互联网工程师 3G-Android软件工程师软件工程师 嵌入式开发工程师嵌入式开发工程师 数字艺术数字艺术UID 设计工程师设计工程师 经典著作推荐经典著作推荐 uBill Hetzel,软件测试完全指南,软件测试完全指南 (Complet
2、e Guide of Software Testing ) uGlenford J.Myers代表论著代表论著The Art of Software Testing uPaul C. Jorgensen, Software Testing A Craftsmans Approach软件软件 测试测试 什么是软件什么是软件 “臭虫臭虫”的由来的由来 人们将软件错误人们将软件错误 称为称为“臭虫臭虫”, 这是因为第一个这是因为第一个 有记载的电脑故有记载的电脑故 障是由线路上的障是由线路上的 臭虫造成的。就臭虫造成的。就 是我们通常称的是我们通常称的 “BUG”。 软件失败的术语描述软件失败的术语
3、描述 缺点(缺点(defect) 偏差偏差(variance) 谬误谬误 (fault) 失败失败(failure) 问题问题 (problem) 矛盾矛盾(inconsistency) 错误错误 (error) 特殊特殊(feature) 毛病毛病 (incident) 缺陷缺陷(bug) 异常异常 (anomaly) 软件失败的几个定义软件失败的几个定义 u错误:人类会犯错误。错误:人类会犯错误。 u缺陷:缺陷是错误的结果。缺陷:缺陷是错误的结果。 u失效:当缺陷执行时会发生失效。失效:当缺陷执行时会发生失效。 u事故:当出现失效时,可能会也可事故:当出现失效时,可能会也可 能不会呈现给用
4、户。能不会呈现给用户。 w缺陷容易被找出吗? 软件的特殊性决定了缺陷不易看到,即 “看不到”; 发现了缺陷,但不易找到问题发生的原 因所在,即“看到但是抓不到”。 软件缺陷产生的原因软件缺陷产生的原因 编制说明书 55% 设计 26% 其他 4% 编写代码 15% 编制说明书 设计 编写代码 其他 软件测试员的目标软件测试员的目标 发现软 件缺陷 测试的“成功”与“失败”就在于: 能否发现错误! 注意: 问题发现越早,解决问题的代价就越小。 缺 陷 存 在 放 大 趋 势 软件测试最致命的缺陷就是: 不不能进行彻底的测试 为什么不可能做穷举测试为什么不可能做穷举测试 循环次数0 1220 独立
5、路径数51+52+53+5211014 每个测试用例(考虑、执行、验证结果)5分钟 共需测试时间10亿年 M1 D1 D2 D3D4 M2M3M4M5M6 M7 D5 =20次 为什么不可能做穷举测试为什么不可能做穷举测试 u 若X、Y为所有可能的整数,在字长32位机上 测试: X1、Y1 Z1 Xn、Yn Zn 测试次数:n = 232232 = 264 1.84 1019 程序P X Y Z 输入 输出 Pareto原则暗示原则暗示 着测试发现的错着测试发现的错 误中的误中的80%很可很可 能起源于程序模能起源于程序模 块中的块中的20%。 u5.软件缺陷的寄生虫性软件缺陷的寄生虫性 找到
6、的软件缺陷越多,就说明软件缺陷越多找到的软件缺陷越多,就说明软件缺陷越多 原因: 程序员的疲倦 程序员往往犯同样的错误 某些软件的缺陷其实是大灾难的征兆 u6.6.避免测试自己的程序避免测试自己的程序 程序员轻易不会承认自己写的程序有错误;程序员轻易不会承认自己写的程序有错误; 程序员的测试思路有局限性,做测试时很容程序员的测试思路有局限性,做测试时很容 易受到编程思路的影响;易受到编程思路的影响; 程序员测试不具有典型性程序员测试不具有典型性 u7.7.设计周密的测试用例设计周密的测试用例 软件测试的本质就是针对要测试的内容确软件测试的本质就是针对要测试的内容确 定一组定一组测试用例测试用例
7、。 测试用例至少应包括:测试用例至少应包括: F执行测试用例前,应满足的前提条件执行测试用例前,应满足的前提条件 F输入输入 F预期输出预期输出 设计测试用例时,应当包括合理的输入条设计测试用例时,应当包括合理的输入条 件和件和不合理的输入条件不合理的输入条件。 u8.8.回归测试回归测试 程序修改后必须进行回归测试,避免引入程序修改后必须进行回归测试,避免引入 新的错误。新的错误。 u9.9.严格执行测试计划,排除测试的随意严格执行测试计划,排除测试的随意 性。性。 u10.10.确认确认BUGBUG的有效性的有效性 对测试错误结果一定要有一个确认的过程。对测试错误结果一定要有一个确认的过程
8、。 有时候测试人员提交的有时候测试人员提交的BUGBUG并不是真正的并不是真正的BUGBUG。 u11.11.妥善保存测试计划,测试用例,出妥善保存测试计划,测试用例,出 错统计和最终分析报告,为维护提供方错统计和最终分析报告,为维护提供方 便。便。 第第2讲讲 测试模型与过程测试模型与过程 本讲内容 测试层次的传统观点 软件测试模型 软件测试流程 2.1 测试层次的传统观点测试层次的传统观点 瀑布模型 需求规格说明 概要设计 详细设计 编码 单元测试 集成测试 系统测试 瀑布式生命周期 2.2 软件测试模型软件测试模型 uV模型模型 uW模型模型 uH模型模型 uX模型模型 u测试前置模型测
9、试前置模型(测试驱动模型测试驱动模型) 需求分析 概要设计 详细设计 编码 单元测试 集成测试 系统测试 验收测试 需求测试需求分析 功能测试概要设计 设计测试详细设计 单元测试编码 系统测试验收 确认测试确认 集成测试 集成 W模型模型 测试准备 测试执行 测试流程 其他流程 测试就绪点 u1.1.准备测试环境准备测试环境 u2.2.获得测试数据获得测试数据 u3 3. .测试测试脚本脚本 u4 4. .辅助辅助测试工具测试工具 输入输入 执行过程执行过程 检查过程检查过程 输出输出 u1 1)覆盖评测覆盖评测 u2)质量质量评测评测 u3)性能性能评测评测 测试人必备的素质测试人必备的素质
10、 u三心:三心:责任心,细心,耐心责任心,细心,耐心 u二意:二意:服务意识,团队合作意识服务意识,团队合作意识 应该思考的问题应该思考的问题 u测试是开发后期的一个阶段。测试是开发后期的一个阶段。 u软件测试要求技术不高,比编程容易多了软件测试要求技术不高,比编程容易多了 ,随便找一个人就可以了。,随便找一个人就可以了。 u测试要执行所有可能的输入。测试要执行所有可能的输入。 u有时间就多测试些,没时间就少测试些。有时间就多测试些,没时间就少测试些。 u软件测试是测试人员的事,与开发人员无软件测试是测试人员的事,与开发人员无 关关 u调试和测试是一样的。调试和测试是一样的。 u测试就是运行一
11、下软件看看结果对不对。测试就是运行一下软件看看结果对不对。 第第2讲讲 软件测试方法软件测试方法 1 软件测试方法软件测试方法 软 件 测 试 按阶段划分 单元测试 确认测试 系统测试 验收测试 按测试技术 灰盒测试 白盒测试 黑盒测试 是否执行程序 动态测试 静态测试 回 归 测 试 集成测试 静态与动态静态与动态 u静态静态只是检查和审阅只是检查和审阅 u动态动态运行和使用软件运行和使用软件 按按测试实施组织测试实施组织划分划分 开发方测试(开发方测试(alpha测试)测试) 用户测试(用户测试(测试)测试) 第三方测试(外包)第三方测试(外包) 测试类型测试类型 u按照企业中实际工作需要
12、,测试主按照企业中实际工作需要,测试主 要包含下面的类型要包含下面的类型: (1)功能测试)功能测试 (2)接口测试)接口测试 (3)健壮性测试)健壮性测试 (4)强度测试)强度测试 (5)压力测试)压力测试 (6)性能测试)性能测试 (7)用户界面测试)用户界面测试 (8)安全测试)安全测试 (9)可靠性测试)可靠性测试 (10)安装)安装/反安装测试反安装测试 (1111)文档测试)文档测试 (1212)恢复测试)恢复测试 (1313)兼容性测试)兼容性测试 (1414)回归测试)回归测试 软件测试方法软件测试方法 软 件 测 试 按阶段划分 单元测试 确认测试 系统测试 验收测试 按测试
13、技术 灰盒测试 白盒测试 黑盒测试 是否执行程序 动态测试 静态测试 回 归 测 试 集成测试 黑盒测试黑盒测试 u黑盒测试(黑盒测试(Black-box Testing) 软件 输入输入 输出输出 w又叫功能测试功能测试,数据驱动测试数据驱动测试或基于规格说明基于规格说明 的测试的测试。 彻底的黑盒测试彻底的黑盒测试 u例例:输入三角形的三条边长输入三角形的三条边长 黑盒测试可采用的测试用例数黑盒测试可采用的测试用例数 (设字长设字长16位位) 输入输入 输出输出 例:测试计算器的功能例:测试计算器的功能 黑盒测试的难点黑盒测试的难点 u黒盒测试的难点在于黒盒测试的难点在于如何构造有效的如何
14、构造有效的 输入输入。 由于输入空间通常是无限的,穷举测试显由于输入空间通常是无限的,穷举测试显 然行不通。然行不通。 寻找最小最重要的用例集合以精简测试复寻找最小最重要的用例集合以精简测试复 杂性。杂性。 黑盒测试方法黑盒测试方法 u黑盒测试的测试用例设计方法黑盒测试的测试用例设计方法 等价类划分等价类划分 边界值分析边界值分析 基于决策表的测试基于决策表的测试 因果图因果图 错误推测错误推测 u等价类方法可令测试事半功倍。等价类方法可令测试事半功倍。 u举例:设计测试用例,实现一个对所举例:设计测试用例,实现一个对所 有实数进行开方运算(有实数进行开方运算(f = sqrt(x))的)的
15、程序的测试。程序的测试。 2.1 等价类等价类 u划分划分 u等价类等价类 u等价类的分类等价类的分类 u确定等价类的原则确定等价类的原则 u等价类测试的分类等价类测试的分类 1) 划划 分分 u划分是指互不相交的一组子集,这些子划分是指互不相交的一组子集,这些子 集的并是整个集合。集的并是整个集合。 u划分的划分的定义定义 给定集合给定集合B,以及,以及B的一组子集的一组子集A1、 A2、An,这些子集是,这些子集是B的一个划分的一个划分 当且仅当当且仅当 u等价类测试的假设等价类测试的假设 测试某等价类的代表值,就等效于对这个等测试某等价类的代表值,就等效于对这个等 价类中其他值的测试。价
16、类中其他值的测试。 u等价类测试的思想等价类测试的思想 把全部的输入数据把全部的输入数据划分成若干个等价类划分成若干个等价类, 在每一个等价类中取一个数据在每一个等价类中取一个数据来进行测试。来进行测试。 3)等价类的分类)等价类的分类 u有效等价类有效等价类 对于程序的规格说明来说,是对于程序的规格说明来说,是合理的合理的、有有 意义的意义的输入数据所构成的集合;输入数据所构成的集合; u无效等价类无效等价类 对于程序的规格说明来说,是对于程序的规格说明来说,是不合理的不合理的、 没有意义的没有意义的输入数据所构成的集合;输入数据所构成的集合; 4) 确定等价类的原则确定等价类的原则 u(1
17、) 输入条件规定了取值范围或值的个数输入条件规定了取值范围或值的个数; ; u(2) 输入条件规定了输入值的输入条件规定了输入值的集合集合或是规或是规 定了定了“必须如何必须如何”的条件的条件; ; u(3) 输入条件是一个输入条件是一个布尔量布尔量; ; u(4)如果规定了输入数据的如果规定了输入数据的一组值一组值, , 且程序且程序 要对每一个输入值分别进行处理要对每一个输入值分别进行处理; ; u(5)规定了输入数据必须遵循的规则规定了输入数据必须遵循的规则; ; u(6)如已划分的等价类各元素在程序中的处如已划分的等价类各元素在程序中的处 理方式不同理方式不同; ; 2.2 用等价类设
18、计测试用例用等价类设计测试用例 u(1)划分等价类,形成等价类表划分等价类,形成等价类表 u(2)设计一新的测试用例,使其设计一新的测试用例,使其尽可能尽可能 多地覆盖尚未覆盖的有效等价类多地覆盖尚未覆盖的有效等价类,重,重 复这一步骤,直到所有的有效等价类复这一步骤,直到所有的有效等价类 都被覆盖为止;都被覆盖为止; u(3)设计一新测试用例,使其只设计一新测试用例,使其只覆盖一覆盖一 个无效等价类个无效等价类,重复这一步骤直到所,重复这一步骤直到所 有无效等价类均被覆盖;有无效等价类均被覆盖; u讨论对象讨论对象 一个具有两个自变量一个具有两个自变量x1和和x2的函数的函数F 输入变量输入
19、变量x1和和x2的边界以及边界内的区的边界以及边界内的区 间为:间为: Fa x1 da x1 d,区间为,区间为a, b)a, b),b, c)b, c),c, dc, d Fe x2 ge x2 g,区间为,区间为e, f)e, f), f, gf, g u讨论对象(续)讨论对象(续) 2.3 等价类测试的等价类测试的分类分类 u单缺陷与多缺陷假设产生单缺陷与多缺陷假设产生弱等价类弱等价类与与强强 等价类等价类测试之分;测试之分; u是否进行无效数据的处理产生是否进行无效数据的处理产生健壮健壮与与一一 般等价类般等价类测试之分;测试之分; u等价类测试的分类:等价类测试的分类: 弱一般等价
20、类测试弱一般等价类测试 强一般等价类测试强一般等价类测试 弱健壮等价类测试弱健壮等价类测试 强健壮等价类测试强健壮等价类测试 (1) 弱一般等价类测试弱一般等价类测试 u“单缺陷单缺陷”假设假设 失效极少是由两个或多个缺陷的同时发生失效极少是由两个或多个缺陷的同时发生 引起的引起的 u测试用例设计:测试用例设计: 选取的测试用例覆盖所有的有效等价类选取的测试用例覆盖所有的有效等价类 (只有一个缺陷)。(只有一个缺陷)。 弱一般等价类测试用例弱一般等价类测试用例 (2) 强一般等价类测试强一般等价类测试 u基于多缺陷假设基于多缺陷假设 u测试用例设计:测试用例设计: 将每个变量的有效等价类做笛卡
21、尔积,将每个变量的有效等价类做笛卡尔积, 设计测试用例覆盖笛卡尔积的每个元设计测试用例覆盖笛卡尔积的每个元 素。素。 一个变量个数为n的函数的强一般等价类测试会产生多少个测 试用例? 思考:思考: 强一般等价类测试用例 (3) 弱健壮等价类测试弱健壮等价类测试 u弱:基于单缺陷假设弱:基于单缺陷假设 u健壮:考虑无效值健壮:考虑无效值 u测试用例设计:测试用例设计: 对有效输入,使用每个有效等价类的对有效输入,使用每个有效等价类的 一个值一个值 对无效输入,测试用例将拥有一个无对无效输入,测试用例将拥有一个无 效值,并保持其余的值都是有效的效值,并保持其余的值都是有效的 弱健壮等价类测试用例
22、(4)强健壮等价类测试)强健壮等价类测试 u强:多缺陷假设强:多缺陷假设 u健壮:考虑无效值健壮:考虑无效值 从所有等价类的笛卡尔积的每一个元从所有等价类的笛卡尔积的每一个元 素中获得测试用例素中获得测试用例 强健壮等价类测试用例 2.4 案例案例 u三角形问题三角形问题 以不同的角度划分等价类:以不同的角度划分等价类: F 输出值域等价类输出值域等价类 F 输入条件(数据范围)的等价类输入条件(数据范围)的等价类 F 以以“整数相等整数相等”关系划分的等价类关系划分的等价类 F 以两边之和与第三边之间的关系以两边之和与第三边之间的关系 1. 输出值域等价类输出值域等价类 u输出值域等价类输出
23、值域等价类 R1=:有三条边有三条边a、b和和c的的等边三角形等边三角形 R2=:有三条边有三条边a、b和和c的的等腰三角形等腰三角形 R3=:有三条边有三条边a、b和和c的的不等边三角不等边三角 形形 R4=:三条边三条边a、b和和c不能构成三角形不能构成三角形 2. 输入条件的等价类输入条件的等价类 u有效等价类:有效等价类: 0a200; 0b200; 0c200; u无效等价类:无效等价类: a200, b200, c200 3. “整数相等整数相等”关系划分等价类关系划分等价类 uD1=:a b c uD2=:ab, a c uD3=:ac, a b uD4=:bc, a b uD5
24、=:a b, a c, b c 4.以两边之和与第三边之间的关系以两边之和与第三边之间的关系 划分等价类划分等价类 uD6:a = b + c uD7:b =a + c uD8:c = a + b u等价类等价类D6的进一步划分的进一步划分 D6:a b + c D6:a c, 且且abc 3 a + b b, 且且abc 4 a + c a, 且且abc 5 b + c a28 b + c = a29 构成等腰三构成等腰三 角形角形 a = b,a c,且两边之和大,且两边之和大 于第三边于第三边 6 a = c,a b,且两边之和大,且两边之和大 于第三边于第三边 7 b = c,a b,
25、且两边之和大,且两边之和大 于第三边于第三边 8 构成等边三构成等边三 角形角形 a = b = c9 三 角 形 的 等 价 类 2.5 等价类测试指导方针和观察等价类测试指导方针和观察 u1)弱形式不如对应的强形式的测试全面。)弱形式不如对应的强形式的测试全面。 u2)如果实现语言是)如果实现语言是强类型强类型,则没有必要使用,则没有必要使用 健壮形式的测试。健壮形式的测试。 u3)如果错误条件非常重要,则进行健壮形式)如果错误条件非常重要,则进行健壮形式 的测试。的测试。 u4)强等价类测试假设)强等价类测试假设变量是独立的变量是独立的,相应的,相应的 测试用例相乘会引起冗余问题。如果存
展开阅读全文