首页 > 试题广场 >

针对程序段:IF(ABC)THEN W=WX,对

[单选题]
针对程序段:IF(A||B||C)THEN  W=W/X,对于(A,B,C)的取值,( )测试用例能够满足MCDC(修正条件逻辑判定)的要求。
  • (F,T,T) (T,F,T) (T,F,F) (T,T,F)
  • (T,F,F) (T,T,F) (F,T,T) (F,F,F)
  • (T,F,F) (T,T,F) (F,T,T) (F,F,T)
  • (T,F,F) (F,T,F) (F,F,T) (F,F,F)
(A||B||C)一共有2^3=8,8种2组合,但是因为是或,or 或语句只要判断前面的, 
若第一项为T,后面无论是啥,都为真,(T X X)  =(T T F)=(T T T)=(T F F)=(T F T)等效    4种
若第一项为F,则判断第二项,第二项为T,则后面无需判断,(F T X)   =(F T F)=(F T T)等效    2种
                           第二项为F,则判断第三项,第三项为T      (F F T)     1种
                           第二项为F,则判断第三项,第三项为F      (F F F)     1种
故而只需要四种
编辑于 2020-02-26 01:10:59 回复(8)
修正条件/判定覆盖 MC/DC --Modified Condition/Decision Coverage:锁定其他的条件不变,改变一项条件,必引起整个表达式变化.
【例】IF(A||B||C)THEN  W=W/X
锁定AB的值不变(FF_) 改变C条件的值 {FFT,FFF}
锁定AC的值不变(F_F) 改变B条件的值 {FTF,FFF}
锁定BC的值不变(_FF) 改变A条件的值 {TFF,FFF}
发表于 2020-02-13 17:07:49 回复(5)

每个条件独立影响判定结果,设计如下:

100

000

010

000

001

000

去掉重复的,就是4个用例,所以选择D


发表于 2019-08-17 17:51:31 回复(3)

MCDC要求既要满足判定覆盖,又要满足条件覆盖

发表于 2018-12-20 16:11:37 回复(0)
修正条件/判定覆盖 MC/DC --Modified Condition/Decision Coverage:锁定其他的条件不变,改变一项条件,必引起整个表达式变化.
【例】IF(A||B||C)THEN  W=W/X
锁定AB的值不变(FF_) 改变C条件的值 {FFT,FFF}
锁定AC的值不变(F_F) 改变B条件的值 {FTF,FFF}
锁定BC的值不变(_FF) 改变A条件的值 {TFF,FFF}
发表于 2021-06-24 22:38:44 回复(0)
MCDC满足条件:1.程序的每个入口和出口至少执行一次。也就是说要满足if条件为真,和if条件为假至少一次。
2.每个判定条件的可能值至少要转换一次,也就是说为真为假各一次至少。
所以A不满足条件1,B满足了条件1,2,c不满足条件1,d为啥不行?
发表于 2019-08-16 20:05:44 回复(0)
(A||B||C)一共有2^3=8,8种2组合,但是因为是或,or 或语句只要判断前面的, 若第一项为T,后面无论是啥,都为真,(T X X) =(T T F)=(T T T)=(T F F)=(T F T)等效 4种 若第一项为F,则判断第二项,第二项为T,则后面无需判断,(F T X) =(F T F)=(F T T)等效 2种 第二项为F,则判断第三项,第三项为T (F F T) 1种 第二项为F,则判断第三项,第三项为F (F F F) 1种
发表于 2022-12-15 12:24:06 回复(0)
首先引用二楼:MCDC(修正条件逻辑判定)的意思是,锁定其他的条件不变,改变一项条件,必引起整个表达式变化。
TFF改变第一项即可满足,FTF改变第二项,FFT改变第三项,FFF改变任意一项即可满足。

发表于 2022-03-26 11:24:03 回复(0)
D错在哪了
发表于 2019-08-16 12:29:44 回复(1)
修正条件/判定覆盖 MC/DC --Modified Condition/Decision Coverage: 锁定其他的条件不变,改变一项条件,必引起整个表达式变化.
发表于 2020-07-08 08:55:13 回复(0)
添加一个与或的个人理解
与(&&) 我与你交朋友,你我都真心,才是真朋友;一人不诚实,则不是
或(  || )我选择A商品或B商品,无论选择哪个,我手里都有商品
发表于 2020-04-24 10:29:53 回复(0)
怎么看别的答案好多都是选D,求大佬们解答
发表于 2019-09-06 19:34:56 回复(1)
不会
发表于 2019-08-31 10:02:33 回复(0)
(A||B||C)一共有2^3=8,8种2组合,但是因为是或,or 或语句只要判断前面的, 
若第一项为T,后面无论是啥,都为真,(T X X)  =(T T F)=(T T T)=(T F F)=(T F T)等效    4种
若第一项为F,则判断第二项,第二项为T,则后面无需判断,(F T X)   =(F T F)=(F T T)等效    2种
                           第二项为F,则判断第三项,第三项为T      (F F T)     1种
                           第二项为F,则判断第三项,第三项为F      (F F F)     1种


发表于 2022-04-21 20:55:51 回复(0)
不懂
发表于 2021-12-19 20:30:56 回复(0)
只要选项中T的数量大于1个,则无论改变哪个值,都不会影响最终结果
发表于 2021-06-17 09:56:59 回复(0)
FF_   F_F   _FF,空格处填F或T,如果是F则三个都为FFF,加上三个T就是最后答案
发表于 2020-04-10 21:59:56 回复(0)
我选的D 好多解答也说选D 但是答案为什么说是B啊
发表于 2019-09-18 11:27:25 回复(0)
MCDC(修正条件逻辑判定):每个条件的每个可能取值至少被测试一次,同时每个判定语句都要被测试到。
编辑于 2024-03-12 20:15:35 回复(0)
为啥不是TTT
发表于 2022-09-23 23:07:24 回复(0)