
测试用例的设计是测试实现阶段的核心工作,也是指导如何执行测试的基础。
现在百度百科、搜狗百科以及各种问答网站可以为我们解释大多数概念,互联网确实为我们提供了高效的知识获取的途径。感谢ddd laurant 的核实,我对百度百科有关速度的内容批判有错,予以纠正。后来推出的百度知道、百度百科等等都是这样的理念,我们让用户创造门户,创造内容,再通过搜索引擎的技术进行搜索,这是在pc时代百度搜索在发展路径上,或者思路上和google最大的区别。
本文以黑盒测试为例,讲述下常见的用例设计方法
等价类划分、边界值分析、正交试验设计法、错误推测法、异常分析法、场景分析法
等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.。1)等价类划分: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.。7.可轻易地为应用程序对象添加个性化的属性,例如标志某些输入域为强制性的(mandatory),把这些输入域与某个查询窗口中的数据域关联,然后在脚本中利用这些数据,快速填充这些强制性输入域的数据。
在使用等价类划分方法设计测试用例时,不但要考虑有效等价类划分,同时也要考虑无效等价类划分:
1.1 划分等价类的规则
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
如:输入值是学生成绩,范围是0~100
有效等价类:0<=成绩<=100
无效等价类: 成绩<0 和 成绩>100
2、在输入条件规定了输入值的集合或者规定了”必须如何”的条件情况下,可确立一个有效等价类和多个无效等价类
如网站登录密码必须由6位数字构成
有效等价类:6位数字
无效等价类:位数>6,位数<6,全角数字,字母、特殊字符等......
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
有效等价类:真(true)
无效等价类:假(false)
常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.。划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.。也可以先输入 12 22,会再提示输入s对应的值,但如果你输入先输入 a或a 12 b或 a 12等只要有一个不对应,则从那个不对应的开始,数据均错,直接回车,导致程序直接运行结束,不会再提示你输入j的值,s的值。
1)输入条件说明 可为:专科、本科、硕士、博士
有效等价类:专科、本科、硕士、博士
无效等价类:四种之外的任何
2)输入条件为我国的直辖市
有效等价类:北京、上海、天津、重庆
无效等价类:非直辖市的省、自治区等
5、在规定了输入数据的个数,可以划分一个有效等价类和两个无效等价类。
如一个学生一个学期只能选修1-3门课
有效等价类:选修1-3门课
无效等价类:1门课都不选,选课超过3门
6、在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
如:姓名文本框 允许输入10个vachar
应分别测试输入10个英文字符(分大小写)、10个中文字符、10个全数字字符、10个混合字符等。
1.2 等价类划分方法的使用步骤
1)数据分类,分出有效等价类和无效等价类
2)针对有效等价类,进一步进行分割,直到不能划分为止,形成等价类表,为每一等价类规定一个唯一的编号
3)就每一个具体的等价类,设计一个test case,直到所有有效等价类均被test case覆盖
4)对无效等价类进行相同的处理
1.3 等价类划分的测试运用
1、档案管理系统
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
输入判断有效等价类无效等价类
输入字符长度
大于6位数字字符、小于6位数字字符
输入字符类型
数字
6位非纯数字类型
输入年份约束
1990-2049

小于1990、大于2049
输入月份约束
01-12
大于12、等于00
2、系统注册功能
假设有一个系统,注册时用户名要求由字母开头,后跟字母或数字的任意组合构成黑盒测试用例设计技术包括那些,有效字符不超过6个。

有效等价类.png
边界值分析法就是对输入或输出的的边界值进行测试的一种黑盒测试方法。边界的条件通常落在等价类的边界上、边界外、边界内,边界值分析法是对等价类划分的一个补充,在测试中,会将这两种方法结合起来共同使用。
在大量的测试工作经验中总结出,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
2.1 与等价类划分的区别
边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界值都要作为测试条件。
边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
如一个文本框类型是Vachar(X),当输入边界值长度超过X时,提交后列表页面显示被撑破了
第十一个动作标签--类别名称,这里可以对一个目标中对应的单位所属的类别命名,注意会将这个国家同一类别所有单位都命名,比如a1目标对象对应的单位是玩家1的一个b-2轰炸机,我用类别名称,将它命名为蝙蝠轰炸机,则玩家1所有的b-2轰炸机名称都会变成蝙蝠轰炸机,这里还有一个技巧,就是在命名框中写入的名称之前多加一个空格,则效果实现之后,鼠标移动到被改名的单位上面,单位身上就会以白字显示出它的名字。我们在日常实用word中,要想随意设置图片文本的位置,那么我们可以把文本或图片放置到文本框中,当然也可以放置到图形框,这样,我们就不担心加入新内容后,这些内容随着变动的烦恼了。插入列时,可指明列号、列名称、列名称显示样式,列宽等信息。

Paste_Image.png
2.2 一些特殊的例子
1)输入域的默认值、空值、空格
2)报表的第一行、最后一行、第一列、最后一列
3)循环的开始(第一次)和最后一次
4)屏幕上光标移到最右边、最下面等
5)16-bit 整数的32767、-32768
2.3 边界值分析法的测试运用
案例一:
某程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
测试用例:可取10、50,10.01,49.99,9.99及50.01等;
案例二:
某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元”
测试用例:可取0.00及1165.24、还要取 -0.01及1165.26等
案例三:
某程序属于情报检索系统,要求每次“最少显示1条、最多显示4条情报摘要”
测试用例:包括1和4,还应包括0和5等
边界值分析是测试设计一个稳定的部分,但是对黑盒测试人员来讲有时候边界并不是那么明显。这些不明显的边界被称作隐藏的边界。具体请查看隐藏的边界的例子
在实际的系统测试过程中,输入条件的因素有很多,而且每个因素也不能简单用“是”和“否”表示,如下是我司订单管理系统的搜索页面,条件有很多个,如果组合测试case会变得很多,导致很大的工作量。

订单搜索.png
受工程资金的限制,大部分企业在利用试验测试技术进行检验时,检测设施不够齐全,而且缺乏先进精密的设备和仪器开展试验测试工作,与此同时,检验人员试验测试技术的整体水平和性不过关,甚至部门的试验测试仪器或者设备陈旧,达不到试验测试技术精确度的要求,致使未能正确试验测试工程,得到的结果偏差性比较大,不能反映工程中的质量与安全问题,存在潜在的安全与质量隐患。6 对非设计煤种进行燃烧试验制定合理燃烧调整方式根据锅炉的设计持性及燃煤特点,在选用非设计煤种时,对所选的非设计煤种进行燃烧试验,对燃烧工况及锅炉效率进行分析论证,选定对锅炉效率影响小,燃烧工况稳定的煤种作为替代煤种,并制定燃用非设计燃烧调整措施,使运行人员有章可循,充分发挥锅炉潜能,提高电厂经济性。根据锅炉的设计持性及燃煤特点,在选用非设计煤种时,对所选的非设计煤种进行燃烧试验,对燃烧工况及锅炉效率进行分析论证,选定对锅炉效率影响小,燃烧工况稳定的煤种作为替代煤种,并制定燃用非设计燃烧调整措施,使运行人员有章可循,充分发挥锅炉潜能,提高电厂经济性。
3.1 常用术语
1)因子:在一项测试中,凡欲考察的变量称为因子,即影响测试结果的条件因素
2)水平:在测试范围内,因子被考察的值,即各个因子的取值

3.2 正交表的表示形式
正交表是一种特制的表格,具有两条性质:
(1)每一列中各数字出现的次数都一样多。
(2)任何两列所构成的各有序数对出现的次数都一样多
L代表是正交表
n代表测试用例数或正交表的行数,n=k*(m-1)+1
k代表最多可安排影响指标因素的个数或正交表的列数
m表示每个因子水平数

L<sub>8</sub>(2<sup>7</sup>)图解.png
-非等水平的正交表(各列的取值不相等),一般用 Ln(mkpq)表示
如 L8(4X24),可以理解为 L8(4124),表示 5列中,有1列为4水平,4列为2水平。
行数 n=k*(m-1)+q*(p-1)+1
3.3 正交试验设计方法的步骤
1)确定因子数(变量列数)
2)确定每个因子各有哪几个水平(变量的取值)
3)选择合适的正交表
4)把变量的值映射到表中
5)把每一行各因子的水平组合做为一个测试用例
6)删除无效的组合
7)考虑特殊情况,补充上表上没有的,但有价值的其它测试用例
(实际情况中可能使用频率比较高)
3.4 正交表的选定
例如要考察 5个3水平因子及1个2水平因子,则起码的试验次数为5×(3-1)+1×(2-1)+1=12(次)
这就是说,要在行数不小于12,既有2水平列又有3水平列的正交表中选择,发现L18(21×37)适合。
综上所述,选择正交表时考虑以下几点:
1)考虑因子(变量)的个数
2)考虑因子水平(变量取值)的个数
3)考虑正交表的行数
4)当有2个或以上正交表可以被选择时,需选择行数最小的正交表。
备注:将值赋值到表中需要满足以下2个条件
1)任一列,各水平都出现,且出现的次数相等
2)任两列之间各种水平的所有可能组合都出现,且对出现的次数相等
3.5 正交试验设计方法的测试运用
案例一(因子水平值相同)
某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-115366-1.html
舰艇再多管比用