边界值法练习题
- 格式:doc
- 大小:80.50 KB
- 文档页数:7
一、等价类划分法实例: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。
利用边界值分析法选择测试数据进行测试用例设计,完成下表。
一、判断(01)测试是为了验证软件已正确地实现了用户的要求。
错(02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。
对(03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。
错(04)程序员兼任测试员可以提高工作效率。
错(05)黑盒测试的测试用例是根据应用程序的功能需求设计的。
对(06)当软件代码开发结束时,软件测试过程才开始。
错(07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。
对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。
错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。
错(10)在压力测试中通常采用的是黑盒测试方法。
对(11)软件测试员无法对产品说明书进行白盒测试。
对(12)功能测试工具主要适合于回归测试。
对(13)测试人员说:“没有可运行的程序,我无法进行测试工作”。
错(14)自底向上集成需要测试员编写驱动程序。
对(15)测试是可以穷尽的。
错(16)自动化测试相比手工测试而言,能发现更多的错误。
错(17)软件测试自动化可以提高测试效率,可以代替手工测试。
错(18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。
对(19)Beta测试是验收测试的一种。
对(20)软件开发全过程的测试工作都可以实现自动化。
错(21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。
错(22)结构性测试是根据软件的规格说明来设计测试用例。
错(23)软件测试工具可以代替软件测试员。
错(24)通过软件测试,可以证明程序的正确性。
错(25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。
错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。
对(27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。
错(28)单元测试通常由开发人员进行。
对(29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。
3.2.2 边界值分析方法举例例1:成绩报告生成程序现有一个学生标准化考试批阅试卷,产生成绩报告的程序。
其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:1) 标题:这一组只有一个记录,其内容为输出成绩报告的名字。
2) 试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。
该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。
第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。
该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。
3) 每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。
每个学生的答卷在若干个记录中给出。
如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。
若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。
然后是学生乙的答卷记录。
4) 学生人数不超过200,试题数不超过999。
5) 程序的输出有4个报告:a) 按学号排列的成绩单,列出每个学生的成绩、名次。
b) 按学生成绩排序的成绩单。
c) 平均分数及标准偏差的报告。
d) 试题分析报告。
按试题号排序,列出各题学生答对的百分比。
解答:分别考虑输入条件和输出条件,以及边界条件。
给出下表所示的输入条件及相应的测试用例。
输出条件及相应的测试用例表。
通过上面表中列出的43个测试用例可以发现程序中大部分常见的错误。
如果采用随机和任意方法设计测试用例,不一定会发现这些错误。
如果使用得当,采用边界分析法的测试用例是很有效的。
在边界情况复杂的情况下,要找出适当的测试用例还需针对问题的输入域、输出域边界、耐心细致的逐个考虑。
补充(错误推测法):例2:三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
等价类和边界值方法的结合例题等价类和边界值方法的结合例题:让测试不再头疼的神奇秘籍嗨,亲爱的小伙伴们!今天我要给你们分享一个超级厉害的测试方法,那就是等价类和边界值方法的结合。
这就像是给你的测试工作来了一场魔法变身,让那些隐藏的小怪兽(bug)无处可逃!首先咱们来聊聊啥是等价类。
想象一下,你面前有一堆水果,有苹果、香蕉、橙子、梨。
如果咱们把水果按照能剥皮和不能剥皮来分类,那能剥皮的就是一类,不能剥皮的就是另一类。
这就是等价类啦,就是把输入的东西按照相似的特性分成几类。
比如说,咱们要测试一个登录功能,用户名要求是 6 - 12 位的字母和数字组合。
那等价类就可以分为:有效的用户名(6 - 12 位的字母和数字组合)、太短的用户名(小于 6 位)、太长的用户名(大于 12 位)、包含非法字符的用户名(比如有特殊符号)。
接下来就是边界值啦!这就像是走钢丝,钢丝的两端就是边界。
比如说用户名要求是 6 - 12 位,那边界值就是 6 位、12 位,还有 5 位、13 位。
好啦,现在咱们来看看怎么把这俩结合起来搞个例题。
假设咱们要测试一个购物车结算功能,商品数量输入范围是 1 - 100 件。
第一步,先划分等价类。
有效等价类就是 1 - 100 件的输入,无效等价类呢,有小于 1 件(比如 0 件),大于 100 件(比如 101 件),还有非数字的输入(比如字母啥的)。
第二步,确定边界值。
那就是 1 件、100 件、0 件、101 件。
第三步,开始测试啦!先试试有效等价类里的中间值,比如50 件,看看有没有问题。
然后再试试边界值,输入 1 件,看看能不能正常结算;输入 100 件,瞅瞅有没有异常。
接着输入 0 件,看看系统会不会报错;最后输入 101 件,瞧瞧是不是会有提示说数量不对。
我跟你们说,我之前有一次测试的时候,就忘了考虑边界值,结果上线后,有个用户一下子买了 1000 件商品,系统直接崩溃啦!老板那个脸拉得比驴脸还长,我那叫一个惨哟!再给你们举个例子,比如说测试一个输入年龄的功能,范围是 18 - 60 岁。
测试用例模拟题选择题(针对以下题目,请选择最符合题目要求的答案。
针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。
其中第1—10题每题1分,其余每题1.5分,共100分)1) 下列对于测试用例的描述中,正确的是()。
(选择一项)a) 在测试过程中,测试用例是一成不变的b) 测试用例模板是不能改变的c) 编写测试用例不需要参照需求d) 参考手册测试用例需要不断更新和维护2) 划分等价类要()。
(选择一项)a) 只考虑有效等价类b) 只考虑无效等价类c) 既考虑有效等价类,也考虑无效等价类d) 考虑输入条件之间的联系3) 下列对于等价类的描述中,正确的是()。
(选择一项)a) 等价类数据测试的内容完全不同b) 等价类中的一个测试能捕获缺陷,那么该等价类中的其它测试也能捕获缺陷c) 如果输入条件是一个布尔量,则不能确定等价类d) 如果输入条件说明了一个必须成立的情况,则不能确定等价类4) 输入长度在20到100个字符的字符串,使用边界值法的边界值是()。
(选择一项)a) 20b) 25c) 90d) 不能确定5) 下列不属于因果图法的步骤有()。
(选择一项)a) 画出因果图b) 转换成判定表c) 把判定表中的每一列拿出来作为依据,设计测试用例d) 把判定表中的每一行拿出来作为依据,设计测试用例6) 下列关于随机测试的描述中正确的是()。
(选择一项)a) 可以度量随机测试实际覆盖率b) 许多测试都是冗余的c) 重复测试是不可能的d) 确定预期结果不会花费大量时间7) 通过测试主要用于验证()。
(选择一项)a) 一个系统不会做不需要它做的事b) 系统和需求是否一致c) 随机数据会产生哪些结果d) 直觉推测产生哪些错误8) 错误猜想主要用于验证()。
(选择一项)a) 一个系统不会做不需要它做的事b) 系统和需求是否一致c) 随机数据会产生哪些结果d) 直觉推测可能产生哪些错误9) 下列叙述中,哪些属于等价类数据的共同特点()。
1.请用边界值分析法设计三角形问题的测试用例
2.在三角形问题描述中,除了要求边长是整数外,没有给出其它的限
制条件。
在此,我们将三角形每边边长的取范围值设值为[1, 100] 。
边1,边2,边3,还是a、b、c 按钮名称【提交】。
边界值:0,1,2,99, 100, 101
2.请用边界值分析法写出NextDate函数的测试用例
3.在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
边界值:year 取 1911 1912 1913 1990 2049 2050 2051
mouth取 -1 1 2 11 12 13
day取 0 1 2 30 31 32
测试用例:
3.邮箱用户名:6~18个字符,包括字母、数字、下划线,以字母开头,用户名以字母或数字结尾,用户名中必须包含@符号,@符号后可以为数字、字母,邮箱以或或.结尾
根据要求可以确定5个有效等价类和6个无效等价类
邮箱用户名测试用例:
等等(8)(9)(10)(11)任意两个、三个、四个组合都是错误的邮箱用户名。
4. 假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
有效等价类: 0 < R < = 100 ,R<= P <= 100 R :货币价格
无效等价类:R > 100 or R<=0 ,p>100 or p<R P :顾客付款无效输入(不找零)
R > 100 or R<=0 ,
0 < R < = 100 p>100
0 < R < = 100 p<R 输出相应的错误信息
有效输入(找零)
0 < R < = 100 ,R<= P <= 100
T=P-R T :找零
商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种,边界值T可取:0、1、4、5、9、10、49、50、99。
找零钱最佳组合测试用例:。