问题
问答题
请仔细阅读以下程序并完成要求。
If((a>2&&b<3)&&(c>4||d<5))
Flag=1;
Else
Flag=0;
请分别按照语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖测试用例。
答案
参考答案:语句覆盖是基本的覆盖,只要能让flag=1和flag=0都被执行一次就达到了语句覆盖的标准。用例1和用例2一起即满足了语句覆盖不标准的要求。
判定覆盖就是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。
条件覆盖需要让所有判定条件取一次真和一次假,因此测试用例3和用例4一起让所有条件都取到了真和假,满足条件判定覆盖要求。
判定/条件覆盖要求判定覆盖和条件覆盖都要被同时满足,而恰好测试用例3和用例4一起就满足了判定/条件覆盖的要求。
用例编号 a b c d a>2 b<3 c>4 d<5 1 0 0 0 0 F T F T 2 3 1 5 0 T T T T 3 5 0 5 0 T T T T 4 0 5 0 5 F F F F