- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件质量保证与测试(二),软件质量保证与测试,软件测试质量保证,软件质量保证和测试,软件测试质量,如何提高软件测试质量,如何保证测试质量,网络质量测试软件,wifi信号质量测试软件,软件质量与测试
2 软件测试的核心技术 黑盒测试 等价类划分 边界值分析 白盒测试 逻辑覆盖 路径覆盖 灰盒测试 2.1黑盒测试(Black-Box Testing) 也称数据驱动测试或基于规格说明的测试 特点: 不考虑内部结构,而是在软件的接口处进行测试 关注功能,可用于高层的测试 设计用例可早于实现,或与实现同步进行 黑盒测试 优势 功能上更易满足用户需要 用例生成更直观、易理解、更容易 用例可重复使用 劣势 代码得不到测试 要求规格说明和设计正确 测试的充分性难以保证 对用例设计的要求高,人员因素更关键 2.1.1 等价类划分法 划分 Pi为集合S的有限个子集,若 ∪Pi = S 且 任意的i和j,有Pi∩Pj=空, 则称有限各子集Pi为S的一个划分、 等价关系,R(x,y) 自反性:R(x,x); 对称性:若R(x,y),则R(y,x); 传递性:若R(x,y),R(y,z),则R(x,z) 等价类 有集合S,R为S上的一种等价关系,则对于S中的任意元素x,称集合S’={ y| R(x,y) }为元素x的等价类 等价类划分 等价类划分 说明 等价关系不唯一 因此,等价类划分也不唯一 测试中的划分,更依赖知识、经验、技巧 例1. 整数集合上的等价关系 Mod 3 Sign 合数、质数、1、0、负数 2.1.1 等价类划分法-单因素 将所有可能的输入分为若干等价类,可有多个有效等价类和多个无效等价类。在每个等价类中构造用例进行测试。 划分的原则: 输入有取值范围的:一个有效+两个无效 输入N个值,并且程序对个值分别处理:N个有效类+一个无效类 输入必须满足规则:一个有效+多个无效 一个等价类,必要时可进一步细化为多个子等价类 例1 函数bool IsLeap(int year),判断给定的year是否是闰年。 例2 文献分类号由两个大写字母+两位或三位数字组成。用等价类方法设计测试用例。 等价类划分必须含有有效和无效等价类 根据需要可以进一步细化等价类(包括有效、无效等价类) 设计测试用例时,每个无效等价类对应一个测试用例(有效等价类的用例参考多因素等价类划分) 在本例中,虽然文献号是一个输入量,但在设计等价类时,将其分成两个独立的部分,这种方式实际上属于多因素等价类划分。 注意:在划分等价类时,即可以针对输入划分等价类,也可以针对输出划分等价类 2.1.2 等价类划分法-多因素 多因素:集合中的每个元素是由多个相对独立的因素共同构成。 例: 日期是由年、月、日三个因素共同组成 平面位置信息是由X和Y两个因素共同组成 登录信息由用户名和密码两个因素组成 圆x*x+y*y=1上的点由x和y两个因素组成(虽然x,y是相关的,从测试角度,可以看成独立的或弱相关的) 等价类划分法-多因素 方法: 将每个因素,按单因素等价类的方法,划分等价类。 将各因素的等价类,进行交叉组合。 根据不同策略,从组合中选择不同的测试用例 弱一般等价类法 强一般等价类法 弱健壮等价类法 强健壮等价类法 2.1.2.1 弱一般等价类法 只考虑有效等价类的组合情况 如有效等价类的组合数量是2X3X4X4=96,选择一个具有最大有效等价类数量(这里为4)的因素,该因素的每个有效等价类对应一个测试用例,共计4个。 设计用例时,选择其它因素的等价类,应保证用例不重复,用例集覆盖任何因素。 弱一般等价类法示意图 2.1.2.2 强一般等价类法 只考虑有效等价类的组合情况 覆盖了所有的等价类 覆盖了所有可能的输入组合 如有效等价类的组合数量是2X3X4X4=96,测试用例数为96。 强一般等价类示意图 2.1.2.3 弱健壮等价类法 “健壮” 是指测试考虑到了无效等价类 “弱”是指基于单故障假设 对于有效等价类,同弱一般等价类 对于无效等价类,要求最终的用例集要至少覆盖所有单故障的情况,即用例中有一个无效等价类,其它等价类均为有效等价类 多故障不限 弱健壮等价类法示意图 2.1.2.4 强健壮等价类法 “健壮” 是指测试考虑到了无效等价类 “强”是指基于多故障假设 对于有效等价类,同强一般等价类 对于无效等价类,用例集应覆盖所有故障的组合情况 实际上,该方法就是所有等价的的完整笛卡尔积(或称组合) 强健壮等价类法示意图 例 一个函数根据输入的年、月、日,计算并输出下一天的日期。使用等价类划分的方法测试该函数。 int NextDate(int year,int month,int day) ; 从原理可以看出:等价关系的决定了等价类的划分,而划分直接影响测试的效果。 本例中也有多种划分方法。 如: Year,可分为闰年、平年和无效年份三个等价类。 Month,可分为小月,大月,2月,非法月份4个等价类 Day,可分为1、28、29、30、31、
文档评论(0)