黑盒测试经典例题(精选8篇)
- 格式:docx
- 大小:52.55 KB
- 文档页数:35
黑盒测试具体例子黑盒测试是一种软件测试方法,测试人员主要关注软件的输入与输出,而不考虑内部结构或代码实现细节。
在黑盒测试中,测试人员通过分析需求规格说明书等文档,设计测试用例来验证软件功能的正确性。
下面将介绍几个黑盒测试的具体例子。
1. 登录功能测试假设我们要测试一个网站的登录功能,我们可以设计以下测试用例来进行黑盒测试:•测试用例1:输入正确的用户名和密码,验证是否能成功登录;•测试用例2:输入错误的用户名,验证是否提示“用户名不存在”的错误信息;•测试用例3:输入错误的密码,验证是否提示“密码错误”的错误信息;•测试用例4:输入超长的用户名或密码,验证系统是否做了长度限制处理;•测试用例5:在登录界面不输入任何信息,验证系统是否能识别为空的输入并给出相应提示。
通过以上测试用例可以验证登录功能在不同情况下的表现,保证其在各种情况下都能正常运作。
2. 购物车功能测试假设我们要测试一个电商网站的购物车功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:向购物车添加商品,验证商品数量是否正确增加;•测试用例2:修改购物车中商品的数量,验证价格是否正确计算;•测试用例3:删除购物车中的商品,验证删除后购物车是否为空;•测试用例4:尝试向购物车中添加数量超过库存的商品,验证系统是否给出相应提示;•测试用例5:尝试在未登录状态下进行购物车操作,验证系统是否要求用户先登录。
通过以上测试用例可以验证购物车功能在各种操作下的正确性,避免在实际使用中出现问题。
3. 搜索功能测试假设我们要测试一个搜索引擎的搜索功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:输入关键词进行搜索,验证搜索结果的相关性和准确性;•测试用例2:输入特殊字符进行搜索,验证系统是否能正确处理这些特殊字符;•测试用例3:输入不存在的关键词进行搜索,验证系统是否能给出“无结果”提示;•测试用例4:在搜索结果页面尝试使用筛选功能,验证筛选条件是否有效;•测试用例5:在搜索过程中断网重连,验证系统是否能正确处理这种情况。
题目:假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款(P)在100元内,求找给顾客的最少货币个(张)数找给顾客的最少货币个(张)数 ?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)四种) 黑盒测试方法如下:黑盒测试方法如下: 等价类划分:等价类划分: 有效等价类:有效等价类:R1={ P-R=0 :输出值为0张}; R2={ 1<= P-R <5 :输出值只含有1元}; R3={ 5<= P-R <10 :输出值含有5元}; R4={ 10<= P-R <50 :输出值含有10元}; R5={ 50<= P-R <100 :输出值含有50元}; 无效等价类:无效等价类:R6={ P-R<0 或 100<= P-R :输入值范围错误}; R7={ P 为小数或字母等为小数或字母等 :输入值P 错误}; R8={ R 为小数或字母等为小数或字母等 :输入值R 错误}; R9={ P 为空为空 :输入值P 为空};R10={ R 为空为空 :输入值R 为空};边界值分析:边界值分析:根据上述有效等价类划分,可以得到有效等价类的边界值为P-R=0, P-R=0, P-R=1, P-R=1, P-R=1, P-R=4, P-R=4, P-R=4, P-R=5, P-R=5, P-R=9, P-R=10, P-R=49, P-R=50, P-R=99。
根据上述无效等价类划分,可以得到无效等价类的边界值为P-R= -1, P-R=100, P 为小数或字母, R 为小数或字母,P 为空,R 为空。
为空。
根据边界值分析可得以下测试用例表:根据边界值分析可得以下测试用例表: 测试用例测试用例 输入值P 输入值R 输出值(最少货币张数)输出值(最少货币张数) TC1 2 5 提示输入值P 不足不足 TC2 1 1 0(不用找钱)(不用找钱) TC3 3 2 1(找1张一元)张一元) TC4 8 4 4(找4张一元)张一元)TC5 10 5 1(找1张五元)张五元)TC6 15 6 5(找1张五元,4张一元)张一元)TC7 17 7 1(找1张十元)张十元)TC8 57 8 9(找4张十元,1张五元,4张一元)张一元)TC9 59 9 1(找1张五十元)张五十元)TC10 100 1 10(找1张五十元,4张十元,1张五元,4张一元)张一元) TC11 100 0 提示商品价格错误提示商品价格错误TC12 101 1 提示付款输入错误提示付款输入错误 TC13 1 -1 提示商品价格错误提示商品价格错误TC14 -1 101 提示付款输入以及商品价格错误提示付款输入以及商品价格错误 TC15 A 101 提示输入值格式错误提示输入值格式错误 TC16 0 1.23 提示输入值格式错误提示输入值格式错误 TC17 10 提示输入值为空提示输入值为空 TC18 20 提示输入值为空提示输入值为空下面为测试用例TC1的规范表:的规范表:ID:LG0101001 错误是否提示正确用例名称:验证输入值P错误是否提示正确测试项:输入值(顾客付款)P和输入值(货品价格)R环境要求:Windows XP SP1参考文档:软件规格说明书SpecLG01.doc优先级:高层次:1 依赖的测试用例:无步骤:1.打开浏览器。
一.黑盒测试练习答案:例题:某城市的电话号码由3部分组成。
这3部分的名称与内容分别是⏹地区码:空白或3位数字;⏹前缀:非‘0’或‘1’开头的3位数字;⏹后缀:4位数字。
⏹假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的Array号码,用等价类划分法设计他的测试用例二:面向对象分析设计答案一. 阅读下列说明和图,回答问题1至问题4,将答案填到答题纸的对应栏内。
参考答案:【问题1】(3分)【问题2】(4分)!!C、D【问题3】(4分)【问题4】(4分)用例之间的扩展关系用于对可选系统行为的用例的一部分建模。
通过这种方式,可以把可选行为从必需的行为中分离出来。
二. 阅读下列说明和图,完成问题1至问题4,并在答题纸上自行列表写出答案。
【问题1】(4分)根据【说明】中的描述,使用表1中的英文名称,给出图1中A1~A4所对应的参与者。
【问题2】(3分)!!注意:U2和U3的答案可以互换。
!!根据【说明】中的描述,使用表2中的英文名称,给出图1中U1~U3所对应的用例。
【问题3】(4分)根据【说明】中的描述,给出图1中(1)和(2)所对应的关系及其含义。
(1)<<extend>>(1分):将常规动作放在一个基本Use Case中,将非常规动作放在其扩展Use Case中。
(1分)(2)<<include>>(1分):两个Use Case,如果其中一个在其事件流中包含了另一个,那么它们间就有包含关系。
(1分)【问题4】(4分)根据【说明】中的描述,使用表2和表3中的英文名称,给出图2中Action1~Action4对应的活动。
三.四. 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【问题1】(7分)根据说明中的描述,给出图3-1中A1和A2所对应的参与者,U1至U3所对应的用例,以及该图中空(1)所对应的关系。
(U1至U3的可选用例包括:Session、Transaction、Insert Card、Invalid PIN Process和Transfer)A1: Customer A2: Bank U1: SessionU2: Invalid PIN Process U3: Transaction (1): 《extend》【问题2】(6分)根据说明中的描述,使用表3-1中的英文名称,给出图3-2中6~9对应的消息。
黑盒测试用例设计练习题
1、准考证号码
对招干考试系统“输入学生成绩”子模块设计测试用例。
招干考试分三个专业,准考证号第一位为专业代号,如:
1-行政专业,
2-法律专业,
3-财经专业。
行政专业准考证号码为:110001~111215
法律专业准考证号码为:210001~212006
财经专业准考证号码为:310001~314015
请划分准考证号码的等价类。
2、电话号码
城市的电话号码由两部分组成。
这两部分的名称和内容分别是:
1)地区码:以0开头的三位或者四位数字(包括0);
2)电话号码:以非0、非1开头的七位或者八位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来设计它的测试用例。
3、输入:用户密码
要求:
1)用户密码为6到8位。
2)必须含有字母和数的组合。
输出:如正确,输出正确的信息。
否则,输出相应的错误信息。
请用等价类划分法设计出相应的测试用例。
黑盒测试案例黑盒测试是一种测试方法,旨在检验软件或系统的功能性,而不考虑其内部的实现细节。
下面是一个黑盒测试的案例,以展示如何设计和执行一个黑盒测试。
案例:网上购物系统1. 注册功能测试测试目标:验证用户能够成功注册一个新账户。
测试步骤:a. 打开网上购物系统主页。
b. 点击注册按钮。
c. 输入一个有效的用户名、密码和电子邮件地址。
d. 点击提交按钮。
e. 检查系统是否显示注册成功的提示信息。
f. 尝试使用新账户登录系统,检查是否成功登录。
预期结果:系统应该成功注册新账户并允许用户使用该账户登录。
2. 商品搜索功能测试测试目标:验证用户能够成功搜索并找到所需商品。
测试步骤:a. 打开网上购物系统主页。
b. 在搜索框中输入一个商品关键词。
c. 点击搜索按钮。
d. 检查系统是否正确显示与关键词相关的商品列表。
预期结果:系统应该能够根据用户输入的关键词正确显示相关的商品列表。
3. 购物车功能测试测试目标:验证用户能够成功将商品添加到购物车并完成购买。
测试步骤:a. 打开网上购物系统主页。
b. 浏览商品列表,选择一个商品。
c. 点击“加入购物车”按钮。
d. 检查系统是否将商品添加到购物车中。
e. 点击“去结算”按钮。
f. 输入有效的配送地址和支付信息。
g. 点击“提交订单”按钮。
h. 检查系统是否显示订单成功提交的提示信息。
预期结果:系统应该能够正确添加商品到购物车,并在用户完成订单时显示成功提交订单的提示信息。
4. 优惠券功能测试测试目标:验证用户能够成功使用优惠券并享受相应折扣。
测试步骤:a. 打开网上购物系统主页。
b. 选择需要购买的商品并添加到购物车。
c. 输入有效的优惠券编号。
d. 点击“应用优惠券”按钮。
e. 检查系统是否正确计算并显示优惠后的价格。
预期结果:系统应该能够根据用户输入的优惠券编号正确计算并显示折扣后的价格。
5. 支付功能测试测试目标:验证用户能够成功完成支付流程。
测试步骤:a. 打开网上购物系统主页。
黑盒测试用例设计方法案例与练习题1、等价类案例登录功能用户名和密码登录(以在线考试系统为例)年龄字段输入2、网站注册页面年龄输入要求:某网站前台用户注册页面,其中有年龄字段的输入,要求练习题三角形输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。
1、需求分析:1、正整数2、两边之和大于第三边3、两边相等4、三边相等232、边界值案例登录功能实例同等价类年龄字段输入实例同等价类,边界值设计如下练习题保险费率计算某保险网站的前台计算保费页面,其中有年龄字段的输入,不同的年龄段会使用不同的费率计算标准。
其中:01-15岁,费率为:10%16-20岁,费率为:15%21-50岁,费率为:20%等价类与边界值综合练习题1、在某一版的编程语言中对变量名称规格作如下规定:变量名称是由字母开头的,后跟字母或者数字的任意组合构成。
编译器能够区分的有效字符数为8个,并且变量名称必须先声明,后使用,在同一声明语句中,变量名称至少必须有一个。
输入条件:1、变量名称是由字母开头6、变量名称不能重复2、字母或者数字的组合7、字母大小写敏感3、有效字符数为8个8、不能使用关键字4、变量名称必须先声明5、声明语句中变量名称至少必须有一个3、有效字符数为8个[1-8] [1-8]1 A17 0 0 B118 A18>8 9 B126 A194、变量名称必须先声明先声明A20不声明使用B13先使用后声明B145、声明变量至少为一个声明变量为一个A21无变量声明B15 声明变量为多个A226、变量名称不能重复变量名称不重复A23 变量名称重复B167、字母大小写敏感字母大小写敏感AbD A248、不能使用关键字不使用关键字abc A25 使用关键字int B17 2、126邮箱注册输入条件有效等价类编号无效等价类编号字符长度[6-18] 10 9 1<len<6 10 >18 11 空格123、判定表案例读书选择1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去3、不觉得疲倦并且对书的内容感兴趣,但是书中的内容让你糊涂的话,回到本章重读4、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息5、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息6、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去7、不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读8、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读1、需求分析条件:是否疲倦、是否感兴趣、是否糊涂结果:本章重读、继续读、停止阅读、跳到下一章1、3优点:组合充分,没有遗漏缺点:用例数量随条件的递增而过多(2n n:条件的个数)条件的类型:布尔3、合并判定表条件有一个不同风险:产生分支或者路径的遗漏练习题密码修改若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”;若旧密码不正确,则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同,则提示“新密码与验证新密码不同”,系统将不修改个人信息。
黑盒测试用例设计方法-案例21、等价类划分案例有一个程序读入3个整数,把这3个整数作为一个三角形的3条边的长度值。
这个程序要打印出信息,说明这3个整数是否能组成三角形,如果能组成三角形,说明这个三角形是不等边、等腰或等边三角形。
解答:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果三条边满足条件(1)~ (4),则输出下列四种情况之一:☐如果不满足条件(5),则程序输出为“非三角形”☐如果三条边相等即满足条件(7),则程序输出为“等边三角形”☐如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”☐如果三条边都不相等,则程序输出为“不等边三角形”可以设定3条边分别为A,B,C。
如果他们能构成三角形的3条边,必须满足:0<A, 0<B, 0<C,且A+B>C,B+C>A,A+C>B如果是等腰,要判断A=B,或B=C,或A=C如果是等边,要判断A=B,且B=C,且A=C2、边界值案例Void CMyClass::Grow(int years) {mAge += years;if(mAge<10)mPhase = "儿童";else if(mAge<20)mPhase = "少年";else if(mAge<45)mPhase = "青年";else if(mAge<60)mPhase = "中年";elsemPhase = "老年";}测试用例3、因果图案例1某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
找出原因和结果:原因:C1——第一列字符是AC2——第一列字符是BC3——第二列字符是一数字结果:E1——给出信息LE2——修改文件E3——给出信息M生成因果图转换为判定表4、因果图案例2有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
1:程序规定;输入三个整数作为三边的边长构成三角形。
当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。
用等价类划分方法为该程序进行测试用例设计。
2:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。
其规格说明如下:程序的输入文件由一些有80个字符的记录组成,所有记录分为3组,如图:1、标题:改组只有一个记录,其内容是成绩报告的名字。
2、各题的标准答案:每个记录均在第80个字符处标以数字2。
该组的记录:第一个记录:第1~3个字符为试题数(1~999)。
第10~59个字符是1~50题的标准答案(每个合法字符表示一个答案)。
第二个记录:是第51~100题的标准答案。
…….3、学生的答案:每个记录均在第80个字符处标以数字3。
每个学生的答卷在若干个记录中给出。
学号:1~9个字符1~50题的答案:10~59。
当大于50题时,在第二、三、……个记录中给出。
学生人数不超过200,试题数不超过999。
程序的输出有4个报告:a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告d)试题分析报告。
按试题号排序,列出各题学生答对的百分比。
1. 黑盒测试的具体技术方法有哪些?答案: 黑盒测试的具体技术方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法、场景法等。
2. 分析如何选择恰当的黑盒测试方法。
答案: 通常在决定测试策略时,有以下的参考原则:①在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
②必要时采用等价划分类方法补充测试用例。
③采用错误推断法再追加测试用例。
④对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当在补充更多的测试用例。
⑤如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用因果图法。
3. 解释黑盒测试的概念。
答案: 黑盒测试被称为功能测试或数据驱动测试。
1等价类:拿PowerPoint的打印功能界面做例子,用等价类方法,划分等价类。
2.有一个简单的自助转账程序,如下图,用户正确输入对方账号、转账密码和转出金额,点击“确定”按钮就可以转账。
条件:
账号为12位数字,不能为空,不能有空格和字符;
密码为6位数字,不能为空,不能有空格和字符;
转账手续费为1%;
一次最大转出金额为1000元;
转出金额加手续费不得超过账户余额;
请:
1. 用数据驱动方法编写测试用例;
2. 为该用例划分所有等价类;
3. 根据划分的等价类并结合边界值分析方法为该用例设计测试数据。
3
备注:证券交易中,最小交易单位为100股。
请根据这段需求描述所蕴含的信息:
1. 用等价类划分方法划分出所有等价类
2. 假设:成交数量上限为10万股,成交金额上限为500万元。
根据上面划分的等价类,并
结合边界值方法选择相应的测试数据(注意:要列出哪些数据是根据边界值方法选择的数据)。
黑盒测试经典例题(精选8篇)【篇一】黑盒测试经典例题实验一黑盒测试(一)实验目的1.掌握用边界值方法设计测试用例和执行测试的过程;2.掌握用等价划分方法设计测试用例和执行测试的过程;3.掌握用决策表方法设计测试用例和执行测试的过程。
(二)实验内容测试“Ne某tDate”函数。
Ne某tDate返回输入日期后面的那个日期。
变量年、月、日都具有整数值,且满足如下条件:C1:1912≤年份≤2050C2:1≤月份≤12C3:1≤日期≤31(三)实验步骤用熟悉的语言(如C语言)编写实现该函数的功能,并用如下方法设计测试用例,进行黑盒测试。
参考源代码:#includeintne某tDate(intyear,intmonth,intday);voidmain(){/intyear,month,day;ne某tDate(2051,12,30);}intne某tDate(intyear,intmonth,intday) {/某如果还有明天,返回1;如果输入不合法,返回-1;某/witch(month){cae1:cae3:cae5:cae7:cae8:cae10:if(day==31){day=1;month=month+1;}eleday=day+1;break;cae4:cae6:cae9:cae11: if(day==30){day=1;month=month+1;}eleday=day+1;break;cae12:if(day==31){day=1;month=1;year=year+1;if(year==2022)printf("2022iover");}eleif(day=1912&&year12||month31||day【篇二】黑盒测试经典例题常用黑盒测试的方法黑盒测试(Black-bo某Teting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。
黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。
黑盒测试试图发现以下类型的错误:1)功能错误或遗漏;2)界面错误;3)数据结构或外部数据库访问错误;4)性能错误;5)初始化和终止错误。
一、黑盒测试的测试用例设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.1)划分等价类:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.无效等价类:与有效等价类的定义恰巧相反.设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.2)划分等价类的方法:下面给出六条确定等价类的原则.①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.3)设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:输入条件有效等价类无效等价类..................然后从划分出的等价类中按以下三个原则设计测试用例:②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.边界值分析法边界值分析方法是对等价类划分方法的补充.(1)边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.(2)基于边界值分析方法选择测试用例的原则:1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据.2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据.3)根据规格说明的每个输出条件,使用前面的原则1).4)根据规格说明的每个输出条件,应用前面的原则2).5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例.6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例.7)分析规格说明,找出其它可能的边界条件.错误推测法错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.因果图方法因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.利用因果图生成测试用例的基本步骤:(1)分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符.(2)分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系.根据这些关系,画出因果图.(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现.为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件.(4)把因果图转换为判定表.(5)把判定表的每一列拿出来作为依据,设计测试用例.从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加.前面因果图方法中已经用到了判定表.判定表(DeciionTable)是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确.判定表通常由四个部分组成.条件桩(ConditionStub):列出了问题得所有条件.通常认为列出得条件的次序无关紧要.动作桩(ActionStub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.条件项(ConditionEntry):列出针对它左列条件的取值.在所有可能情况下的真假值.动作项(ActionEntry):列出在条件项的各种取值情况下应该采取的动作.规则:任何一个条件组合的特定取值及其相应要执行的操作.在判定表中贯穿条件项和动作项的一列就是一条规则.显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列.判定表的建立步骤:(根据软件规格说明)①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有种规则.②列出所有的条件桩和动作桩.③填入条件项.④填入动作项.等到初始判定表.⑤简化.合并相似规则(相同动作).B.Beizer指出了适合使用判定表设计测试用例的条件:①规格说明以判定表形式给出,或很容易转换成判定表.②条件的排列顺序不会也不影响执行哪些操作.③规则的排列顺序不会也不影响执行哪些操作.④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则.⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要.黑盒测试的优点1.基本上不用人管着,如果程序停止运行了一般就是被测试程序crah了2.设计完测试例之后,下来的工作就是爽了,当然更苦闷的是确定crah原因黑盒测试的缺点2.没有状态转换的概念,目前一些成功的例子基本上都是针对PDU来做的,还做不到针对被测试程序的状态转换来作3.就没有状态概念的测试来说,寻找和确定造成程序crah的测试例是个麻烦事情,必须把周围可能的测试例单独确认一遍。
而就有状态的测试来说,就更麻烦了,尤其不是一个单独的tetcae造成的问题。
这些在堆的问题中表现的更为突出。
黑盒测试(功能测试)工具的选择那么,如何高效地完成功能测试?选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的。
尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。
短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。
目前,用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新。
这里重点介绍的是其中一个较为典型自动化测试工具,即Mercury公司的WinRunner。
WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具。