美文网首页
因果图基础--与或非

因果图基础--与或非

作者: 生活如同马拉松_yaguang | 来源:发表于2018-01-14 13:39 被阅读91次

参加晓梅老师的海盗派的学习Meetup,介绍因果图,想到一个问题,“与或非”可以完全表达两个元素的逻辑结果吗?)

这样描述,有两个命题 PA, PB, 每个值都是真或假两种情况,共有有四种组合: 

(PA  PB)  ---> ( 0 0) /( 0 1) /( 1 0)/ ( 1 1) 

那么对于其结果C , 有16 (2^4) 种结果, 与或非可以完全表达这16 种关系吗?

下图表格画出16种结果,其中可以 按照C包含1的个数可以分为C0 ,C1, C2, C3, C4。以及用与或非对应的关系图。

命题结果与集合关系一一映射

还发现一个挺有意思的结果,集合A和集合B将 区域划分为四部分, 其中每一个部分对应一个1。 四个部分, 其分别表示 1( A - B) ,2( B-A),3 (A n B), 4( A U B)。 比如 对于C0, 就是一个都不选; C4,代表全选。  C1 代表选一个区域,C2, 代表选两个区域, C3 代表选三个区域。 

结论就很简单,与或非完全可以表达两个命题逻辑结果

下面看几个应用。

1. 如何避免组合爆炸

对软件中随着变量的增加,代码错误概率也增加,同时测试的组合是呈现爆炸式的增长。 

比如说2个逻辑变量A和B,计算其  A and B 。 

每一个逻辑变量其值为真或假, 有四种组合。 如果对于代码会发生各种错误,比如漏掉,写反( 大于号写成小于号),导致有9 种结果(每一个变量有三种情况,正常,恒一,恒零, 两个变量3x3)。 只有一种是正确的,也就是8个错误结果。 代码写正确不容易啊:)。

需要验证代码正确性,如果每一种组合都测一次,那么4种组合4个test case。 如果变量增加6个变量,那么组合测试就是64.   怎么才能减少测试用例? 下图例子中,只需要3个测试用例就可以覆盖验证所有的测试用例。 而且随着变量n的增加,其测试用例只需要n+1.

晓梅老师板书

那么选取测试用例?  对于每一个测试用例,其发现的bug数量是不一样的。 编号为4的测试用例,可以发现5种错误,而编号为1的测试用例只能发现2种错误

上图的左下方给出,对于and  、or,异或,和其取反,只需要从三个区域选取3个点即可; 

那么对于 三个组合复杂命题( A ^ ( B v C)), 如何选择测试用例?这个留个大家作为练习:)

2.  回归测试的重要性

回归测试很重要,因为代码修改或许在你不知道的地方会出现问题。 

对于下图逻辑变量 A和B,代码都写错了.一个是恒真一个是恒假, 那么测试发现问题。 开发发现原来是A错了,修改,测试用例4跑也通过了。 但是,但是,但是,bug 转移。如果回归测试2,那么测试用例2就发现问题。 所以说回归测试很重要。 

相关文章

  • 因果图基础--与或非

    参加晓梅老师的海盗派的学习Meetup,介绍因果图,想到一个问题,“与或非”可以完全表达两个元素的逻辑结果吗?) ...

  • 数字逻辑第二章

    与或非运算 与: 或: 非: 与非: 或非 与或非 异或 同或:(异或非) 逻辑代数公理和定律 重要规则 逻辑函数...

  • 质量方法论06——鱼骨图

    1、概述 鱼骨图又称因果图、石川图或特性要因图,是用于描述、整理和分析质量问题和影响质量的可能原因(要因)之间因果...

  • 03 逻辑门电路

    几个概念 逻辑,事物的因果关系。 门电路,输出与输入之间遵循逻辑规律。与、或、非 等等。描述逻辑问题时,先要说明事...

  • 2018-04-24 Java位运算符

    位[运算符] (4种) 与(&)、非(~)、或(|)、异或(^)与 & 或 | 非~ 异或 ^

  • 与或式、与非式、或非式、与或非式之间的转换

    今天修改作业,发现很多同学在这几种格式之间的转换时,很多童鞋都比较模糊,貌似没有完全弄懂。我们以书中习题为例进行分...

  • 逻辑与或非和按位与或非

    相同点:都能参与逻辑运算,按位可以完全替代逻辑 区别:1.按位与或非可以参与位运算,逻辑与或非只能参与逻辑运算, ...

  • JavaScript与或非

    逻辑与,&& 1.若两个操作数都为布尔类型,则若有其中一个条件不成立,则返回false 2.若两个操作数中有其中一...

  • js与或非

    1、逻辑与(&&) (1)对于布尔值,只有都为true才返回true; (2)对于不是布尔值的情况则: 如果第一个...

  • 《与或非》 目录

    与或非(1)

网友评论

      本文标题:因果图基础--与或非

      本文链接:https://www.haomeiwen.com/subject/zjtkoxtx.html