前言
“一只杯子掉下来,碎了”这是个什么问题呢?
……
当我们从一个比较宽泛的范围去审视一个问题,通过考虑各种证据,收集各种信息,思考不同的方案时,我们就是在运用发散性思维。
认识发散性思维
发散思维,又称作辐射思维、放射性思维,扩散思维或求异思维。它是一种从不同的方向、途径、角度去设想,探索多种答案,最终使问题获得圆满解决的思维方法。由于其视野开阔、思维活跃,可以产生出大量独特的新思想。
发散思维具备的四个特点:
发散思维在测试中的应用
著名的心理学家吉尔福特指出:“人的创造力主要依靠发散思维,它是创造思维的主要部分”。正如其本身的特点所言,发散性思维在软件测试工作中的应用,从发现的问题来看,很有创意,是一种很好的思维方法和测试方法。概括来说,发散性思维在测试过程中可在以下两个阶段得到充分体现。
第一:测试设计阶段的发散
也可理解为测试方案,即测试思路的形成阶段。用以下例子介绍发散性思维在软件测试中的应用。
【案例】
某嵌入式软件有用U盘导出数据的功能,请写出测试此功能点的思路。
下面给出测试此功能点的测试思路以供参考,并非标准答案。
考虑方向 | 检查点 |
---|---|
正向功能 | 导出数据的正确性 |
正向功能 | 导出功能的有效性处理 |
逆向功能 | 导出功能的配置 |
边界容量 | U盘空间不足时的处理 |
边界容量 | U盘空间满时的处理 |
容错 | U盘写保护处理 |
容错 | 坏U盘的处理 |
容错 | 人为非法操作容错处理 |
容错 | 软件工作时,遇特殊情况-断电等的容错处理 |
性能 | 压力测试:连续导出N次后,数据的正确性 |
性能 | U盘导出速度 |
性能 | 不同USB驱动协议,对导出速度的影响 |
其他 | 不同分区格式U盘的识别 |
其他 | 不同品牌U盘 |
其他 | U盘外接延长线使用 |
发散思维如何展开跟你现有的知识水平相关。测试用例一般会涉及到功能相关、接口相关、数据库相关、UI相关等,当你这样做时,思考也能全范畴展开。开发关注接口以及数据库,项目经理关注性能优化,而你的测试用例直接来说,可以应付所有项目组的刚需。
第二:测试执行阶段的发散
作为测试人员,我们的首要目标是在需求上线前多找出缺陷,保证不会因为我们的漏测将缺陷遗留到线上去。用例执行时严格按照事先已设计好的用例来测试,却时常感到有点不靠谱,总感觉有地方没覆盖到。实际工作中软件测试不能进行穷举测试,用例对代码的覆盖做不到100%,特别是对一些条件组合语句、模块接口相互影响之间的覆盖,更难覆盖全面。根据这一特点,我们在测试执行完某一测试点的用例后,可以根据已有用例的情况,进行发散性测试,也叫随机测试。经验越丰富,随机测试的效果越好。
这种随机测试并不是随便测试,它是有一定数据支持执行的。我们在进行测试时,可以不用按照已规定的流程去走,而是可以跳过某个步骤提前去结束,其结果往往就能发现问题。随机测试就是跳出已知的步骤,可以来回反反复复进行操作,这种过程,本身就是另外一种用例设计的过程。
除了发散,我们还需要谨慎。这种发散思维如果无边无垠,任其驰骋,就像一匹野马。如果控制不住,事情会弄巧成拙,可能做了很多工作,最后却事倍功半。这也就要求我们既有发散测试的创造性思维,又要有一个严谨科学工作的头脑。
如何提高发散思维能力
1. 头脑风暴
什么是头脑风暴呢?
就是针对一个问题,不断想出新点子的思维运作方式。最好是由一群人参与,若只有一个人也没问题,但一定要遵循以下四个基本规则:
1)数量比质量重要,不管对错与好坏,是个点子就尽量大胆提出来;
2)最重要是新奇的想法,越古怪越好,不要担心自己被看成傻瓜;
3)在头脑风暴进行期间,千万不要急于给点子做定论。不要对刚听到的想法立刻给予否定,因为这会遏制自己的思考;
4)点子之间不断延伸,这样会更完善点子的想法。
头脑风暴的目的就是碰撞出“新奇而合理的点子”,这就是创造力的核心。
想要让自己的思考更开阔,一定要学会放飞思维,让好的想法喷涌而出。
2. 学会提问
发散思维的重点不在于找到答案,而是不断提问以接近答案。提出正确的问题会让你找到想要的东西。困难的是该提哪些问题:越能从差异的角度提出具体的问题,越接近成功。将复杂的问题分解,然后就每一部分提问“如果这样尝试会有何发现?”等等。
3. 聚合抽象
我们在生活中接触新鲜事物时,总喜欢找出与已知事物相似的特点,将它和已知事物归类到一起,用熟悉的方式去理解它,这就是聚合思维。
聚合思维是一种有方向、有范围、有条理的收敛性思维方式。而发散思维与之相对,是无定向、无拘束地由已知探索未知的思维方式。
既然聚合思维与发散相对,为什么要通过聚合思维来做发散思考呢?发散思维,首先要从客观事物上找到一个点,以这个点为核心,产生多条思路。发散开来之后,你需要做的就是把这些思路按照一定的标准聚合起来,以显现出它们的共性。再将共性抽象出本质特征,对抽象的本质进行概括性叙述,才能形成具有指导意义的理性成果。
结语
不要永远都沉浸在固定模式上面,发散思维会给你带来意想不到的结果。