第2章 黑盒测试等价类划分
黑盒测试《等价类划分》-有这篇就够了
⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。
在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。
积攒⼒量,蓄势待发。
本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。
⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。
采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。
所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。
从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。
等价类⼜分为有效等价类和⽆效等价类。
有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。
有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。
2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。
即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。
这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。
第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。
这两种特性形成了称为等价类划分的⿊盒测试⽅法。
因此,等价类划分是⿊盒测试最基本的⽅法。
3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。
软件测试第二次作业
软件测试第⼆次作业第2章⿊盒测试⼀、填空题1、等价类划分就是将输⼊数据按照输⼊需求划分为若⼲个⼦集,这些⼦集称为_等价类_______。
2、等价类划分法可将输⼊数据划分为__有效等价类______和____⽆效等价类____。
3、___边界值分析法_____通常作为等价类划分法的补充。
4、因果图中的___恒等_____关系要求程序有⼀个输⼊和⼀个输出,输出与输⼊保持⼀致。
5、因果图的多个输⼊之间的约束包括__E(互斥)______、___O_(唯⼀)____、__R(要求)______、______I_(包括)_四种。
6、决策表通常由_条件桩_______、___条件项_____、___动作桩_____、__动作项______四部分组成。
⼆、判断题1、有效等价类可以捕获程序中的缺陷,⽽⽆效等价类不能捕获缺陷。
(× )2、如果程序要求输⼊值是⼀个有限区间的值,可以划分为⼀个有效等价类(取值范围)和⼀个⽆效等价类(取值范围之外)。
(× )3、使⽤边界值⽅法测试时,只取边界两个值即可完成边界测试。
(× )4、因果图考虑了程序输⼊、输出之间的各种组合情况。
( √)5、决策表法是由因果图演变⽽来的。
( √)6、正交实验设计法⽐较适合复杂的⼤型项⽬。
( √)三、单选题1、下列选项中,哪⼀项不是因果图输⼊与输⼊之间的关系。
( A)A、恒等B、或C、要求D、唯⼀2、下列选项中,哪⼀项是因果图输出之间的约束关系。
(C )A、异B、或C、强制D、要求3、下列选项中,哪⼀项不是正交实验法的关键因素。
( D)A、指标B、因⼦C、因⼦状态D、正交表四、简答题1、请简述⼀下等价类划分法的原则。
(1)如果程序要求输⼊值是⼀个有限区间的值,则可以将输⼊数据划分为⼀个有效等价类和两个⽆效等价类,有效等价类为指定的取值区间,两个⽆效等价类分别为有限区间两边的值。
(2)如果程序要求输⼊的值是⼀个“必须成⽴”的情况,则可以将输⼊数据划分为⼀个有效等价类和⼀个⽆效等价类。
软件测试2_黑盒测试(上)等价类边界值
无效等价类 成绩>100
26
程序输入条件为小于100大于10 的整数x,则等价类分类是:
➢ 有效等价类 : ➢ 无效等价类:
程序输入条件为小于100大于10 的整数x,则有效等价类为10< x<100,两个无效等价类为 x≤10和x≥100。
思考1
27
确定等价类的原则(2/6)
②按照数值集合划分,在输入条件规定了输 入值的集合或者规定了“必须如何”的条 件的情况下,可确立一个有效等价类和一个 无效等价类。
8
黑盒测试
测试用例设计概述 黑盒测试的概念 黑盒测试的实施过程 黑盒测试方法
9
什么是黑盒测试?
黑盒测试又称功能测试、数据驱动测试或 基于规格说明书的测试,是一种从用户观 点出发的测试。
在测试时,把被测程序视为一个不能打开 的黑盒子,在完全不考虑程序内部结构和 内部特性的情况下进行。
10
黑盒测试
例:程序输入条件为以字符‘a’开头、长度为8的字符串,并 且字符串不包含‘a’~ ‘z’之外的其它字符,则
✓有效等价类为满足了上述所有条件的字符串, ✓无效等价类为不以‘a’开头的字符串、长度不为8的字符 串和包含了‘a’~ ‘z’之外其它字符的字符串。
28
确定等价类的原则(3/6)
③在输入条件是一个布尔量的情况下,可确定 一个有效等价类和一个无效等价类。
黑盒测试_等价类
在输入条件规定了“必须如何”的条件情况下,可确立一 个有效等价类和一个无效等价类。
如,规定程序输入必须为数字,可确定一个有效等价类— —数字和一个无效等价类——字母。
等价类的划分原则(续)
③按照输入数值划分
在规定了输入数据的一组值(假定n个),并且程序要对每 一个输入值分别处理的情况下,可确立n个有效等价类(每 个值确定一个有效等价类)和一个无效等价类(所有不允 许的输入值的集合)。
34
案例分析-NextDate函数的等价类测试用例
确定等价类(方法一) 有效等价类: M1={月份:1≤月份≤ 12} D1={日期:1 ≤日期≤ 31} Y1={年:1912 ≤年≤ 2012} 无效等价类: M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年< 1912} Y3={年:年>2012}
b
WN1
5
5
WN2
2
2
WN3
3
4
WN4
4
1
c
预期输出
5
等边三角形
3
等腰三角形
5
三角形
2
非三角形
由于变量a,b,c没有定义有效子区间,则强一般等价类测试用例与弱一 般等价类测试用例相同。
三角形问题的弱健壮等价类测试用例
考虑a,b,c的无效值产生的以下弱健壮等价类测试用例。
测试用例 a
b
c
预期输出
WR1
除按第一条原则划分,还可进一步划分为更小的等价类,如 85~100(优),75~85(良)等。
等价类划分法的测试用例设计
黑盒测试--等价类划分
⿊盒测试--等价类划分1.1. 概念等价类划分法是把程序的输⼊域划分成若⼲部分(⼦集),然后从每个部分中选取少数代表性数据作为测试⽤例。
每⼀类的代表性数据在测试中的作⽤等价于这⼀类中的其他值。
1.2 等价类划分法的应⽤1 等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试.因此,可以把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件,就可以⽤少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和⽆效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输⼊数据构成的集合.利⽤有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
⽆效等价类:与有效等价类的定义恰巧相反。
设计测试⽤例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更⾼的可靠性。
2划分等价类的六⼤原则:⑴在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类.例:输⼊值是学⽣成绩,范围是0~100:⑵在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类.⑶在输⼊条件是⼀个布尔量的情况下,可确定⼀个有效等价类和⼀个⽆效等价类. 布尔量是⼀个⼆值枚举类型, ⼀个布尔量具有两种状态: true 和 false 。
⑷在规定了输⼊数据的⼀组值(假定n个),并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴n个有效等价类和⼀个⽆效等价类.例:输⼊条件说明输⼊字符为:中⽂、英⽂、阿拉伯⽂三种之⼀,则分别取这三种这三个值作为三个有效等价类,另外把三种字符之外的任何字符作为⽆效等价类。
⑸在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类(符合规则)和若⼲个⽆效等价类(从不同⾓度违反规则)⑹在确知已划分的等价类中各元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类3、将等价类转化成测试⽤例:按照[输⼊条件][有效等价类][⽆效等价类] 建⽴等价类表,列出所有划分出的等价类为每⼀个等价类规定⼀个唯⼀的编号.设计⼀个新的测试⽤例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这⼀步.直到所有的有效等价类都被覆盖为⽌.设计⼀个新的测试⽤例,使其仅覆盖⼀个尚未被覆盖的⽆效等价类,重复这⼀步.直到所有的⽆效等价类都被覆盖为⽌.1.3实例 +笔记笔记等价类划分3将等价类转化对于有效等价类,使其尽可能多地覆盖尚未被覆盖地有效等价类成测试⽤例使其仅覆盖⼀个尚未被覆盖的⽆效等价类2.3实例例1:⼈寿保险费率(基本保险费0.50)Xs分析: 等价类划分、边界值分析结合使⽤序号输⼊条件输⼊类型测试数据预期结果1⼩于等于0岁(<=0岁)⽆效-1警告信息235岁以下有效20计算出⽉保险费335-59岁有效51计算出⽉保险费460岁以上有效65计算出⽉保险费边界值分析法序号边界值测试数据预期结果100警告信息23535按额外保险费2.87:计算35959按额外保险费2.87:计算46060按额外保险费6.00:计算实例2免费邮箱申请:在某⽹站申请免费信箱时,要求⽤户必须输⼊⽤户名、密码及确认密码,对每⼀项输⼊条件的要求如下:⽤户名:要求为4位以上,16位以下,使⽤英⽂字母、数字、“-”、“_”,并且⾸字符必须为字母或数字;密码:要求为6~16位之间,只能使⽤英⽂字母、数字以及“-”、“_”,并且区分⼤⼩写。
黑盒测试用例设计技术--等价类划分法
⿊盒测试⽤例设计技术--等价类划分法本⽂通过案例的形式,详细讲解⿊盒测试⽤例设计技术中的等价类划分法。
等价类划分是⼀种典型的⿊盒测试⽅法,其原理是把程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。
通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,⼤幅度减少测试⽤例的数⽬。
本⽂的主要内容有:等价类的概念介绍划分等价类的原则根据等价类设计测试⽤例的⽅法案例演⽰划分等价类等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的。
并合理的假设,测试某等价类的代表值就等于对这⼀类其它值的测试。
等价类划分有两种不同的情况:有效等价类:指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。
⽆效等价类:指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。
对于具体的问题,⽆效等价类⾄少应有⼀个,也可能有多个。
在设计测试⽤例时,要同时考虑有效等价类和⽆效等价类,以此验证软件在正常操作和异常操作时是否都能正常运⾏。
确定等价类的6条原则:1、在输⼊条件规定了取值范围或取值的个数的情况下,可以确⽴⼀个有效等价类和两个⽆效等价类。
例1:输⼊值是学⽣成绩,输⼊形式为⽂本框,要求的输⼊范围是0~100有效等价类:0<=输⼊成绩<=100;⽆效等价类1:输⼊成绩<0;⽆效等价类2:输⼊成绩>1002、在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。
例2:输⼊值是⼈员性别,输⼊形式为⽂本框,要求输⼊的内容必须在集合{男,⼥}中有效等价类:性别=’男’ 或者 ‘⼥’⽆效等价类:性别=’⼈妖’3、在输⼊条件是⼀个布尔量的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。
例3:输⼊值是状态标识位“是否完成”,输⼊形式为单选下拉框,选择范围为{是,否}有效等价类:选项=’是’ 或者 ‘否’⽆效等价类:未进⾏选择操作4、在规定了输⼊数据的⼀组值(假设N个),并且程序要对每⼀个输⼊值进⾏处理的情况下,可以确⽴N个有效等价类和⼀个⽆效等价类。
【黑盒测试】测试用例的常用方法
【⿊盒测试】测试⽤例的常⽤⽅法1、等价类划分法应⽤场合:界⾯中只要有数据输⼊的地⽅,就可以使⽤等价类划分法。
从⽆穷多的数据中,挑选少量代表数据进⾏测试。
1)分析需求,划分等价类:有效等价类和⽆效等价类2)从每个等价类中,⾄少挑选1个代表数据进⾏测试如:姓名3-20个字符 有效数据:⼤于等于3个字符,⼩于等于20个字符 ⽆效数据:⼩于3个字符 ⼤于20个字符2、边界值法应⽤场合:界⾯中有数据输⼊的地⽅,⼀般可以使⽤,边界值法往往和等价类划分法⼀起使⽤,形成⼀套更为完善的测试⽅案。
找到有效数据和⽆效数据之间的分界点(边界值)测试:最⼩边界值-1,最⼩边界值,最⼤边界值+1,最⼤边界值如:姓名3-20个字符 有效数据:⼤于等于3个字符,⼩于等于20个字符 ⽆效数据:⼩于3个字符 ⼤于20个字符最⼩边界值:3个字符最⼤边界值:4个字符最⼩边界值-1:2个字符最⼤边界值+1:5个字符3、因果图及判定表法应⽤场合:在⼀个界⾯中有多个控件,如果控件之间有组合关系或者限制关系,不同的控件组合会产⽣不同的输出结果。
为了弄清不同的输⼊组合会产⽣怎样的输出结果,可以使⽤因果图或判定表法。
1)基本 : 表达的是因(输⼊结果)和果(输出结果)之间的关系。
A 恒等 如果a=0那么b=0;如果a=1那么b=1 B 与(^) ⼏个输⼊条件都成⽴结果才成⽴,如果输⼊其中任何⼀个输⼊条件不成⽴,结果都不成⽴。
C 或(v) 多个输⼊条件有任何1个成⽴结果都成⽴,只有所有的输⼊条件都不成⽴的时候,结果才不成⽴。
D ⾮ A=1时B=0;A=0时B=12)约束(限制): 限制的是同⼀类的,要么限制的同为输⼊条件,要么限制的同为输出结果 A 互斥E(Exclude) 只能有1个是成⽴(1),但是可以都不选(都是0)B 唯⼀O(Only)表⽰在多个条件中,有且仅有1个成⽴。
C 要求R(Required) 若a=1则要求b必须为1,不允许出现a=1,b=0的情况,反之a=0时b的值⽆所谓。
实验一 黑盒测试等价类划分
实验一黑盒测试——等价类划分1、实验目的(1)理解黑盒测试的内涵;(2)掌握边界值分析法中健壮性测试概念;(3)能够使用等价类设计测试用例。
2、实验预习软件的缺陷往往出现在输入变量的边界值附近,边界值分析测试的基本思想是在输入最小值、率高于最小值、最大值、略大于最大值、正常值处取输入变量。
这种方法是基于单缺陷假设,当包含无效输入值时,这种方法还包含健壮性测试内容。
3、实验内容及要求现在有一个应用于住宿管理系统的程序,其包含了用户登录、用户注册和用户结算等功能,需要对该程序使用边界值分析方法进行测试,具体测试任务主要有:(1)旅馆住宿系统用户名字段测试用例设计;(必做)(2)旅馆住宿系统用户注册测试用例设计;(必做)(3)旅馆住宿系统结算功能测试用例设计。
(选做)在任务1中,用户名限制为6~10位自然数,要求使用等价类划分方法设计测试用例。
在任务2中,用户信息主要有登录帐号(6~10位自然数)、真实姓名(大小写的英文字符)、登录密码和确认密码、出生日期(其中有效年份1900~2010)。
任务3中,旅馆房费结算有一定的规则,当游客入住后可根据房间价格、入住天数、入住人是否有会员卡等情况给予折扣结算,房费计算公式为,房费=房间单价×折扣率×入住天数。
折扣率根据住宿人住宿天数(最多30天)、是否有会员卡、入住次数(3次及以下、3次以上)和物品寄存个数的不同有所不同,体现在不同条件下对应的积分不同,10分及10分以上折扣率为7折,10分以下折扣率为9折,具体规则:要求给出所有这些任务的实验步骤以及测试用例,并给出健壮性测试结果。
4、实验总结(1) 请确定任务1和任务2的输入和输出变量。
(2) 对于任务1和任务2,在做健壮性测试用例时,其给出输入变量的无效区间。
(3) 请结合实验谈一下边界值分析测试方法的优劣。
黑盒测试-等价类
• (需求规格说明):……学生选课允许2门至4门”……
2.按数值集合划分:输入条件规来自了输入值的集 输入条件规定了输入值的集 或是规定了“必须如何”的条件,则可确定 合,或是规定了“必须如何”的条件 一个有效等价类和一个无效等价类。
例:
– “标识符以字母开头”
• 有效等价类: 以字母开头的字符串M135 • 无效等价类: 以非字母开头的字符串135
e«x2«g, 区间 <=e, [e, f),
[f, g],
>=g
x2
g
f
e x1 a b c d
a«x1«d, 区间 [a, b), [b, c), [c, d] e«x2«g, 区间 [e, f), [f, g]
小节
• 弱一般等价类 – 弱:基于单缺陷假设; 基于单缺陷假设; – 一般:只考虑有效值。 一般:只考虑有效值。 • 强一般等价类 – 强:考虑多缺陷(笛卡儿积) 考虑多缺陷(笛卡儿积) – 一般:只考虑有效值。 一般:只考虑有效值。 • 弱健壮等价类 – 弱:基于单缺陷假设; 基于单缺陷假设; – 健壮:(有效值的前提下)考虑无效值。 健壮:(有效值的前提下)考虑无效值。 :(有效值的前提下 • 强健壮等价类 – 强:考虑多缺陷(笛卡儿积); 考虑多缺陷(笛卡儿积); – 健壮: (有效值的前提下)考虑无效值。 健壮: 有效值的前提下)考虑无效值。
x2
g
f
e x1 a b c d
a«x1«d, 区间 [a, b), [b, c), [c, d] e«x2«g, 区间 [e, f), [f, g]
强健壮等价类(补充)
• 基于多缺陷假设,从所有等价类的笛卡尔积的每 一个元素(包括无效值)中获得测试用例。
第2章 黑盒测试等价类划分解析
★ 测试修订历史;
★ 测试准备;
★ 测试描述;
★ 测试环境;
★ 输入数据/动作;
★ 测试执行;
★ 测试预期的结果。
★ 测试的实际结果;
2020/11/25
9
测试用例的设计方法
测试用例是整个测试工作中的重中之重,测试的 一般流程包括制定测试计划、编写测试用例、 执行测试、跟踪测试缺陷、编写测试报告等。 测试计划、大纲制定后就需要进行测试用例的 设计,之后所有的工作全都是在测试用例的基 础上展开的。
23
2.等价类划分法
2.1 概述
等价类划分方法是一种最为典型的黑 盒测试方法。
测试用例是将整个测试的执行过程作一个科学 有效的合理组织规划。主要目的是将软件测试 的执行过程形成那个一个可管理的模式;同时 测试用例也是将测试详细具体化的有效手段之 一。
2020/11/25
6
测试用例的作用
(1)指导测试的实施 (2)规划测试数据的准备 (3)编写测试脚本“规格说明书” (4)评估测试结果的度量基准 (5)分析缺陷标准
(1)黑盒测试用例设计技术如下: ★ 等价类划分; ★ 边界值分析; ★ 错误推测; ★ 因果图。
(2)采用黑盒测试技术设计用例的主要目的是: ★ 检查功能是否实现或遗漏; ★ 检查人机交互界面是否出错; ★ 数据库读取、更新操作出错; ★ 性能特设计方法
2020/11/25
7
设计测试用例所需的文档资料
设计测试用例所需要的文档资料包括: ★ 软件需求说明书; ★ 软件设计说明书; ★ 软件测试需求说明书; ★ 成熟的测试用例
2020/11/25
8
测试用例主要包括哪些内容
完整的测试用例通常包括:
软件测试-黑盒测试-等价类划分
13
【3,4,4】
14
【3,4,3】
15
【3,3,4】
(1),(2),(3),(4),(5),(6),(14),(18)
非等边三角 (1),(2),(3),(4),(5),(6),(15),(19) 形
(1),(2),(3),(4),(5),(6),(13),(20)
课堂讲解
• 1、准考证号码 • 对招干考试系统“输入学生成绩”子模块设计测试用例。
等价类划分的细则
• ③ 在输入条件是一个布尔量的情况下,可确 定一个有效等价类和一个无效等价类。( True,False) 实例:
电源开关开(一个有效等价类、一个无效等 价类)
有效等价类:①电源开关开 无效等价类:①电源开关关
等价类划分法细则
④ 在规定了输入数据的一组值(假定n个), 并且程序要对每一个输入值分别处理的情 况下,可确立n个有效等价类和一个无效等 价类。
10
【3,4,3】
(1),(2),(3),(4),(5),(6),(15)
实例讲解
序号
11
输入值(A/B/C) 覆盖等价类编号
【3,4,5】
(1),(2),(3),(4),(5),(6),(16)
输出
非等腰三角形
12
【3,3,3】
(1),(2),(3),(4),(5),(6),(17)
是等边三角形
形
(14)
(15)
是否等边三角
形
(17)
(A>0), (B>0), (C>0), (A+B>C), (B+C>A), (A+C>B),
(A=B), (B=C), (C=A),
软件测试课件-动态黑盒测试——等价类划分
合法输入条件的分析
·报表案例中,输入信息是6位数字,前4位代表 2003~2008的年份,后2位代表任意月份。由此我们 可以得出以下合法输入条件:
① 6位数字字符 ② 前4位范围2003~2008 ③ 后2位范围01~12
合法输入条件的分析
·报表案例中,输入信息是6位数字,前4位代表 2003~2008的年份,后2位代表任意月份。由此我们 可以得出以下合法输入条件:
测试举例
例:某企业的报表处理系统要求用户输入处理报表的日 期,日期限制在2003年1月至2 0 0 8年1 2月,即系统只能 对该段期间内的报表进行处理,如日期不在此范围内, 则显示输入错误信息。
输入信息要求:系统日期规定由年、月的6位数字字符 组成,前4位代表年,后2位代表月。 请设计动态黑盒测试用例来测试程序的日期检查功能。
月份为01
200301
后2位
月份为12 月份为00
200312 200300
月份为13
200313
期望结果
选取理由
显示出错 仅有1个合法字符
输入有效 类型及长度均有效
显示出错 比有效长度少1
显示出错 比有效长度多1
显示出错 只有1个非法字符显示出错 6个非法字符
输入有效 最小年份
输入有效 最大年份
显示出错 刚好小于最小年份
·本例中,合法输入应同时满足①~③这3个条件, 因此1个合法的测试用例应该尽量覆盖①~③这三个 有效等价类。非法输入只需要满足④~⑩其中任一条 件即可,因此1个非法测试用例应尽可能只覆盖1个 无效等价类。
合法测试用例
测试用例 200409
期望结果 输入有效
覆盖范围 ①②③
非法测试用例
测试数据 2004Ma 20045 2004005 200105 200905 200400 200413
黑盒测试二——等价类测试
列出等价类表:
输入条 有效等价 无效等价 件 类 类 …… ……… ……… …… …… ……… ……… ……… ………
第二步:选取测试用例。
第一步:划分等价类
启发式规则: (1) 如果规定了输入值的范围,则可划分出 一个有效的等价类(输入值在此范围内),两个 无效的等价类(输入值小于最小值或大于最大 值); 例、在程序规格说明中对输入条件有一句话: “…… 项数可以从 1到999 …… ”。 1 999 无效等价类
期,日期限制在2003年1月至2008年12月,即系统 只能对该段期间内的报表进行处理,如日期不在此 范围内,则显示输入错误信息。系统日期规定由年 、月的6位数字字符组成,前四位代表年,后两位
代表月。
用等价类划分法设计测试用例,测试程序的日 期检查功能?
例1、第一步:等价类划分 “报表日期”输入条件的等价类表 输入条件 报表日期的 类型及长度 有效等价类 无效等价类 有非数字字符 (4) 6位数字字符(1) 少于6个数字字符 (5) 多于6个数字字符 (6)
年份范围
月份范围
在2003~2008 之间 (2)
小于2003 (7) 大于2008 (8)
ቤተ መጻሕፍቲ ባይዱ
在1~12之间(3) 小于1 (9) 大于12 (10)
第二步:确立测试用例 确立测试用例的原则:
为每一个等价类规定一个唯一编号;
设计一个新的测试用例,使其尽可能多地覆 盖尚未被覆盖的有效等价类,重复这一步, 直到所有的有效等价类都被覆盖为止; 设计一个新的测试用例,使其仅覆盖一个尚 未被覆盖的无效等价类,重复这一步,直到 所有的无效等价类都被覆盖为止。
例、输入条件说明学历可为:专科、本科、硕 士、博士四种之一。 专科:有效等价类 本科:有效等价类 硕士:有效等价类 博士:有效等价类
黑盒测试——等价类划分法
实验二: 黑盒测试——等价类划分法【实验环境】Windows 10 操作系统,C,C++,C#、Java或Python语言开发环境(IDE)。
【实验类型】设计型【实验目的】1.认识黑盒测试方法中等价类划分测试方法原理2.掌握黑盒测试方法中等价类划分测试方法过程【实验内容】【实验材料】1.三角形问题问题描述:三角形问题接受三个整数,a、b和c作为输入,用作三角形的边。
程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
作为输入:三角形的三条边必须满足如下条件:C1:1<=a<=100C2:1<=b<=100C3:1<=c<=100C4:a<b+cC5:b<a+cC6:c<a+b2.NextDate函数问题描述:NextDate是一个由三个变量(月份、日期和年份)的函数。
函数返回输入日期后边的那个日期。
作为输入:变量月份、日期和年都具有整数值,满足以下条件。
C1:1<=月份<=12C2:1<=日期<=31C3:1912<=年<=20503.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。
枪机卖45美元,枪托卖30美元,枪管卖25美元。
销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。
每访问一个镇子后,销售商都给密苏里州步枪制造商发出一份很短的电报,通知几个枪机被售出。
这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:不到(含)1000美元的部分为10%;1000(不含)~1800(含)美元的部分为15%;超过1800美元的部分为20%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
黑盒测试用例设计方法
4.
表示
《软件测试》
3-12
等价类划分法测试案例
在某网站申请免费信箱时,要求用户必须输入用户名、密 码及确认密码,对每一项输入条件的要求如下: 用户名要求为4位以上,16位以下,使用英文字母、数字、
“-”、“_”,并且首字符必须为字母或数字;密码要求为
6~16位之间,只能使用英文字母、数字以及“-”、“_”, 并且区分大小写。
无效等价类
•
对规格说明(Spec)而言,无意义、不合理的输入、输出数据组成的
所有集合
•
根据规格说明(Spec)检查是否所有无效等价类都被很好处理,没有 不合理的行为
《软件测试》
3-8
如何划分等价类
1)
根据规格说明(Spec)的定义,对输入和输出
条件进行分析,划分等价类
2)
根据计算机基础知识,对输入和输出条件进行分
编号
(7) (8) (9) (10) (11) (12) (16)
是否三角形的3条 边
c>0 a+b>c b+c>a a+c>b
等腰三角形?
a=b b=c
(13) a≠b && (14) b ≠c &&
c=a
(15) c ≠a
(17) a≠b b≠c (18) (19)
密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 abc_123
确认密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 Abc_123
等价类划分法含例子
1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。
使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
2.划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。
(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。
例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。
第2章黑盒测试等价类划分
2020/4/4
6
测试用例的作用
? (1)指导测试的实施 ? (2)规划测试数据的准备 ? (3)编写测试脚本“规格说明书” ? (4)评估测试结果的度量基准 ? (5)分析缺陷标准
2020/4/4
17
设计测试用例时需要注意的问题:
★不能把测试用例设计等同于测试输入数据的设计; ★不能追求测试用例设计的一步到位; ★不能将多个测试用例混在一个用例中; ★不能由没有经验的人员设计测试用例。
2020/4/4
18
一.黑盒测试
? 黑盒测试
? 又称为功能性测试或数据驱动测试。
2020/4/4
★ 测试修订历史;
★ 测试准备;
★ 测试描述;
★ 测试环境;
★ 输入数据/动作;
★ 测试执行;
★ 测试预期的结果。
★ 测试的实际结果;
2020/4/4
9
测试用例的设计方法
测试用例是整个测试工作中的重中之重,测试的 一般流程包括制定测试计划、编写测试用例、 执行测试、跟踪测试缺陷、编写测试报告等。 测试计划、大纲制定后就需要进行测试用例的 设计,之后所有的工作全都是在测试用例的基 础上展开的。
13
综合设计方法
白盒和黑盒测试用例的设计方法,每一个测试 用例设计方法给出了有用测试用例的一个特殊的 集合,但没有一个可以贡献完整的测试用例的集 合。在实际项目运作设计时常常共同使用各种测 试用例设计方法进行用例的设计。
这里我们主要是介绍如何综合使用这些方法来 设计测试用例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等价类中的各个元素具有相同的属性 (被划分集合)各个等价类之间不会存在相同的元素,它们的 并集是被划分集合的全集
2015-6-24
27
2.等价类划分法
等价类的划分有两种不同的情况: ① 有效等价类:是指对于程序的规格 说明来说,是合理的,有意义的输入 数据构成的集合。 ② 无效等价类:是指对于程序的规格 说明来说,是不合理的,无意义的输 入数据构成的集合。 划分等价类—>确定测试用例
现在要求输入的三个整数必须满足以下条件: 条件1: 0≤a 条件2: 0 ≤b 条件3: 0 ≤c 条件4: a<b+c 条件5: b<a+c 条件6: c<a+b
如果输入值不满足这些条件中的任何一个,程序给出 相应的信息,如:‛a的取值不在允许范围内‛.
2015-6-24
2015-6-24
8
测试用例主要包括哪些内容
完整的测试用例通常包括:
★ 测试用例的编号; ★ 测试日期; ★ 测试用例设计人员和测试人员; ★ 测试修订历史; ★ 测试准备; ★ 测试描述; ★ 测试环境; ★ 输入数据/动作; ★ 测试执行; ★ 测试预期的结果。 ★ 测试的实际结果; 2015-6-24
9
测试用例的设计方法
测试用例是整个测试工作中的重中之重,测试的 一般流程包括制定测试计划、编写测试用例、 执行测试、跟踪测试缺陷、编写测试报告等。 测试计划、大纲制定后就需要进行测试用例的 设计,之后所有的工作全都是在测试用例的基 础上展开的。
2015-6-24
10
用例的设计应注意到一下几点问题: ★ 用例应该从系统的最高级别向最低级别逐一 展开; ★ 每个测试用例都应单独放在文档中; ★ 系统中的所有功能都应该对应到用例中; ★ 每个用例都应该依据需求进行设计; ★ 用例的设计人员最好是具有丰富的经验测试 人 员。
a>0 b>0 c>0 a+b>c b+c>a a+c>b
a=b b=c c=a a=b &&b=c&&c =a
无效等价类
a≤0 b ≤0 c ≤0 a+b ≤c b+c ≤a a+c ≤b
a≠b && b ≠c && c ≠a a≠b b≠c c≠a
编号
(7) (8) (9) (10) (11) (12)
覆盖等价类
(1)-(6)
(7) (8) (9) (10) (11) (12) (1)-(6),(13) (1)-(6),(14) (1)-(6),(15) (1)-(6),(16) (1)-(6),(17)
期望输出
一般三角形
不构成三角形 不构成三角形 不构成三角形 不构成三角形 不构成三角形 不构成三角形 等腰三角形 等腰三角形 等腰三角形 非等腰三角形 等边三角形
2015-6-24 12
白盒测试用例的设计方法
(1)白盒测试用例的设计技术如下: ★ 逻辑覆盖; ★ 基本路径测试。 (2)采用白盒测试技术设计用例的目的主要是: ★ 每个模块中的所有独立路径至少被执行一次; ★ 所有的逻辑值必须测试真、假两个分支; ★ 在边界值内和可操作范围至少循环一次; ★ 检查数据的内部结构保证其有效的实现预定功 能。
2015-6-24
6
测试用例的作用
(1)指导测试的实施 (2)规划测试数据的准备 (3)编写测试脚本‚规格说明书‛ (4)评估测试结果的度量基准 (5)分析缺陷标准
2015-6-24
7
设计测试用例所需的文档资料
设计测试用例所需要的文档资料包括: ★ 软件需求说明书; ★ 软件设计说明书; ★ 软件测试需求说明书; ★ 成熟的测试用例
(16)
是否三角形的3条 边
(1) (2) (3) (4) (5) (6)
(13) (14) (15) (17)
等腰三角形? 等边三角形?
(18) (19) (20)
47
2015-6-24
编号
1
2 3 4 5 6 7 8 9 10 11 12
[a,b,c]
3,4,5
0,1,2 1,0,2 1,2,0 1,2,3 1,3,2 3,1,2 3,3,4 3,4,4 3,4,3 3,4,5 3,3,3
19
一.黑盒测试
黑盒测试的技术方法主要包括:
等价类划分法 边界值分析法 比较测试法 因果图法 决策表法等
2015-6-24
20
如果你打算测试一个计算器 程序的功能,你认为需要进 行多少次输入?
结论是不计其数 整型: 从 1+1 到 999999999999999999999999999999+ 999999999999999999999999999999
2015-6-24
24
2.等价类划分法
等价类划分方法把所有可能的输入数 据,即程序的输入域划分成若干部分, 然后从每一部分中选取少数有代表性 的数据做为测试用例。 使用这一方法设计测试用例要经历划 分等价类(列出等价类表)和选取测 试用例两步。
2015-6-24
25
2.等价类划分法
等价类是指某个输入域的子集合。在 该子集合中,各个输入数据对于揭露 程序中的错误都是等效的。测试某等 价类的代表值就等价于对这一类其它 值的测试。
2015-6-24
35
2.等价类划分法
例如,在教师上岗方案中规定对教授、 副教授、讲师和助教分别计算分数, 做相应的处理。因此可以确定4个有 效等价类为教授、副教授、讲师和助 教,一个无效等价类,它是所有不符 合以上身分的人员的输入值的集合。
2015-6-24
36
2.等价类划分法
(5) 如果规定了输入数据必须遵守的 规则,则可以确立一个有效等价类 (符合规则)和若干个无效等价类 (从不同角度违反规则)。
2015-6-24
4
测试用例的概念
如何以最少的人力、资源投入,在最短的时间 内完成测试,发现软件系统的缺陷,保证软件 的优良品质,是软件公司探索和追求的目标 测试用例是测试工作的指导,是软件测试的必 须遵守的准则,更是软件测试质量稳定的根本 保障
2015-6-24
5
测试用例(Test Case)通俗一点来讲就是编写 (编制)一组前提条件、输入、执行条件、预 期结果以完成对某个特定需求或目标测试的数 据,体现测试方案、方法、技术和策略的文档。 测试用例是将整个测试的执行过程作一个科学 有效的合理组织规划。主要目的是将软件测试 的执行过程形成那个一个可管理的模式;同时 测试用例也是将测试详细具体化的有效手段之 一。
2015-6-24
11
黑盒测试用例的设计方法
(1)黑盒测试用例设计技术如下: ★ 等价类划分; ★ 边界值分析; ★ 错误推测; ★ 因果图。 (2)采用黑盒测试技术设计用例的主要目的是: ★ 检查功能是否实现或遗漏; ★ 检查人机交互界面是否出错; ★ 数据库读取、更新操作出错; ★ 性能特性是否得到满足。
2015-6-24 28
2.等价类划分法
2.2 等价类划分的原则
(1) 如果输入条件规定了取值范围,或 值的个数,则可以确立一个有效等价 类和两个无效等价类。
2015-6-24
32
2.等价类划分法
例如,在程序的规格说明中,对输入条件有一 句话:
‚…… 项数可以从1到999 ……‛ 则有效等价类是‚1≤项数≤999‛ 两个无效等价类是‚项数<1‛或‚项 数>999‛。在数轴上表示成:
2015-6-24
17
设计测试用例时需要注意的问题:
★不能把测试用例设计等同于测试输入数据的设计; ★不能追求测试用例设计的一步到位; ★不能将多个测试用例混在一个用例中; ★不能由没有经验的人员设计测试用例。
2015-6-24
18
一.黑盒测试
黑盒测试
又称为功能性测试或数据驱动测试。
2015-6-24
2015-6-24 14
下面是综合设计方法的建议性设计步骤: ★如果规格说明书中包含输入条件,用因果图法 进行设计测试用例。 ★如果源码中遇到输入输出边界,用边界值分析 法进行设计测试用例,这是输入输出边界的分 析。边界值分析产生一组附加的测试条件,但 是大多数或全部这些条件都可以组合到因果测 试中。
1.
2.
小数:1.0+0.1,1.0+0.2…等等
3.
4.
键盘上的任何一种组合
为乘法和除法运算重复上面的操作
2015-6-24
23
2.等价类划分法
2.1 概述
等价类划分方法是一种最为典型的黑 盒测试方法。 使用这一方法时,完全不考虑程序的 内部结构,只依据程序的规格说明来 设计测试用例。
2015-6-24
34
2.等价类划分法
(3) 如果输入条件是一个布尔量,则可以 确定一个有效等价类和一个无效等价类。 (4) 如果规定了输入数据的一组值,而且 程序要对每个输入值分别进行处理。这时 可为 每一个输入值确立一个有效等价类, 此外针对这组值确立一个无效等价类,它 是所有不允许的输入值的集合。
2015-6-24
39
一个字段
QQ账号:6-10位自然数
一个页面
1.问题描述
(1).三角形问题
输入三个整数a,b,c,分别作为三角形 的三条边,现通过程序判断三条边构成 三角形的类型为: 一般三角形 等边三角形 等腰三角形 不构成三角形