软件测试-测试用例的经典例子

一、等价类划分
问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
解:
分析题目中给出和隐含的对输入条件的要求: 
(1)整数
(2)三个数
(3)非零数 
(4)正数
(5)两边之和大于第三边
(6)等腰
(7)等边 
如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 
列出等价类表并编号


覆盖有效等价类的测试用例:
a      b      c              覆盖等价类号码
3      4      5             (1)--(7)
4      4      5             (1)--(7),(8)
4      5      5             (1)--(7),(9)    
5      4      5             (1)--(7),(10)
4      4      4             (1)--(7),(11)
覆盖无效等价类的测试用例:


二、边界值分析法
NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。

测试用例 Month Day year 预期输出
Test1 6 15 1911 1911.6.16
Test2 6 15 1912 1912.6.16
Test3 6 15 1913 1913.6.16
Test4 6 15 1975 1975.6.16
Test5 6 15 2049 2049.6.16
Test6 6 15 2050 2050.6.16
Test7 6 15 2051 2051.6.16
Test8 6 0 2001 Day超界
Test9 6 1 2001 2001.6.2
Test10 6 2 2001 2001.6.3
Test12 6 30 2001 2001.6.31
Test13 6 31 2001 2001.7.1
Test14 6 32 2001 Day超界
Test15 0 15 2001 Month超界
Test16 1 15 2001 2001.1.16
Test17 2 15 2001 2001.2.16
Test18 11 15 2001 2001.11.16
Test19 12 15 2001 2001.12.16
Test20 13 15 2001 Month超界

三、错误推测法
测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I. 输入的线性表为空表;
II. 表中只含有一个元素;
III. 输入表中所有元素已排好序;
IV. 输入表已按逆序排好;
V. 输入表中部分或全部元素相同。

四、因果图法
有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
1) 分析这一段说明,列出原因和结果原因:
1.售货机有零钱找
2.投入1元硬币
3.投入5角硬币 
4.押下橙汁按钮
5.押下啤酒按钮 
结果: 
21.售货机〖零钱找完〗灯亮    
22.退还1元硬币
23.退还5角硬币              
24.送出橙汁饮料
25.送出啤酒饮料
2)画出因果图,如图所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:
11. 投入1元硬币且押下饮料按钮                
12. 押下〖橙汁〗或〖啤酒〗的按钮                
13. 应当找5角零钱并且售货机有零钱找                
14. 钱已付清

3)转换成判定表:

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于软件测试用例白盒测试和练习题,我可以给你一些参考: 白盒测试是一种测试方法,它通过了解被测试软件的内部结构和代码逻辑来设计测试用例,并对其进行测试。在白盒测试中,测试人员可以访问程序代码和内部数据结构,从而可以设计测试场景以覆盖所有可能出现的情况。下面是一些白盒测试用例例子: 1. 确保所有代码路径都被测试覆盖,包括所有条件语句和循环结构。 2. 检查是否有未初始化的变量或指针,这可能导致程序崩溃或产生意外的行为。 3. 检查程序是否能够正确地处理错误情况,如无效的输入或错误的参数。 4. 检查程序是否能够正确地处理边界条件,如处理最小和最大值。 5. 检查程序是否能够正确地处理并发或多线程访问。 6. 检查程序是否能够正确地处理内存分配和释放,以避免内存泄漏或错误的内存访问。 下面是一些白盒测试练习题: 1. 设计测试用例测试一个函数,该函数接受两个整数并返回它们的和。 2. 设计测试用例测试一个函数,该函数接受一个字符串并返回该字符串中的第一个单词。 3. 设计测试用例测试一个函数,该函数接受一个整数数组并返回数组中的最大值。 4. 设计测试用例测试一个函数,该函数接受一个字符串并返回该字符串中的所有元音字母的数量。 5. 设计测试用例测试一个函数,该函数接受一个日期和一个整数,并返回该日期加上给定天数后的日期。 希望这些练习题和用例可以帮助你更好地理解白盒测试。如果你还有其他问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值