等价类边界值综合练习题-万年历
[试题]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。
利用边界值分析法选择测试数据进行测试用例设计,完成下表。
黑盒测试习题02

习题020501 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成( )个等价区间。
A. 2B. 3C. 4D. 6输入数据预期结果合法位数不足位数过长abcdefgh 非法字符0502输入数据预期结果!@#$%^&() 合法(无字符)位数过短12736…2179(共256位) 位数过长/?|\ 非法字符0503输入数据预期结果20 合法13 年龄小于范围41 年龄大于范围abcd 非法字符0504 某工厂招工,规定报名者年龄应在20周岁——39周岁之间,即出生年月不得早于1960年7月,不晚于1979年6月。
报名程序具有自动检验输入数据的功能,如果出生年月不属于输入数据预期结果1966.06 合法1960.06 时间过早1980.01 时间过晚一九六五年七月非数字19777 少于6位多余6位大于12小于10505 新浪邮箱名,其输入要求如下:1. 4~16个字符2. 支持英文小写、数字、下划线3. 不支持全部为数字或下划线输入数据预期结果qq_fhg 合法全为数字______ 全为下划线@#¥%……&* 非法字符0个不可为空fwhflwenfklwjwjfilwjksfm 字符大于161df 字符小于4AAAAAAAA 全为大写0506用等价类划分法设计下面的测试用例:有一个报表系统,要求用户输入要处理的报表的日期,假设日期的范围为2000年1月到2020年12月。
如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前4为代表年,后两位代表月。
输入数据预期结果合法时间过早时间过晚abng2432 非法字符月份小于1月份大于1220001 长度小于6长度大于62)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。
要求包括输入数据和预期输出,并指出各个测试用例所能符合的等价类编号0507 NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后一天的日期。
测试用例设计方法之等价类、边界值

测试⽤例设计⽅法之等价类、边界值等价类划分法概念:把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件。
关于等价类划分的两个重要概念:有效等价类:有效等价类是程序规格说明有意义,合理的输⼊数据。
⽐如⽤正确的⽤户名和密码来登录系统就是有效等价类。
⽆效等价类:⽆效等价类是程序规格说明⽆意义,不合理的输⼊数据。
⽐如⽤不存在的⽤户名和密码来登录系统就是⽆效的等价类。
优缺点分析:优点:提⾼⽤例设计效率,较少冗余⽤例。
缺点:只考虑了输⼊的有效和⽆效,对数据的组合⽐较随机,边界缺陷不容易发现。
适⽤范围:输⼊条件划分成多个⼦条件,各个⼦条件之间相对是独⽴的,没有制约关系。
实例演习输⼊框要求输⼊[1,100]的数有效等价类:可以输⼊1-100之间的数来验证,如:2⽆效等价类:可以输⼊1-100之外的任意字符验证,如:999、字母、特殊符号、空格、回车边界值划分法概念:是对等价类划分法的补充;假定⼤多数的错误是发⽣在各种输⼊条件的边界上,如果在边界附近的取值不会导致程序出错,那么其他取值导致程序错误的可能性也很⼩。
关于边界值⼏个“点”的概念:上点:边界上的点。
例1:边界是封闭的[1,100]之间的整数:1、100就是上点例2:边界是是开放的[1,100)之间的整数:1、100就是上点内点:区域内的点离点:⾥上点最近的⼀个点例1:边界是封闭的[1,100]之间的整数:0、101就是离点例2:边界是是开放的[1,100)之间的整数:0、99就是离点优缺点分析:优点:能更容易发现边界,更全⾯系统的测试边界上可能存在的问题;缺点:只能做为⼀个对其他设计⽅法的补充;适⽤范围:有输⼊参数且存在取值边界或长度边界时。
实例演习输⼊框要求输⼊[1,100]的数边界值: 上点:1,100 离点:0,101 内点:50。
测试用例设计练习

一、等价类划分法例子1:现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月-2049年12月,并规定,日期由6位数字组成,前4位表示年,后2位表示月。
1,根据需求进行分析,找出有哪些输入条件年份:【1990,2049】月份:【01,12】字符长度:6位字符类型:数字2,画出等价类输入条件有效等价类边界值分析无效等价类年份【1990,2049】(1)上点:1990,2049(12)离点:1989,2050内点:2016 <1990 (2)>2049 (3)月份【01,12】(4)上点:01,12(13)离点:00,13内点:11 <01 (5)>12 (6)字符长度6位(7)上点:6离点:5,7内点:6 <6 (8)>6 (9)字符类型数字(10)非数字(11)3,为每个等价类规定一个唯一编号(如上图)4,转换成测试用例转换测试用例的原则:A,设计一个测试用例尽可能多的覆盖多个有效等价类;B,设计一个测试用例必须对应覆盖一个无效等价类。
有效等价类用例:用例1:201611 (1)(4)(7)(10)无效等价类用例:用例2:198911 (2)用例3:205011 (3)用例4:201600 (5)用例5:201613 (6)用例6:20161 (8)用例7:2016113 (9)用例8:20161a/abcedf (11)根据边界值分析法分析后补充测试用例用例9:199001 (12)用例10:204912 (13)5,转成正式格式用例(用例写作的8大要素)用例编号D1223232_ST_Search_Date_001项目搜索功能标题输入正确的日期格式成功搜索重要级别高预置条件系统运行正常输入日期:201611操作步骤1,在查询条件中输入日期2,点击搜索按纽预期结果1,显示该日期范围内所有档案文件编写人张三编写时间2016-11-10用例类型功能用例例子2:(学生练习-参考例子)万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
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%
等价类和边界值

等价类和边界值等价性划分:选择输入,输出,动作,环境,或者你感兴趣的因素,对这些因素进行分类,系统应该对每一类中的因素进行等价处理。
我们选择的测试应该至少代表了每个类中的一个选项。
当选择存在某种有意义的顺序,等价类中就会存在边界值。
整数:假设输入允许的最大数量为99,那么等价类和边界值如下:在有效的数量类里面,也可能存在两个子类,可能允许输入千位分隔符。
这只有当你允许数目可以数以千计时才有意义。
如果说输入65536可以,为什么65537不可以。
由于依赖于计算机表示而迫使产生了边界值。
尤其是最大的边界。
这样,我们完全可以分析出两个无效的等价类。
数量过少,数量过多。
那么最低的有效值减1和最高有效数量加1都是你的边界值。
对于卖东西而言。
0是典型的边界值,卖出1包槟榔是有意义的,卖出0包则没意义。
对于随行人数而言,随行人数0又是有意义的,我们在设计时,考虑系统应该显示的业务行为。
一个合理的用户期待是什么样子的,以此来设计测试,覆盖这些行为。
实数:对于实数而言,整数的例子可以直接借用,这里我们需要考虑的问题是一个数值的最小差值是多少。
在测试我们酒店管理系统时,一个可能的用例是用户提交申请查看账务信息。
为了识别等价类和边界值,我们必须知道我们的差值幅度是多少,在实际中,我们保存的为0.01.那么有效等价类为什么我把有效等价的又分成了三个子类。
比0小的,比0大的,和0,这样就造成了位于0和接近0的边界值。
很多时候奇怪的事情发生在0,如果程序员忘记在做除法时检查0值会怎么样。
空值有的时候在计算时被处理成0.所以,在一个数值中检查位于或者接近0这样做是很值得的。
输入过多的小数位数也是无效等价类,使用了错误的千位或者小数分隔符的无效等价类,输入两个小数分隔符或者千位分隔符。
等价类+因果图习题及答案

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)如果三条边都不相等,则程序输出为“一般三角形”
等价类边界值综合练习题-万年历

练习题:万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。
其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)
一、先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例覆盖所有的有效等价类,设计的测试用例如下:
3)为每一个无效等价类设计一个测试用例,设计结果如下:
4)测试用例举例:
5)存在的问题:
1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。
2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、
3、5、7、8、10、
12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。
6)解决办法:
二、结合边界值方法进行用例设计。
首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到
了,最后再针对没有被覆盖的边界值补充测试用例。
设计测试用例覆盖等价类和边界值
可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。
设计测试用例覆盖无效等价类:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习题:万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。
假设日期限定在1900年1月1日~2049年12月31日,并规定日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。
其中4、6、9、11月只有30天,平年的2月份只有28天,闰年的2月份有29天。
(备注:为简化处理,本题在进行用例设计时,不必考虑对平年、闰年的判断)
一、先用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
2)设计测试用例覆盖所有的有效等价类,设计的测试用例如下:
3)为每一个无效等价类设计一个测试用例,设计结果如下:
4)测试用例举例:
5)存在的问题:
1、在对2月、大月、小月的无效日期进行用例选择时,日期没有取到边界上,如果程序忘记了对2月份的日期进行特殊判断,而是粗略写成所有的日期都必须小于等于28,那么用例9、用例10并不能发现错误。
2、在对大月、小月进行用例选择时,按照等价类的思想,从集合{1、
3、5、7、8、10、
12}和{4、6、9、11}中任意挑选了中间数据,感觉令人不够放心。
6)解决办法:
二、结合边界值方法进行用例设计。
首先还是利用等价类的方法进行用例设计,然后看看哪些边界值已经被覆盖到
了,最后再针对没有被覆盖的边界值补充测试用例。
设计测试用例覆盖等价类和边界值
可以再补充1月31日、11月30日的测试用例,因为1月是大月的第一个月,11月是小月的最后一个月,也可以算是边界值。
设计测试用例覆盖无效等价类:。