软件测试 第6章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思考题
1、练习:2,3,4
第六章 等价类测试
等价类测试的两个原因:进行完备测试,避免 冗余。边界值测试这两点都做不到,给出的测 试用例,很容易看出存在大量的冗余,也会发 现严重漏洞。 等价类测试重复边界值分析的两个因素:健壮性 和单/多缺陷假设。 四种形式的等价类: 弱一般等价类、强一般等价 类、弱健壮等价类、强健壮等价类。
• 整个集合确保了完备性,互不相交保证 了无冗余性。由于子集是等价关系决定 的,因此,子集的元素有共同点。 • 等价类测试的基本思想是通过等价类中 的一个元素标识测试用例。广泛选择等 价类,可以大大降低测试用例之间的冗 余。 • 等价类测试的关键(工艺!),是选择 确定类的等价关系。
• 函数F涉及两个变量x1和x2,F实现为一个 程序,输入 x1 和 x2 的取值范围涉及下列边 界。
• a<= x1 <=d,区间为 (a, b), (b, c), [c, d ]
• e<= x2 <=g,区间为(e, f), [f, g ]
• x1的无效值是:x1<a,x1>d, • x2的无效值是:x2<e,x2>g
• 6.1.1弱一般等价类
• 基于单缺陷假设,使用一个测试用例,尽可能 多地覆盖有效等价类中的每个变量区间,也就 是一个用例尽可能地覆盖多个区间。
• 健壮等价类测试的问题:
– 规格说明没有定义无效测试用例所预期的输 出,因此测试人员需要花费大量时间定义这 些测试用例的输出
–强类型语言没有必要考虑无效输入。
6.1.4 强健壮等价类
强是指多缺陷假设,健壮是考虑无效值。
• 6.2 三角形问题的等价类测试
• 6.3 NextDate函数的等价类测试
• 如果程序函数很复杂,则等价类会被标识出来
• 强等价类测试假设变量是独立的,测试用例相 乘会产生冗余(如 NextDate 函数,决策表技术 可以解决此问题)
• 在发现合适的等价关系,可能需要进行多次尝 试。除非存在明显或自然的等价关系。 • 强和弱形式的等价类测试之间的差别,有助于 区别累进测试和回归测试。
• 6.4 佣金问题的等价类测试
• 6.5 指导方针和观察
• 等价类测试的弱形式不如强形式全面 • 若实现语言是强类型的,不必健壮形式
• 如果错误条件非常重要,则进行强类型测试
• 输入数据是离散的或集合形式定义,等价类测试是合 适的。也适合越界出现故障的系统 • 结合边界值测试,等价类测试会得到加强。
• 6.1 等价类 • 等价类的重要问题是构成集合的划分,划分是 指互不相交的一组子集,这些子的并是整个集 合。 • 给定集合B,B的一组子集A1、A2、…An,这 些子集是B的一个划分,当且仅当: (1) A1∪A2∪…∪An=B,且 (2)若i<>j,Ai∩Aj=ø • 保证B的所有元素都在某个子集中,保证B没有 元素同时在两个子集中。
• 6.1.2 强一般等价类
• 基于多缺陷假设,需要笛卡尔积wenku.baidu.com每个元素对 应的测试用例。覆盖所有有效等价类。
• 6.1.3弱健壮等价类
• 也称为传统的等价类测试,弱是考虑单缺陷假设,健 壮是因为考虑了无效值。
– 有效输入,使用有效类(区间)的一个值,与弱等 价类测试一样;无效输入,测试用例,拥有一个无 效值,其余值都是有效的。