版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主要的黑盒测试用例设计方法o 等价类划分o 边界值分析o 因果图o 判定表5.3 等价类划分o 测试所有可能的输入是不可能的、也是不必要的。o 等价划分:某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。o 基本思想:把所有可能的输入,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。o使用这一方法设计测试用例要经历(列出等价类表)和两步。等价类是指某个输入域的子集合。在该子集合中,。测试某等价类的代表值就等价于对这一类其它值的测试。o等价类的划分有两种不同的情况: :是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
2、 :是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。o在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。o划分等价类等价类的原则。(1) o例:在程序的规格说明中,对输入条件有一句话: “ ” 则有效等价类是“1项数999”两个无效等价类是“项数1”和“项数999”。在数轴上表示成: 例:程序规格说明中提到: “学生允许选修2至4门课”则有效等价类是“选课2至4门”两个无效等价类是“只选一门或未选课”和“选课超过4门”。(2) 例:在Pascal语言中对变量标识符规定为“以字母打头的串”。那么所有以字母打头以字母打头的构成有效等价类,而不在此集合内(不以字母打头不以
3、字母打头)的归于无效等价类。例:某程序的规格说明中提到的输入条件包括:“统计全国各省、市、自治区的人口 ”则有效等价类是“国内省、市、自治区”,无效等价类是“非国内省、市、自治区”。(3) (4) 如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为 每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。o例5:在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。(5) o例6,Pascal语言规定
4、 “一个语句必须以分号;结束”。这时,可以确定一个有效等价类 “以;结束”,若干个无效等价类 “以:结束”、“以,结束”、“以 结束”、“以LF结束”等。o确立测试用例在确立了等价类之后,建立等价类表,列出所有划分出的等价类。o 再从划分出的等价类中按以下原则选择测试用例:(1) 为每一个等价类规定一个唯一编号;(2) 设计一个新的测试用例,使其,重复这一步,直到所有的有效等价类都被覆盖为止;(3)设计一个新的测试用例,使其,重复这一步,直到所有的无效等价类都被覆盖为止。o 用等价类划分法设计测试用例的实例例:在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成
5、。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。” “在同一说明语句中,标识符至少必须有一个。”用等价类划分的方法,建立输入等价类表:输入条件输入条件有效等价类有效等价类无效等价类无效等价类第一个字符第一个字符字母(字母(1 1)非字母(非字母(7 7)标识符组成标识符组成字母(字母(2 2),数字(),数字(3 3)非字母数字字符(非字母数字字符(8 8)、)、保留字(保留字(9 9)标识符字符数标识符字符数1 18 8个(个(4 4)0 0(1010),大于),大于8 8(1111),),大于大于8080(1212)标识符使用标识符使用先说明后使用(先说明后
6、使用(5 5)未说明就使用(未说明就使用(1313)标识符个数标识符个数大于等于大于等于1 1个(个(6 6)0 0个(个(1414)举例举例o根据下面给出的规格说明,利用等价类划分的方法,给出足够根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。的测试用例。o“一个程序读入一个程序读入3 3个整数,把这三个数值看作一个三角形的个整数,把这三个数值看作一个三角形的3 3条条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。边的、是等腰的、还是等边的。” o分析题目中给出和隐含的对输入条件的要求
7、: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 o如果 a 、 b 、 c 满足条件( 1 ) ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 非三角形 。 2)如果三条边相等即满足条件(7),则程序输出为 等边三角形 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 等腰三角形 。 4)如果三条边都不相等,则程序输出为 一般三角形 。 有效等价类有效等价类无效等价类无效等价类输入条件3个整数整数(1) a为非整数(12)、b为非整数(13)、c为非整数(14)、ab为非整数(15)、bc为非整数
8、(16)、ca为非整数(17)、 abc为非整数(18)3个数(2)只给a(19)、只给b(20)、只给c(21)、只给ab(22)、只给bc(23)、只给ca(24)、给出3个以上(25)非0数(3) a0(26)、b=0(27)、 c=0(28)、a=b=0(29)、b=c=0(30)、c=a=0(31)、a=b=c=0(32)正数(4) a0 (33) 、b0 (34) 、 c0 (35) 、a0 b0 (36) 、b0 c0 (37) 、c0 a0 (38) 、a0 b0 cc(5) b+ca(6) c+ab(7)a+bc (40) 、 a+b=c (41) b+ca (42) 、 b
9、+ca (43) c+a0A0,B0B0,C0C0,且,且A+BCA+BC,B+CAB+CA,A+CBA+CB。o如果是等腰的,还要判断如果是等腰的,还要判断A=BA=B,或,或B=CB=C,或,或A=CA=C。o如果是等边的,则需判断是否如果是等边的,则需判断是否A=BA=B,且,且B=CB=C,且,且A=CA=C。举例举例输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否三角形的三条边是否三角形的三条边(A0A0),), (1 1)(B0B0),), (2 2)(C0C0),), (3 3)(A+BCA+BC),), (4 4)(B+CAB+CA),), (5 5)(A+CBA+
10、CB),), (6 6)(A0A0),), (7 7)(B0B0),), (8 8)(C0C0),), (9 9)(A+BCA+BC),), (1010)(B+CAB+CA),), (1111)(A+CBA+CB),), (1212)是否等腰三角形是否等腰三角形(A=BA=B),), (1313)(B=CB=C),), (1414)(C=AC=A),), (1515)(ABAB)andand(BCBC)andand(CACA) (1616)是否等边三角形是否等边三角形(A=BA=B)andand(B=CB=C)andand(C=AC=A) (1717)(ABAB),), (1818)(BCBC
11、),), (1919)(CACA),), (2020)举例举例序号序号【A,B,C】覆盖等价类覆盖等价类输出输出1【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6)一般三角形一般三角形2【0 0,1 1,2 2】(7 7)不能构成三角形不能构成三角形3【1 1,0 0,2 2】(8 8)4【1 1,2 2,0 0】(9 9)5【1 1,2 2,3 3】(1010)6【1 1,3 3,2 2】(1111)7【3 3,1 1,2 2】(1212)8【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),(
12、),(4 4),(),(5 5),(),(6 6),(),(1313)等腰三角形等腰三角形9【3 3,4 4,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1414)10【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515)11【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1616)非等腰三角形非等腰三角形12【3 3,3 3,3 3】(1 1
13、),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1717)是等边三角形是等边三角形13【3 3,4 4,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1414),(),(1818)非等边三角形非等边三角形14【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515),(),(1919)15【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),()
14、,(5 5),(),(6 6),(),(1313),(),(2020)某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0或1的三位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。划分等价类 输入条件有效等价类无效等价类地区码1.空白;2.三位数; 5.有非数字字符; 6.少于三位数字; 7.多于三位数字。前 缀3.从200到999之间的三位8.有非数字字符;9.起始位为0;10.起始位为1; 11.少于三位数字;12.多于三位数字。后 缀4.四
15、位数字。13.有非数字字符;14.少于四位数字;15.多于四位数字。设计测试用例方案内容输 入预期输出地区码前缀后缀1空白(1)200999之间的三位数字(3)四位数字(4)( )276-2345有效2三位数字(2)四位数字(4)(635)805-9321 有效3有非数字字符(5)(20A)723-4567 无效4少于三位数字(6)(33 )234-5678无效5多于三位数(7)(5555)345-6789 无效6有非数字字符(8)(345)5A2-3456无效7起始位为0(9)345)012-3456 无效8起始位为1(10)(345)132-3456无效9少于三位数字(11)(345) 9
16、2-3456无效10多于三位数字(12)(345)4562-3456无效11有非数字字符(13)(345)342-3A56无效12少于四位数字(14)345)342- 356 无效13多于四位数字(15)(345)562-34567无效29等价类方法小结:o 等价类技术提供了一个选择哪些数值,舍弃哪些数值的测试用例设计方法。o 把相似输入、输出、操作分成组,这些组就是等价区间。o 步骤:在进行等价类划分之前,首先从程序的功能说明中找出各个输入条件,然后为每个输入条件划分两个或更多个等价类。o 确定了等价类划分后,给出相应的等价类表,再根据等价类给出测试用例。302. 划分等价类要注意的问题p
17、考虑有效等价类,同时也要考虑无效的等价类。n 有效等价类生成的测试用例,可以检验程序是否实现了预先规定的功能和性能。n 无效等价类生成的测试用例,可以检查程序中功能和性能的实现是否不符合规格说明要求。o 仔细划分,审核划分n等价类的目标就是把所有可能的测试用例组合数量缩减到仍然足以测试软件的范围。n如果为减少测试用例的数量过于粗略地进行等价分配,就会增加漏掉软件缺陷的风险。315.4 数据测试-边界值分析o 等价划分虽然优于随机选取用例,但不足之处在于忽略了某些特定类型的高效测试用例o 经验证明,考虑了边界条件的测试用例与其他测试用例相比,具有更高的测试回报率n 边界条件:输入和输出等价类中那
18、些恰好处于边界、或超过边界、或在边界以下的状态。边界值分析与等价划分的不同o 边界值分析需要选取一个或多个元素,而不是选任一个代表元素,以便对等价类的每个边界都经过一次测试。o 边界值分析不仅关注输入条件,还要考虑输出空间产生的测试情况o比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足 A0、B0、C0、 ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的任何一个大于号“”错写成大于等于号“”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。o 这里所说的边界是指,相对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一
19、些特定情况。o 使用边界值分析方法设计测试用例,首先应确定边界情况。,而不是选取等价类中的典型值或任意值做为测试数据。实践证明为实践证明为检验边界附检验边界附近的处理专门设计测试用例,常常取得良近的处理专门设计测试用例,常常取得良好的测试效果。好的测试效果。 1、数据测试数据测试是检查用户输入的信息、返回的数据测试是检查用户输入的信息、返回的结果以及中间计算结果是否正确。结果以及中间计算结果是否正确。注意:数据指广义的所有输入、输出。注意:数据指广义的所有输入、输出。数据的例子:数据的例子: 1. 类型上有数值、文字、图片、文件等类型上有数值、文字、图片、文件等 2. 表现形式有表现形式有键盘
20、输入、鼠标点击、键盘输入、鼠标点击、磁盘文件、打印输出磁盘文件、打印输出 37边界值分析o边界值分析也是一种黑盒测试方法o其本质就是在边界及其附近选取测试用例o是一种和等价类划分相关的技术o它具有很强的发现程序错误的能力o错误隐藏在角落,问题聚焦在边界上如何找到边界值o 很简单!“报表日期”边界值分析法测试用例输入条件输入条件 测试用例说明测试用例说明 测试数据测试数据 期望结果期望结果选取理由选取理由报表日报表日期类型期类型及长度及长度1个数字字符个数字字符5显示出错显示出错仅有仅有1个合法字符个合法字符6个数字字符个数字字符200305输入有效输入有效类型及长度均有效类型及长度均有效5个数
21、字字符个数字字符20035显示出错显示出错比有效长度少比有效长度少17个数字字符个数字字符2003005显示出错显示出错比有效长度多比有效长度多1有有1个非数字字个非数字字符符2003.5显示出错显示出错只有只有1个非法字符个非法字符全是非数字字符全是非数字字符MAY-显示出错显示出错6个非法字符个非法字符年份范围年份范围年份为年份为2003年年200305输入有效输入有效最小年份最小年份年份为年份为2008年年200805输入有效输入有效最大年份最大年份年份为年份为2002年年200205显示出错显示出错刚好小于最小年份刚好小于最小年份年份位年份位2009年年200905显示出错显示出错刚好
22、大于最大年份刚好大于最大年份月份范围月份范围月份为月份为1月月200301输入有效输入有效最小月份最小月份月份为月份为12月月200312输入有效输入有效最大月份最大月份月份为月份为0200300显示出错显示出错刚好小于最小月份刚好小于最小月份月份为月份为13200313显示出错显示出错刚好大于最大月份刚好大于最大月份4142434445464748495051525354551、因果图逻辑关系o 恒等:如果原因为真,那么结果必定为真。o只有2个原因都为真,那么结果为真。o 或:2个原因中有一个为真时,结果就为真。o非:只有原因为假,结果才为真。o表示约束条件的符号。为了表示原因与原因之间,结
23、果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。原因之间约束o 排他性约束:各个原因之间不能同时为真,但可以同时为假。举个例子,小明同学不可能同时属于A班和B班,但可能既不是A班的,也不是B班的,而是C班的。o 包含性约束:各个原因中总有一个为真。即可以同时为真,但不可以同时为假。举个例子,支付宝买家付款时,有个输入条件(既原因)是余额支付、网银支付,买家可以选择单独余额支付或者单独网银支付,也可以同时选择余额支付和网银支付2种方式。但是不可以选择不支付。o 必要性约束:当原因a为真时,原因b必须同时为真;但是原因b为真时,原因a既可以为真,也可以为假。举数字证书的例
24、子:现有的业务规则下,如果申请了数字证书(原因a),那么该用户必然通过了支付宝认证(原因b)。反之,如果用户通过了支付宝认证,那么不一定申请了数字证书(a)。o 唯一性约束:有且只有原因a和原因b中的一个为真。非此即彼,不存在第三种情况。举例来说,人的性别不是男,就是女,不会存在既不是男也不是女的人。o 掩码标记(结果约束):如果结果b为真,那么结果a一定为假,如果结果b为假,则结果a的状态不定。还拿支付宝来举例子,先给出两个结果:安全控件运行正常(a),无法输入登陆密码(b)。如果无法输入登陆密码,那么可以判断是安全控件没有正常运行。反过来,如果可以输入登陆密码,则不能确定安全控件一定工作正
25、常o用因果图生成测试用例的基本步骤(1)分析软件规格说明描述中,哪些是原因 (即输入条件或输入条件的等价类),哪些是结果 (即输出条件),并给每个原因和结果赋予一个标识(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。 (3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。标明约束或限制条件。(找出原因和原因、结果与结果之间的约束限制)(4) 把因果图转换成判定表。(5) 把判定表的每一列拿出来作为依据,设计测试用例。o在因果图中出现的基本符号通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示
26、状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。o主要的原因和结果之间的逻辑关系有:恒等、与、或、非 o 例,某个软件的规格说明中包含这样的要求:“第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。”原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是数字。结果: 21修改文件; 22给出信息L; 23给出信息M。 1 1 2 2 1111 3 3 2323 2121 2222 E E因果图因果图12345678条件(原因)11111000021100110
27、0310101010中间结果11111100动作(结果)220000112110100023010101测试用例A2AVB4BTV4RW判定表判定表FORTRAN语言的语法规定是非常严格的。在一个程序行中,第15列是标号区,第6列是续行区。如果前6列是空白,则执行动作A。如果第15列有标号且是正确的标号,则执行动作B后再执行动作A;反之,若是错误的标号,则执行动作C。如果第6列不是空白而是字母C,则执行动作D后再执行A;反之,执行动作C。原因: 1前6列是空白 2第15列是正确的标号 3第6列是字母C结果: 动作A正确执行 E1:执行动作A 动作B处理标号 E2:执行动作B后再执行动作A 动作C错误处理 E3:执行动作C 动作D处理续行 E4:执行动作D后再执行A 1 1 2 2 E1E1 3 3 E4E4 E3E3 E2E2 O O因果图因果图E1:执行动作AE2:执行动作B后再执行动作AE3:执行动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业内部品质管理制度
- 三星电子内部管理制度
- 中国石油内部规章制度
- 中职院校内部管理制度
- 乡镇交管站内部管理制度
- 企业内部安全环保制度
- ktv内部安全管理制度
- 代驾公司内部管理制度
- 信用卡业务内部控制制度
- 事业部内部制度
- 2025年三力测试70岁题库及答案
- 神奇的记忆力课件
- 2025年大学《水生动物医学-水生动物免疫学》考试模拟试题及答案解析
- 2025年湖南省高职单招中职类文化素质测试(语文)
- 部编统编三下语文肥皂泡教案公开课教案教学设计(2025-2026学年)
- 炭晶板背景墙施工方案
- 会计学(第七版)全套课件
- 蒸压加气混凝土课件
- 2024-2025学年四川省自贡市七年级(下)期末数学试卷(含答案)
- 2025年个人自查剖析材料与整改措施
- 2026人教版中考复习英语必背1600单词(30天背诵)
评论
0/150
提交评论