判定覆盖法

判定覆盖法


一、什么是判定覆盖

判定覆盖(分支覆盖):判定覆盖是指设计若干个测试用例,运行被测程序,使得程序中每个判定条件的取真分支和取假分支至少被执行一次。即:每个分支被执行一次。

判定覆盖率= 被执行的判定(真假)分支总数 可执行的判定(真假)分支总数 \frac{被执行的判定(真假)分支总数}{可执行的判定(真假)分支总数} 可执行的判定(真假)分支总数被执行的判定(真假)分支总数x100%

二、要执行的语句代码

代码流程图(示例):在这里插入图片描述

代码如下(示例):

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int x,y,Number;
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入x,y,Number,用空格隔开");
		x=sc.nextInt();
		y=sc.nextInt();
		Number=sc.nextInt();
		if(x>0 && y>0) {
			System.out.println("Hello1");
		}else{
			System.out.println("Hello2");
		}
		if(Number < 0) {
			System.out.println("Hello3");
		}
		System.out.println("Hello4");
	}



三、设计测试用例

1.测试用例数据

根据以上代码定义:
把第一个if语句(x>0 && y>0)定义为test1
把第二个if语句(Number < 0)定义为test2
执行结果为真就为下表就填T为假就填F
设计测试用例:
在这里插入图片描述

2.执行测试用例

在这里插入图片描述

在这里插入图片描述
这里我们看到我们每个判定(真假)分支都执行了一遍,达到了判定覆盖的要求
判定覆盖率= 被执行的判定(真假)分支总数 可执行的判定(真假)分支总数 \frac{被执行的判定(真假)分支总数}{可执行的判定(真假)分支总数} 可执行的判定(真假)分支总数被执行的判定(真假)分支总数x100%= 4 4 \frac{4}{4} 44x100%=100%

四、判定覆盖法的总结

判定覆盖比语句覆盖强,只要满足了判定覆盖就一定满足语句覆盖,但是它与语句覆盖一样难以发现运算中的逻辑错误关系。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对信用卡还款业务逻辑代码进行分析后,我们可以得出以下代码片段: ``` if (cardExist(cardNumber)) { if (cardValid(cardNumber)) { if (sufficientBalance(cardNumber, amount)) { if (paymentSuccess(cardNumber, amount)) { updateBalance(cardNumber, amount); return "Payment successful"; } else { return "Payment failed"; } } else { return "Insufficient balance"; } } else { return "Card expired or invalid"; } } else { return "Card does not exist"; } ``` 这段代码主要实现了信用卡还款的业务逻辑,包括检查信用卡是否存在、是否有效、余额是否充足以及还款是否成功等操作。为了使用修正条件/判定覆盖进行测试用例设计,我们需要先确定一些关键的条件和分支。 在这段代码中,有四个关键条件/分支: 1. 卡片是否存在(cardExist) 2. 卡片是否有效(cardValid) 3. 余额是否充足(sufficientBalance) 4. 还款是否成功(paymentSuccess) 根据修正条件/判定覆盖的要求,我们需要设计测试用例,覆盖所有的条件和分支。具体的测试用例设计如下: 1. 卡片存在、卡片有效、余额充足、还款成功 2. 卡片存在、卡片有效、余额不足、还款失败 3. 卡片存在、卡片有效、余额充足、还款失败 4. 卡片存在、卡片无效、还款失败 5. 卡片不存在 其中,第一组测试用例覆盖了所有的条件和分支,其余测试用例可以覆盖不同的条件和分支。另外,需要注意的是,在设计测试用例时,需要考虑各种边界情况,例如余额为0、负数或者超过信用额度等情况。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值