HNUST湖科大软件测试技术与方法第三章课后习题第5题

针对下可能存在的程序结构设计测试用例
(1)程序要求:10个铅球中有一个假球(比其他铅球重量轻),用天平三次称出假球。
(2)程序设计思路:第一次使用天平分别称5个球,判断一边有假球;拿出轻的五个球,拿出其中4个称,两边分别放2个球;如果两侧同重,则剩下的为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。

因果关系:
A: x[1]+x[2]+x[3]+x[4]+x[5] < x[6]+x[7]+x[8]+x[9]+x[10]
B: x[2]+x[3] == x[4]+x[5]
C: x[2]+x[3] < x[4]+x[5]
D: x[2] < x[3]
E: x[4] < x[5]
F: x[7]+x[8] == x[9]+ x[10]
G: x[7]+x[8] < x[9]+ x[10]
H: x[7] < x[8]
I: x[9] < x[10]

流程图:

在这里插入图片描述

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 伪代码: ``` 1. 输入一个整数n 2. 如果n小于0,输出“输入的数必须是非负数” 3. 否则如果n为偶数,输出“n是一个偶数” 4. 否则输出“n是一个奇数” ``` 语句覆盖测试用例: - 测试用例1:n为正偶数 - 测试用例2:n为正奇数 - 测试用例3:n为0 - 测试用例4:n为负数 路径覆盖测试用例: - 测试用例1:n为正偶数 - 测试用例2:n为正奇数 - 测试用例3:n为0 - 测试用例4:n为负数 - 测试用例5:n为正数,但不是偶数也不是奇数 - 测试用例6:n为非整数 ### 回答2: 伪代码如下: ``` if a > b: if c > d: print("a > b and c > d") else: print("a > b and c <= d") else: if e < f: print("a <= b and e < f") else: print("a <= b and e >= f") ``` 语句覆盖测试用例: 1. a > b,c > d 2. a > b,c <= d 3. a <= b,e < f 4. a <= b,e >= f 路径覆盖测试用例: 1. a > b,c > d 2. a > b,c <= d 3. a <= b,e < f 4. a <= b,e >= f 上述测试用例覆盖了伪代码中的所有可能情况。第一组测试用例覆盖了两个嵌套的if条件判断语句。第二组测试用例覆盖了包含else分支的条件判断语句。通过这些测试用例的执行,可以验证伪代码中所有条件判断的正确性。 ### 回答3: 伪代码如下: ``` 1. 输入一个整数n 2. 如果n小于0,则输出"输入错误" 3. 否则,输出n的平方根 ``` 对于这段伪代码,要进行语句覆盖测试,需要设计测试用例,使得每一行代码至少执行一次。根据伪代码的逻辑,可以设计以下几个测试用例: 测试用例1:n为正整数 输入:n = 4 预期输出:2 测试用例2:n为负整数 输入:n = -5 预期输出:"输入错误" 测试用例3:n为0 输入:n = 0 预期输出:0 可以看到,通过这三个测试用例,可以保证每一行代码至少执行一次,从而实现语句覆盖测试。 对于路径覆盖测试,则需要设计测试用例,使得每一条可能的路径都至少被执行一次。根据伪代码的逻辑,可以设计以下几个测试用例: 测试用例1:n为正整数 输入:n = 4 预期输出:2 测试用例2:n为负整数 输入:n = -5 预期输出:"输入错误" 测试用例3:n为0 输入:n = 0 预期输出:0 通过这三个测试用例,可以覆盖所有可能的路径。例如,对于n为正整数的情况,路径为1-2-3;对于n为负整数的情况,路径为1-2;对于n为0的情况,路径为1-3。 以上就是针对该伪代码设计的语句覆盖和路径覆盖的测试用例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值