等价类划分法习题
[试题]ok等价类划分和边界值分析法实例
![[试题]ok等价类划分和边界值分析法实例](https://img.taocdn.com/s3/m/2720e6d44128915f804d2b160b4e767f5acf8060.png)
一、等价类划分法实例:1.输入条件为某个范围的取值:例:在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?2.输入条件为输入值的集合:例:假设PowerPoint打印输出幻灯片的页数分别为{1,2,3,6,9 },则根据黑盒测试中的等价类划分技术,它的有效和无效等价类分别为?3.输入为BOOL变量,它的有效和无效等价类分别为?4.输入条件中由若干规则组成,其中各个规则都是独立的:例:一条输入的字符串中不能含有“#”和“&”两个特殊字符(其他字符都是合法的)的规则,它的有效和无效等价类分别为?5.输入条件由一个合法的规则组成:例:某个变量的取值必须为100,那么它的有效和无效等价类分别为?6.为输入条件的组合关系划分等价类:输入条件同时满足x>10和y<200两个判断表达式决定,那么它的有效和无效等价类分别为?二、边界值分析法实例:1.大小范围边界例:若10≤x≤200,利用边界值分析法需要选择哪些测试数据?若10<x<200,利用边界值分析法需要选择哪些测试数据?2.极限边界当给出的整数是无限制范围时,它的边界便是整数的最大值和最小值。
例:16位的有符号整数,它的边界是?利用边界值分析法需要选择哪些测试数据?3.NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量month和变量day的取值范围为1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。
利用边界值分析法选择测试数据进行测试用例设计,完成下表。
7(习题课)等价类-决策表法-练习题

3.7.1 决策表
• 在所有的黑盒测试方法中,基于决策表(也称判定表)的测 试是最为严格、最具有逻辑性的测试方法。
• 决策表的概念:决策表是分析和表达多逻辑条件下执行不同 操作的情况的工具。
决策表实例
• 决策表的优点:能够将复杂的问题按照各种可能的情况全部 列举出来,简明并避免遗漏。因此,利用决策表能够设计出 完整的测试用例集合。
1.小于0; 2.大于100;
1. 小于0; 2. 大于100;
2021/5/15
步骤2:选择测试方案
• 弱一般等价类测试 • 强一般等价类测试 • 弱健壮等价类测试 • 强健壮等价类测试
2021/5/15
选择 强一般等价类 设计有例个数m1* m2* …*mn 个=3*3=9个。
方 案
价格R
1 0~10 2 3 4 11~50 5
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例:
测试用例编号 1 2 3 4 5 6
输入数据 #3 #A *6 *B A1 GT
预期输出 修改文件 给出信息M 修改文件 给出信息M 给出信息N 给出信息N和信息M
2021/5/15
习题
1、某软件的一个模块的需求规格说明书中描述: (1)年薪制员工:严重过失,扣年终风险金的4%
;过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣当月薪资的8%
;过失,扣当月薪资的4%。 请绘制出因果图和判定表,并给出相应的测试用例 。
2021/5பைடு நூலகம்15
(1)分析程序规格说明中的原因和结果:
原因
结果
c1:员工是年薪制 c2:员工有严重过失 c3:员工有过失
e1:扣年终风险金的4% e2:扣年终风险金的2% e3:扣当月薪资的8%
等价类划分练习汇编

调研课题:问题QQ用户登录框测试,我们要从两个方面去考虑:一是QQ帐号,二是QQ密码。
3
899909
空
密码不能为空
4
8999
1223332
账号太短,不能少于6位
5
89999999999999
1223332
账号太长,不能多于10位
6
898.23408
1223332
账号必须为自然数
7
899909
12233
密码太短,不能少于6位
8
899909
12233322222222222
密码太长,不能多于16位
除了“漂亮女生”形成的价格,优惠等条件的威胁外,还有“碧芝”的物品的新颖性,创意的独特性等,我们必须充分预见到。四、影响的宏观环境分析输入等价类
3、你是否购买过DIY手工艺制品?有效等价类
(三)上海的文化对饰品市场的影响
2、你大部分的零用钱用于何处?无效等价类
账号
长度为6~10位数字字符
⑤长度小于6的数字
⑥长度大于10的数字
②字符是0~9的自然数
⑦字符是非自然数
密码
③长度为6~16位字符
⑧长度小于6
⑨长度大于16
④数字、符号、英文字符
⑩除数字、符号、英文字符之外的字符
2)设计测试用例,覆盖所有的有效等价类
测试用例
编号
输入数据
预期输出
账号
密码
1
等价类划分单元测试

1、在进行等价类划分时,以下哪个选项最准确地描述了有效等价类的定义?A. 能导致程序产生错误输入的集合B. 对于程序规格说明而言,是合理的、有意义的输入数据构成的集合C. 输入数据超出了程序能接受的正常范围D. 无法被程序正常处理的输入数据集合(答案:B)2、以下哪个步骤不属于等价类划分方法的基本流程?A. 划分等价类B. 设计测试用例C. 编写详细的设计文档D. 确定有效和无效等价类(答案:C)3、在测试一个用户名输入框时,如果要求用户名必须是5到10位的字母或数字组合,那么以下哪个选项是无效等价类?A. 4位的字母数字组合B. 6位的纯数字C. 11位的字母数字组合D. 5位的纯字母(答案:A, C)【注:此题可视为多选,因为A和C都超出了规定范围】4、对于一个接收整数输入的函数,如果该函数只能处理-100到100之间的整数,以下哪个是有效等价类?A. 小于-100的整数B. -100到100之间的整数C. 大于100的整数D. 所有的负整数(答案:B)5、在测试一个密码强度验证功能时,如果密码要求至少包含一个大写字母、一个小写字母、一个数字,且长度不少于8位,以下哪个属于有效等价类?A. Abc12345B. abc1234567C. ABCDEFGHD. 12345678(答案:A)6、在等价类划分中,设计测试用例主要是为了覆盖:A. 所有的有效等价类B. 所有的无效等价类C. 尽可能多的等价类,包括有效和无效D. 只覆盖有效等价类中的边界值(答案:C)7、对于一个只能接受正整数的函数,以下哪个是无效等价类?A. 正整数B. 零C. 负数D. 小数(答案:B, C, D)【注:此题同样可视为多选,因为B、C、D都不符合“正整数”的要求】8、在测试一个日期输入功能时,如果要求输入的日期格式必须为“YYYY-MM-DD”,以下哪个选项属于无效等价类?A. 2023-05-12B. 2023/05/12C. 12-05-2023D. 2023-13-01(答案:B, C, D)【注:此题也是多选,B、C格式错误,D中月份超出范围】。
软件测试方法 讲义 考试题 等价类划分法

--之等价类划分法设计测试用例
作者:*** 日期:2007-07-19
Copyright@2007 Softbrain Software(Beijing) Co.,Ltd.
第1页/共8页
考试纲要
回顾等价类划分法的基本概念 设置题目 开始撰写 总结
第2页/共8页
测试用例设计方法 --等价类划分法
第5页/共8页
开始答题
30分钟
第6页/共8页
答案
输入条件
地区码
有效等价类
空白① 3位数字②
从200到999之间的3位数字③
前缀
后缀
4位数字④
4个有效等价类,准备两条用例; Βιβλιοθήκη 1个无效等价类,要至少准备11条用例。
第7页/共8页
无效等价类 有非数字字符⑤ 少于3位数字⑥ 多于三位数字⑦
有非数字字符⑧ 起始位为"0"⑨ 起始位为"1"⑩ 少于3位数字⑾ 多于3位数字⑿
第3页/共8页
测试用例设计方法 --等价类划分法
3、划分等价类的方法 1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和 两个无效等价类。
2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确 立一个有效等价类和一个无效等价类;
3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
第4页/共8页
题目 假设某城市的电话号码由三部分组成。 具体说明:(地区码)前缀 后缀 1、地区码:空白或三位数字; 2、前 缀:非“0”或“1”开头的三位数字; 3、后 缀:四位数字。 假定被测试的程序能接受一切符合上述规定的电话 号码,拒绝所有不符合规定的号码 要求:划分等价类、准备测试用例(包括测试数据)
墨盒测试法——等价类划分法(有答案)

实验3 墨盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正。
#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等腰三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";}#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!";}等价类:测试用例序号测试数据覆盖范围输出1 3,4,5 1,2,3,4,5,6 一般三角形2 2,2,3 4,5,6,8 等腰三角形3 3,3,3 4,5,6,7 等边三角形4 2,3,7 4,5,6,11 不能形成三角形5 5,6,7 1,2,3,4,5,6 一般三角形6 3,3,4 4,5,6,8 等腰三角形改正:1测试有1错误:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";应该把所有<>改!=2.更改后测试没错误,运行时发现结果不匹配:问题出现在:if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";和if(a==b||b==c||a==c)cout<<"是等腰三角形!";这两处代码有问题,应依次改为:if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";2、城市的电话号码由两部分组成。
等价类划分法

设计测试用例的着眼点
根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如 FAX 和上网可能要用到 MODEM,测试中考虑对设备的共享); 考虑特殊情况(如内存和硬件的冲突等); 设计极端情况(如内存泄漏、破坏性测试等); 好的测试用例集能花费最小的代价(人力、物力、财力、 时间)做最好的测试。
设计测试用例的基本准则
测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和环 境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用 例都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。
例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。
等价类的划分
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数 x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵 的值为奇数的整数,无效等价类为 x的值不为奇数的整数。 守的规则或限制条件的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且 (5)细分等价类 在确知已划分的等价类中各元素在程序中 字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为满 的处理方式不同的情况下,则应再将该等价类进一步划分为 足了上述所有条件的字符串,无效等价类为不以‘a’开头的字 更小的等价类,并建立等价类表。 符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符的 字符串。
等价类+因果图习题及答案

2)((x==4)||(y<5))设计测试用例 x=4, y=3;
3)((x!=4)||(y>5)),设计测试用例 x=2,y=6;
4)((x!=4)||(y<5)),设计测试用例x=2,y=3;
由于x=4第一个条件已经考虑,所以上面1)2)合成x=2,y=6;
2->7->8->9
路径覆盖
x=4, y=6, z=5
x=2, y=6, z=15
x=5, y=5, z=5
x=2, y=5, z=5
2->4,5->7->8->9
2->7->8->9
2->4,5->7->9
2->7->9
2、使用逻辑覆盖测试方法测试以下程序段
void Do(int X,int A,int B)
{
1 int k=0,j=0;
2 if((x>3)&&(z<10))
3 {
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=x*y+10;
9 j=j%3;
}
要求(1)画出程序段的控制流图
(2)分别以条件覆盖,路径覆盖方法设计测试用例
答:(1)
(2)条件覆盖:
(2)如果三条件边相等,则程序输出为“等边三角形”;
(3)如果恰好有两条边相等,则程序输出为“等腰三角形”;
(4)如果三条边都不相等,则程序输出为“一般三角形”
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习一:
? 现有一个小程序,能够求出三个在-10000 到+10000 间整数中的最大者,程序界面如下:
请使用等价类法,设计其测试用例。
练习二:设计出三角形问题的测试用例
输入三个整数作为三边的边长构成三角形。
当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。
用等价类划分方法为该程序进行测试用例设计。
练习三:测试用户登录对话框的功能,并写出其测试用例
测试场景:
在各种输入条件下,测试程序的登录对话框功能。
用户名和密码的规则如下:
用户名长度为 6 至10 位(含 6 位和10 位)
用户名由字符(a-z 、A-Z )和数字(0-9 )组成
不能为空、空格和特殊字符
密码规则同用户名规则
Welcome To Download !!!
欢迎您的下载,资料仅供参考!。