边界值分析法实例

发表于:2007-4-09 14:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51testing    来源:

实例:
“某一为学生考试试卷评分和成绩统计的程序,其规格说明指出了对程序的要求:
程序的输入文件由80个字符的一些记录组成,这些记录分为三组:
(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,等等题的解答。然后是学生乙的答案记录。
若学生最多为200人,输入数据的形式如下图所示:
该程序应给出4个输出报告,即:
按学生学号排序,每个学生的成绩(答对的百分比)和等级报告。
按学生得分排序,每个学生的成绩。
平均分数,最高与最低分之差。
按题号排序,每题学生答对的百分比。
以下两个表分别针对输入条件和输出条件,根据其边界值设置了
测试用例。(共43个测试用例)
输入条件 测试用例 
输入文件 空输入文件 

标题 无标题记录
只有1个字符的标题
具有80个字符的标题 

 

出题个数 出了1个题
出了50个题
出了51个题
出了100个题
出了999个题
没有出题
题目数是非数值量 

答案记录 标题记录后没有标准答案记录
标准答案记录多1个
标准答案记录少1个 


学生人数 学生人数为0
学生人数为1
学生人数为200
学生人数为201 

生答题 某学生只有1个答卷记录,但有2个标准答案记录
该学生是文件中的第1个学生
该学生是文件中的最后1个学生 

学生答题 某学生有2个答卷记录,但仅有1个标准答案记录
该学生是文件中的第1个学生
该学生是文件中最后1个学生 

输出条件 测试用例 

学生得分 所有学生得分相同
所有学生得分都不同
一些学生(不是全部)得分相同(用以检查等级计算)
1个学生得分0分
1个学生得分是100分 
输出报告
(1)(2) 1个学生编号最小(检查排序)
1个学生编号最大
学生数恰好使报告印满1页(检查打印)
学生人数使报告1页打印不够,尚多1人 
输出报告
(3) 平均值最大值(所有学生均得满分)
平均值为0(所有学生都得0分)
标准偏差取最大值(1学生得0分,1学生得100分)
标准偏差为0(所有学生得分相同) 
输出报告
(4) 所有学生都答对第1题
所有学生都答错第1题
所有学生都答对最后1题
所有学生都答错最后1题
报告打印完1页后,恰剩1题未打
题数恰好使得报告打印在1页上

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • nic162534
    2007-5-25 18:18:32

    我做了要写WINXP中计算器的减法运算的用例,我用的是主要是边界值分析,希望大家看看,给点评价!!^_^thank U
    我们做的测试用例我用边界值划分,现在我记找到几个边界值,大卫老师说让我去好好想想,我头都快爆了,不过我就是喜欢这种感觉。我把能想到的边界值都列出来:
    1.        由于是32位机器,所以最大能输入的整数为32个9,这个是个边界,0是正数和负数的边界,而最小的能输入的整数为-99999999999999999999999999999999,也是个边界值。
    2.偶数的边界值也能找到,最大为99999999999999999999999999999998,同样它的相反数为-99999999999999999999999999999998 ,也是个边界值,2是最小的偶数,是边界值,它的相反数-2也是边界值。同样的奇数也是。
    3.我觉得整数每增加一位,就可以找到一个边界值,比如10到100这时边界值可以使100,也可以是99,
    4.纯小数和带小数之间的边界值,确实它是1,和前面的最小的奇数一样,但是意义不一样。

    现在可以想怎样开始写用例了,
    (1)        首先把99999999999999999999999999999999作为被减数,现在考虑减数的选择:
    A.        最小的可输入的整数为-99999999999999999999999999999999;
    B.        正负数的分界:0
    C.        最大的偶数:99999999999999999999999999999998;
    D.        最大偶数的相反数:-99999999999999999999999999999998;
    E.        最小的偶数:2;
    F.        最小的偶数的相反数:-2;
    G.        最小的奇数(同时也是带小数和纯小数之间的边界值):1;
    H.        可以选100(也是个边界值),不过也能选99,这可以算是两个测试用例;事实上可以写无限多个;
    上面的数都是考虑的边界,现在可以选一些比较一般的数:
    I.        选择一个比较一般的代小数:3542.56563;
    J.        选择一个很普通的正整数:282488428189482;
    K.        选择一个纯小数:0.343421145452;
    L.        选择一个无理数:根号234;
    M.        选择一个很普通的负整数:-4595774782372;
    N.        选择一个无限循环小数;0.9999……;
    还可以写很多,就不写了。
    (2)        现在把0作为被减数,又可以写上面的这些用例,只是上面的B.条中的0 换为99999999999999999999999999999999;
    (3)        到了这里,就比较好写了,就是要写10000个用例也没问题。就是换一下被减数,因为他们都是一些可以看成比较边界的数。
    PS:本人作为初学者献丑了,不好意思!!!

  • hotivy
    2007-4-10 17:17:58

    好复杂没看懂

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号