版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ECJTU软软 件件 测测 试试 技技 术术bugs 第第2 2讲讲 黑盒测试技术黑盒测试技术2 2软件工程 赵丽萍创新大楼 西楼403-2-ECJTU黑盒测试技术 1 边界值测试 2 等价类测试 3 基于决策表的测试保险金案例因果图法错误推断法-3-ECJTU决策表等价类法的冗余问题 等价类测试中,个体域等价划分时基于独立性假设,忽略各输入条件之间的关联性。 2x3x5=30 个有效用例中,许多用例对应普通日期和无效日期,冗余情况严重,增大测试工作量。 思考这个问题的原理,提问? 分析一下-4-ECJTU决策表 个体输入域间有关联性,个体域上考虑所有情况,存在过划分。 在强组合方式下,造成了
2、大量的冗余用例。 决策表测试可以:对用例集进行化简合并,更好地改善输入条件之间的组合。消除用例间的冗余,缩减测试用例规模,同时保持等价类的效果。测试的完备性和无冗余性可以得到较好的体现-5-ECJTU决策表决策表的结构 假设有三个输入 A, B, C,分别有 2, 3, 2 种取值条件(或者等价类等) JPGc22_p62.png 输入区,输出区,表中每一列对应一个测试用例,有 2x3x2 种用例组合。 -6-ECJTU决策表 决策表法实际上可以作为,针对个体输入域的有效等价类测试的扩充。体现为:1)表中输入区域列出的元素并非具体数据,而是每个输入条件的有效等价类。2)决策表针对输入条件仅考虑
3、有效等价类,不考虑无效等价类。实际上,针对无效等价类的测试一般不存在冗余,不需要考虑冗余的消除。3)决策表的输出取值区并不涉及输出域的等价划分。-7-ECJTU决策表 决策表通过化简来识别输入条件之间,以及输入与输出之间的各种关系,达到降低测试用例规格、避免测试冗余的目的。化简的前提条件: 输出相同:欲化简的多个测试用例的预期输出结果应完全相同; 输入相似:欲化简的多个测试用例的输入应相似,即仅有一个输入条件取值(即对应的等价类)可以不相同,其他输入条件的取值(即对应的等价类)应完全相同。-8-ECJTU决策表决策表的化简 Y1(Y2)-M1-D1(D2,D3,D4)其实都是一个等价类的,符合
4、具体实际意义,系统得出下一天日期的计算方式相同。可以进行化简合并-9-ECJTU决策表 化简的结果:是使得某个输入条件的取值对测试用例的输出无影响,得到的新等价类也符合实际意义。Y1(Y2)-M1-D1(D2,D3,D4)=Y12-M1-D1=Y1-M1-D1234 经过一次化简后,若决策表中剩余测试用例仍然满足化简条件,则可继续化简,直到无法化简为止。 Y1-M1-D1234, Y2-M1-D1234=Y12-M1-D1234-10-ECJTU决策表测试用例的设计 分析输入域,并对个体输入域进行有效等价类划分 分析输出域,并对预期输出结果进行细化; 建立完整的决策表 对决策表进行不断地化简,
5、直至无法继续化简 根据最终的决策表设计测试用例决策表法的测试质量取决于对输入域等价划分的准确性和对输出域的细化程度,通常需要多次迭代完成。-11-ECJTU决策表捉虫实践5:NextDate的决策表法 个体输入域的划分,采用上一小节的等价类方法。 思考: 输出域的细化 ?具体输出什么具体输出什么?普通日期,月末日期,不存在日期下一天的日期输出细化:日期+1,1-日期, 月份+1, 1-月份, 年份+1 提示该日期不存在 输出的结果并非互斥-12-ECJTU决策表建立决策表 JPGc22_p63.png 包含了所有单个输入条件的组合-13-ECJTU决策表合并化简 输出相同,输入相似,一个输入不
6、同 Y1, M1, D1-D4 = Y1, M1, D1234 Y2, M1, D1-D4 = Y2, M1, D1234 再次化简= Y12, M1, D1234 含义是:只要包含31天的月份,且日期=30,则预期输出均为日期+1。 同样可以化简得到 Y12, M2, D123 (日期=29)-14-ECJTU决策表合并化简 输出相同,输入相似,一个输入不同 a Y1, M2, D4 b Y1, M3, D3 c Y2, M2, D4 d Y2, M3, D2 都是 日期+1,月份+1ac 可以合并,有具体含义:小月的月末日期。而ab ad, bd之间就不可以合并,小月和2月,闰年和非闰年的
7、2月 都不符合实际意义。-15-ECJTU决策表合并化简 二次化简后的决策表 JPGc22_p64.png 原先的30个,缩减为11个用例,有效地消除了用例间的冗余-16-ECJTU决策表 Y12, M2, D5 Y2, M3, D3 Y12, M3, D45它们的个体输入均对应有效等价类。却仍旧属于无效日期。决策表的化简法无法消除 因整体输入域拆分为个体输入域时导致的无效域数据。-17-ECJTU决策表合并化简Y1(Y2) M1 D5 的输出为:日期为 1 y月份为 1 ?月份 +1 ?年份 +1 ? 思考:输出不确定,什么原因? 普通大月月末,年末-18-ECJTU决策表 等价类划分不合理
8、,没有针对年末12月的等价类。 对输出结果的细化分析细化分析,可以找出等价类划分不合理的地方,即处理方式不一致的情况。-19-ECJTU决策表第二次决策表化简 2x4x5=40个用例,化简为12个用例 覆盖了所有的特殊日期,大小月中、月末,闰年和非闰年的2月末,年末等。 JPGc22_p65_2.png-20-ECJTU决策表 对比 整体输入域的等价类划分 JPGc2_p59.png JPGc2_p60.png 决策表的测试不仅包含了不存在的日期,还包含多个普通日期等的用例,且无法继续化简。JPGc22_p65_2.png决策表法尽管能在较大程度上消除测试冗余。但仍会受到各单输入条件的等价划分
9、的限制,不能保证达到完全的无冗余。-21-ECJTU决策表小结 目标是在特定条件下消除等价类测试的冗余。 基本思想:基于强组合等价类测试得到有效域上完整的测试用例集合,并通过合并化简消除用例间的冗余。 决策表法:以强组合等价类测试为基础,遵循独立性假设的。-22-ECJTU决策表测试用例的设计 分析输入域,并对个体输入域进行有效等价类划分 分析输出域,并对预期输出结果进行细化; 建立完整的决策表 对决策表进行不断地化简,直至无法继续化简 根据最终的决策表设计测试用例-23-ECJTU决策表化简的条件:输出相同;输入相似。化简的结果:是使得某个输入条件的取值对测试用例的输出无影响,得到的新等价类
10、也符合实际意义。决策表法的测试质量取决于对输入域等价划分的准确性和对输出域的细化程度,通常需要多次迭代完成。-24-ECJTU决策表需要注意的方面 当从整体输入域拆分为个体输入域时,若输入条件之间不存在相关性,则不需要使用决策表法。因为等价类测试生成的用例之间本身就不存在冗余。 决策表法不处理无效等价类,它不需要遵循单缺陷假设。 决策表法仅针对输入域展开分析,但需要从设计的角度对输出域进行细化,这样得到的用例才更加准确。-25-ECJTU等价类测试测试实践:三角形问题 三角形软件接受三个整数a、b和c作为输入,用作三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等
11、边三角形或非三角形。 整数a、b和c必须满足以下条件: C1. 1 a 200 C4. a b+c C2. 1 b 200 C5. b c+a C3. 1 c 200 C6. c b+a-26-ECJTU决策表测试实践:三角形问题的决策表 需要考虑:建立决策表:输入区域的合理等价划分,输出细化 不考虑C123,大家思考输入和输出,自己简单试画下表3-5分钟时间。-27-ECJTU决策表 预期输出:等边三角形、等腰三角形、不等边三角形或非三角形。 输入:对输入域的等价划分,且与输出有关,决定着输出结果。构成三角形ab+c, ba+c, c -40-ECJTU因果图法 建立决策表 三个输入,2x2
12、x2=8种情况。 考虑原因之间的关系(E约束),绘制决策表。E12112221233VV-41-ECJTU因果图法 建立决策表E12112221233VV12345678条件条件(原因原因)(1)11110000(2)11001100(3)10101010(11)111100动作动作(结果结果)(22)000011(21)101000(23)010101测试数据测试数据A3AMB5BNC2DY不可能不可能情况情况Exclude-42-ECJTU因果图法 用例 1 0 1 (A,B,数) 0 1 1 输出相同,条件(1)和(2)是 Exclude 关系 思考一下,可否化简合并,是否符合具体意义?
13、 A,B,非AB ,3个等价类,前两个可以合并。 画出部分因果图和决策表 在因果图上也可以化简合并,更方便 分析 NextDate 的化简合并情况,输入间是否是Exclude还是别的关系 JPGc22_p65_2.pngE12112221233VV-43-ECJTU因果图法测试实践:自动饮料机 某自动饮料机销售罐装饮料。销售的饮料包括:可乐、雪碧、芬达和醒目。每罐饮料的单价为三元五角,且仅接受硬币。若投入3元5角硬币,按下“可乐”、“雪碧”等按钮,就会送出相应的饮料。若投入的是4元硬币,则在送出饮料的同时会退还5角硬币。-44-ECJTU因果图法 列出原因和结果 原因之间的关系,原因和结果之间
14、的关系 绘制因果图 大家自己先做一下,画下因果图,5分钟。-45-ECJTU因果图法 符号定义原因与结果之间的关系符号。恒等非与 或-46-ECJTU因果图法 原因之间(或结果之间)的约束关系符号互斥包含唯一 (1)E约束(互斥,Exclude):a和b中至多有一个成立(取1),即a和b不能同时成立(取1)。 (2)I约束(包含,Include): a、b、c中至少有一个必须为1,a、b、c不能同时为0,至少有一个成立 (3)O约束(唯一,Only): a和b中必须有一个,且仅有一个为1,有且仅有一个成立 。abEabcIabO-47-ECJTU因果图法测试实践:自动饮料机 某自动饮料机销售罐
15、装饮料。销售的饮料包括:可乐、雪碧、芬达和醒目。每罐饮料的单价为三元五角,且仅接受硬币。若投入3元5角硬币,按下“可乐”、“雪碧”等按钮,就会送出相应的饮料。若投入的是4元硬币,则在送出饮料的同时会退还5角硬币。-48-ECJTU因果图法 原因: c1投入三元5角 c2投入四元 c3按下“可乐” c4按下“雪碧” c5按下“芬达” c6按下“醒目” 结果: r1退还5角 r2送出“可乐” r3送出“雪碧” r4送出“芬达” r5送出“醒目” 绘制因果图-49-ECJTU因果图法 绘制因果图 中间状态: m1 已投币 m2 已按钮 决策表 6个2=64 画一下1-2分钟 -50-ECJTU因果图
16、法绘制决策表 表中含有:a 未投币,已按钮的情况 b 已投币,未按钮的情况 a情况,系统应怎么处理等待投币,还是提示信息? b情况,系统应怎么处理等待按钮,还是退还硬币? 需求描述中,并未包含这些情况。决策表中,相应用例的输出是有疑问的。 通过建立因果图和决策表,可以在一定程度上充当对系统需求的静态测试。-51-ECJTU因果图法 通过建立因果图和画出完整的决策表,可以在一定程度上充当对系统需求的静态测试。 15 vs 64(6个2)决策表 3x5(两个Exclude关系)=15运用原因之间的约束关系,降低了原因(等价类)组合的数量。 思考,可否化简合并?-52-ECJTU因果图法 因果图法(
17、补充) 如果输入比较多,比较复杂,这些输入组合的数量会很大,测试用例的数量非常庞大。 比如之前日期 2x4x5,假设规模再大一点,且多加一个输入 4x4x5 x5 = 400。 绘制400个用例的决策表,然后对400个等价类的组合,进行多次合并化简,以及测试工作,工作大。 在输入条件多且较复杂的情况下,因果图能够有助于选择出高效的测试用例集。-53-ECJTU黑盒测试技术 1 边界值测试 2 等价类测试 3 基于决策表的测试因果图法错误推测法-54-ECJTU错误推测法 错误推测法(error guess method)依靠测试人员的经验和直觉来推测系统中所有可能存在的各种缺陷,有针对性地设计
18、测试用例的方法。这里的经验和直觉来自测试人员的直觉、对被测软件系统特性的了解和以往在测试工作中总结的经验和知识。 -55-ECJTU错误推测法刘蝶雨的故事,教材 2.1节 P35。 一天,刘蝶雨偶然看到一篇外国人写的关于如何发现程序中的错误的文章。“并不需要你有多高深的知识和多高明的技巧,你只要从特殊的角度去看它”。于是,带着几分好奇、兴趣,他开始以微软的浏览器为靶子找臭虫。 JPG文字.docx Page2-56-ECJTU错误推测法 列举出系统中所有可能有的缺陷和容易发生缺陷的特殊情况,根据它们设计测试用例。例如,输入中出现 0 这个值,就是一个错误易发情况。同样,在出现输入或输出的数量不
19、定的地方,(如某个被搜索列表的条目数量),数量为“没有”和“一个”也是错误易发情况。-57-ECJTU错误推测法 在阅读需求规格说明书时,联系程序员可能做的假设,来确定用例。由于偶然,或程序员想当然不够细心,说明书中的一些内容可能会被忽略。假设测试一个排序程序。可探讨的情况有:输入列表为空输入列表仅包含一个条目输入列表所有条目的值都相同输入列表已经排过序以上的特殊情况,有可能在程序设计是被忽略。-58-ECJTU错误推测法 可以利用不同测试阶段的经验和对被测软件系统的认识来设计测试用例。一般常考虑的方面有:1)软件产品以前版本中存在的问题;2)受到语言、操作系统、浏览器等的限制而可能带来的问题
20、;3)由模块间关联所联想到的测试,由于软件缺陷修复可能带来的问题。 -59-ECJTU错误推测法 错误推测法方便实用有效,但是这个方法不是系统性的测试方法。 优点是测试者能快速容易地切入测试,缺点是难以知道测试的覆盖率,可能丢失大量的测试区域。并且这种测试具有主观性且难以复制。应作为作辅助测试方法,补充测试用例来作为额外的测试。-60-ECJTU保险金案例案例说明 主要为投保人计算其需要购买的车险,一年内的保险金计算公式为:保险金 = 基本保险费率 x 年龄系数 安全驾驶折扣且车险的计算还需满足如下条件:-61-ECJTU保险金案例且车险的计算还需满足如下条件: 基本保险费率为1000元/年
21、投保人必须是年满16岁,且不足80岁的人 年龄系数和安全驾驶折扣见表 JPGc22_p83.png-62-ECJTU保险金案例且车险的计算还需满足如下条件: 投保人驾照上的分数初始为 12分,每当违反交通规则时,将以整数为单位扣掉1分或若干分 如果投保人驾照上的当前分数高于门限分数(见表),则投保时可给予其安全驾驶折扣 如果投保人驾照上的当前分数被扣至达到甚至低于零分,则该投保人的驾照被吊销 大家自己看下课本,熟悉下题目 分析计算公式和条件的实际意义 输入键有否关联性?-63-ECJTU保险金案例 典型的函数级别的案例。没有明显的业务流程,只需要从数据择优的角度来设计案例。可采用边界值、等价类
22、、决策表等方法设计用例。 输入条件有投保人的年龄、驾照上的当前分数 保险金 = 基本保险费率 x 年龄系数 安全驾驶折扣-64-ECJTU保险金案例思考一下:有否关联性?JPGc22_p83.png 有关联性,分数还蛮复杂的利用边界值、等价类、决策表法来设计测试用例-65-ECJTU保险金案例 边界值法(回顾) 思想:在被测对象的边界及边界附近设计测试用例。 测试用例设计:1 选择被测对象 2 确定边界3 确定邻域4 设计用例-66-ECJTU保险金案例 提问:选择哪个测试对象来考察边界?为什么?思考几分钟,不要看P84 85,看了也没有用。提示:输入域(个体域、整体域)、输出域?在哪种对象上
23、面找边界?认真分析对比 NextDate 佣金 都用了哪些测试对象。-67-ECJTU保险金案例提问:选择边界值的哪个测试对象? 整体输入域:边界通常很清晰,很容易展开测试。但难以覆盖所有隐含边界,尤其对于各个输入条件之间存在较为复杂的约束关系的情况。年龄和分数不存在整体边界,不易于来建模包含隐含边界。 个体输入域:分别针对每个输入条件的输入域确定其边界点。此案例适合采用 年龄和分数的个体输入域分析边界。-68-ECJTU保险金案例提问:选择边界值的哪个测试对象? 输出域?保险金的计算方法 思考一下 分析具体的输出域计算 销售员卖酒的佣金(2个计算环节)输入3种酒的销售量计算销售额分段计算佣金
24、年龄+积分+复杂约束条件-保险金(仅一个计算环节)-69-ECJTU边界值测试确定边界:个体输入域 以个体输入域为被测对象时,需分别针对每个输入条件的输入域确定其边界点。 并遵循独立性假设,即假设各个输入条件之间相互独立,不产生相互影响,即不具有相互依赖关系。 查看需求-分数,年龄的边界年龄(6个):16, 25, 35, 45, 60, 80;分数(6个):0, 5, 7, 9, 11, 12-70-ECJTU保险金案例 边界年龄(6个):16, 25, 35, 45, 60, 80;分数(6个):0, 5, 7, 9, 11, 12 测试数据 p-a, p, p+a:年龄 (18个):15
25、, 16, 17, 24, 25, 26, 34, 35, 36, 44, 45, 46, 59, 60, 61, 79, 80, 81;分数 (13个):-1, 0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13-71-ECJTU边界值测试 弱边界法基于单缺陷假设:即被测对象只要在某个输入条件的某个边界出错,则在任何包含该输入边界的情况下也会出错。 策略:用例中,只有一个输入条件取值为边界邻域数据,其余输入条件取正常值(相邻边界点之间的中值)。有利于快速隔离和定位边界缺陷,降低测试用例的数量。-72-ECJTU边界值测试-73-ECJTU保险金案例 测试数据 年龄 (18个) 分数 (13个)边界:年龄(6个):16, 25, 35, 45, 60, 80; 分数(6个):0, 5, 7, 9, 11, 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年蛋糕店新店开业活动方案策划书
- 2026年天然气企业安全用气规范标准
- 2026年冬季运动会工作计划
- 2026年环境艺术设计与应用研究课题
- 思想政治教育学原理知识点梳理名词解析简答题
- 2026工厂设计面试题库及答案
- 数列大题专题(含解析)
- 金融硕士金融学综合(选择题)模拟试卷1(共225题)
- 2026广告优化师面试题及答案
- 2026护卫队员面试题及答案
- 中医方剂学试题库带答案
- 广西工匠学院建设方案
- 部队车辆安全教育培训课件
- 学校防汛值班记录表范文
- 煤炭采制化理论考试试卷及答案
- 测风塔建设招标技术规范模板
- TCSUS《轨道交通桥梁用橡胶复合材料步行板系统标准》
- 狼疮性肾炎皮肤黏膜损害的护理与防护
- 胎儿分娩体位题目及答案
- 小散工程施工方案怎么写
- 艺术培训安全须知课件
评论
0/150
提交评论