软件测试用例设计“八法归一”——因果阵

[本文出自天外归云的博客园]

八法

测试用例设计有八法:
1. 等价类划分法
2. 边界值分析法
3. 错误推测法
4. 因果图法
5. 路径覆盖法
6. 功能图法
7. 正交试验设计法
8. 场景设计法
八法互有重叠,互有弥补。又没有完全正确的依赖顺序,比较合理的顺序是:
功能图、设场景
判因果、覆路径
正交验、错推测
边界分、等价划
 

因果阵

中国人、外国人,都是人,都继承了相同的因素(继承),各自发生了变异(多态)。追根溯源,八法都是源自各家所言。就像枝必生于干,树干由下而上,支分四散。在软件测试过程中,将八法归一:
首先确定测试流程的始终,也就是确定测试范围。
然后由始至终分析需求(思维导图)所对应的软件过程(代码),涉及判断的地方进行边界值分析,做等价类划分,合理设计输入的测试数据。
针对每种输入的测试数据所对应的输出结果,这就是种因得果。
输入对应输出的一一映射之集合就是因果阵。
每条路径都有因果,所以因果阵势必覆盖所有路径。
错误推测与场景设计均难逃因果,所以因果阵中势必包含。
 
在程序设计中,一个输入所对应的输出往往又被当成了入参传入了其他方法。亦即种因得果,而果又成因。因即是果,果即是因。因果循环,难逃此运。
一个明显的因果循环就是递归。
人类的历史就是一场递归,每个人出生都是一个输入,然后进入程序开始判断是否到达寿命,到达了——死,没到达——继续活。
每一刻都伴随着新生,而新的生命又进入了一场递归当中。
每一刻都伴随着消亡,而这逝去,就是一场递归的结束。
 
假设你是猪A,你生下来以后就进入了一场递归,直到有一天你遇到了人B,人B把你杀了。
假设你是人C,你生下来以后就进入了一场递归,直到有一天你遇到了猪D,猪D被你杀了。
猪A和猪D都被杀了,人B和人C都杀了猪。
首先是一头猪,被人杀了。后来是一个人,杀了猪。
假如有轮回,你也无法避免下辈子是猪,就像你也没法选择这辈子是人一样。
在无限的轮回中,所有的人都是你,你一直在伤害你自己。
你折磨自己、打自己、骂自己、杀自己。如此而已。
我们都难逃因果,于世间也只是徒增杀戮。
如果可以,请尽可能善待周围的一切,无论人物。毕竟,我们有一点是一样的,那就是天注定的这辈子都没得选。
posted @ 2017-03-10 11:40  天外归云  阅读(331)  评论(0编辑  收藏  举报