测试用例八大设计方法和实例
. 测试用例设计方法测试用例设计方法 1 1等价类划分等价类划分 1.11.1 理论知识理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程 序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都 是等效的。 等价类合理地假设:某个等价类的代表值, 与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行 测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集) ,然后从每一 个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例 设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合 .在该子集合中,各个输入数据对于揭露程序 中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此, 可以把全部输入数据合理划分为若干等价类 ,在每一个等价类中取一个数据作为测试的输入条 件,就可以用少量代表性的测试数据 .取得较好的测试结果.等价类划分可有两种不同的情况 :有 效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有 效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受 意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效 等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效 . 等价类和一个无效等价类. ③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. ④在规定了输入数据的一组值(假定 n 个),并且程序要对每一个输入值分别处理的情况下, 可确立 n 个有效等价类和一个无效等价类. ⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干 个无效等价类(从不同角度违反规则). ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进 一步的划分为更小的等价类. 3)原则: 设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类: 输入条件 有效等价类 无效等价类 . . . . . . 然后从划分出的等价类中按以下三个原则设计测试用例: ① 为每一个等价类规定一个唯一的编号. ② 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类 ,重复这一步.直 到所有的有效等价类都被覆盖为止. ③ 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类 ,重复这一步.直到所 有的无效等价类都被覆盖为止. 之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入 的检查。因此,必须针对每一个无效等价类分别设计测试用例 1.21.2 实例实例 1、保险费率计算 人人保险公司承担人寿保险已有多年历史,该公司保费计算方式 为投保额* 保险 率, 保险 率又 依点数 不同 而有 别, 10点以 上费 率为 0.6 %, 10点 以下 费率为 0.1 %: 输入数据说明 . 20~39 岁 年龄年龄40~59 岁 60 岁以上 20 岁以下 MALE 性别性别 FEMALE 婚姻婚姻 已婚 未婚 6 点 4 点 2 点 5 点 3 点 3 点 5 点 扶养人扶养人 一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍 五 入 取 整 数 ) 数数 一、分 析 输 入 数 据 型 式 。 年龄 : 一 或 两 位 数 字 。 性别 : 以 英 文 「 Male 」 、 Female 」 、 「 M 」 、 「 F 」 表 示 。 婚姻 : 「 已 婚 」 、 「 未 婚 」 。 扶 养 人 数 : 空 白 或 一 位 数 字 。 保 险 费 率 : 10 点 以 上 , 10 点 以 下 。 二、 划 分 输 入 数 据 数字范围 1~99 1.年龄 20~39 岁 等价类 类型 2.性别 等价类 40~59 岁 60 岁以上 20 岁以下 英文字之集合 类型:英文字 集合: 「Male」 、 「M」 集合: 「Female」 、 「F」 3.婚姻等价类 选择项 范围 4.扶养人数 等价类 5.保险费率 等价类 已婚 未婚 扶养人数可以有,也可没有 1~9 空白 1~6 人 6 人以上 10 点以上 . 10 点以下 三、 设 计 输 入 数 据 。 1.年龄 2.年龄 3.年龄 4.性别 5.性别 6.性别 7.婚姻 有效等价类有效等价类 20 ~ 39 任 选 一 个 无效等价类无效等价类无效等价类无效等价类 大 於 99 ,选 一 个 40 ~ 59 任 选 一 个 60 岁 以 上 、 20 岁 以 小 於 1 , 选 一 个 下 任 选 一 个 英 文 Male, M, F, Female 任 非 英 文 字 如 「 男 」 选 一 个 英 文 Male, M 任 选 一 个 非 Male, M, Female, F 之 任 意 字 元 , 如 「 Child 」 英 文 Female, F 任 选 一 非 Male, M, Female, F 之 任 意 个字 符 , 如 「 Child 」 「 已 婚 」 非 「 已 婚 」 或 「 未 婚 」 之 任 意 字 符 , 如 「 离 婚 」 非 「 已 婚 」 或 「 未 婚 」 之 任 意 字 符 , 如 「 离 婚 」 小 於 1 , 选 一 个 大 於 9 , 选 一 个 8.婚姻「 未 婚 」 9. 扶 养 人 空 白 数 10.扶养人 1 ~ 6 数 11.扶养 人 7 ~ 9 数 12.保险费 10 点 以 上 (0.6 %) 率 13.保险费 10 点 以 下 (0.6 %) 率 四、 根据以上分析设计测试用例: 用例用例 年龄年龄 编号编号 1.27 性别性别 Female 婚姻婚姻 扶养扶养 人数人数 保险保险 费率费率 有 效 0.6% 年 龄 : 20 ~ 39 岁 备注备注 未婚空白 . 0.6% 0.1% 无法 推算 无法 推算 无法 推算 无法 推算 无法 推算 无法 推算 无法 推算 2.50Male已婚2 性 别 : 集 合 「 Female, F 」 婚 姻 : 集 合 「 未 婚 」 扶 养 人 数 : 空 白 保 险 费 率 : 0.6 % 有 效 年 龄 : 40 ~ 59 岁 性 别 : 集 合 「 Male, M 」 婚 姻 : 集 合 「 已 婚 」 扶 养 人 数 : 1 ~ 6人 有 效 年 龄 : 60 岁 以 上 或 20 岁 以 下 性 别 : 集 合 「 F