前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试之发散性思维

软件测试之发散性思维

作者头像
用户5521279
发布2020-01-02 11:50:52
2.1K0
发布2020-01-02 11:50:52
举报
文章被收录于专栏:搜狗测试搜狗测试

前言

“一只杯子掉下来,碎了”这是个什么问题呢?

  1. 物理题。因为这是自由落地运动。
  2. 化学题。杯子里装着酒精,掉进了火堆里。
  3. 经济题。那是刚买的,如今碎了还要花钱再买一个,去取钱的时候卡忘在了ATM里,呜呜…
  4. 语文题。你让我太伤心了,伤的如同这只杯子一样…
  5. 社会问题。杯子从大厦楼顶掉下,砸死了一个人,引起骚乱,被定性为恐怖袭击。
  6. 心理问题。那一声破碎的声音触动了一个女孩,于是她花了一下午的时间去查询“为什么噪声会让人紧张?”
  7. 情感问题。那是男朋友送给我的情侣杯,这个会造成一次感情风波。
  8. 时间问题。杯子碎了,乱了心情,还得再买,直接提升了时间成本。
  9. 历史问题。那是乾隆用过的杯子,有很多关于它的故事,是那些历史的唯一记载,如今破了,结果一段历史就这样彻底消失了。

……

当我们从一个比较宽泛的范围去审视一个问题,通过考虑各种证据,收集各种信息,思考不同的方案时,我们就是在运用发散性思维。

认识发散性思维

发散思维,又称作辐射思维、放射性思维,扩散思维或求异思维。它是一种从不同的方向、途径、角度去设想,探索多种答案,最终使问题获得圆满解决的思维方法。由于其视野开阔、思维活跃,可以产生出大量独特的新思想。

发散思维具备的四个特点:

  • 流畅:迅速生成多个不同观点的能力
  • 灵活:同时设想多种解决问题途径的能力
  • 原创:想出大多数人想不到的观点的能力
  • 践行:不止于设想且付诸实践的能力

发散思维在测试中的应用

著名的心理学家吉尔福特指出:“人的创造力主要依靠发散思维,它是创造思维的主要部分”。正如其本身的特点所言,发散性思维在软件测试工作中的应用,从发现的问题来看,很有创意,是一种很好的思维方法和测试方法。概括来说,发散性思维在测试过程中可在以下两个阶段得到充分体现。

第一:测试设计阶段的发散

也可理解为测试方案,即测试思路的形成阶段。用以下例子介绍发散性思维在软件测试中的应用。

【案例】

某嵌入式软件有用U盘导出数据的功能,请写出测试此功能点的思路。

下面给出测试此功能点的测试思路以供参考,并非标准答案。

考虑方向

检查点

正向功能

导出数据的正确性

正向功能

导出功能的有效性处理

逆向功能

导出功能的配置

边界容量

U盘空间不足时的处理

边界容量

U盘空间满时的处理

容错

U盘写保护处理

容错

坏U盘的处理

容错

人为非法操作容错处理

容错

软件工作时,遇特殊情况-断电等的容错处理

性能

压力测试:连续导出N次后,数据的正确性

性能

U盘导出速度

性能

不同USB驱动协议,对导出速度的影响

其他

不同分区格式U盘的识别

其他

不同品牌U盘

其他

U盘外接延长线使用

发散思维如何展开跟你现有的知识水平相关。测试用例一般会涉及到功能相关、接口相关、数据库相关、UI相关等,当你这样做时,思考也能全范畴展开。开发关注接口以及数据库,项目经理关注性能优化,而你的测试用例直接来说,可以应付所有项目组的刚需。

第二:测试执行阶段的发散

作为测试人员,我们的首要目标是在需求上线前多找出缺陷,保证不会因为我们的漏测将缺陷遗留到线上去。用例执行时严格按照事先已设计好的用例来测试,却时常感到有点不靠谱,总感觉有地方没覆盖到。实际工作中软件测试不能进行穷举测试,用例对代码的覆盖做不到100%,特别是对一些条件组合语句、模块接口相互影响之间的覆盖,更难覆盖全面。根据这一特点,我们在测试执行完某一测试点的用例后,可以根据已有用例的情况,进行发散性测试,也叫随机测试。经验越丰富,随机测试的效果越好。

这种随机测试并不是随便测试,它是有一定数据支持执行的。我们在进行测试时,可以不用按照已规定的流程去走,而是可以跳过某个步骤提前去结束,其结果往往就能发现问题。随机测试就是跳出已知的步骤,可以来回反反复复进行操作,这种过程,本身就是另外一种用例设计的过程。

除了发散,我们还需要谨慎。这种发散思维如果无边无垠,任其驰骋,就像一匹野马。如果控制不住,事情会弄巧成拙,可能做了很多工作,最后却事倍功半。这也就要求我们既有发散测试的创造性思维,又要有一个严谨科学工作的头脑。

如何提高发散思维能力

1. 头脑风暴

什么是头脑风暴呢?

就是针对一个问题,不断想出新点子的思维运作方式。最好是由一群人参与,若只有一个人也没问题,但一定要遵循以下四个基本规则:

1)数量比质量重要,不管对错与好坏,是个点子就尽量大胆提出来;

2)最重要是新奇的想法,越古怪越好,不要担心自己被看成傻瓜;

3)在头脑风暴进行期间,千万不要急于给点子做定论。不要对刚听到的想法立刻给予否定,因为这会遏制自己的思考;

4)点子之间不断延伸,这样会更完善点子的想法。

头脑风暴的目的就是碰撞出“新奇而合理的点子”,这就是创造力的核心。

想要让自己的思考更开阔,一定要学会放飞思维,让好的想法喷涌而出。

2. 学会提问

发散思维的重点不在于找到答案,而是不断提问以接近答案。提出正确的问题会让你找到想要的东西。困难的是该提哪些问题:越能从差异的角度提出具体的问题,越接近成功。将复杂的问题分解,然后就每一部分提问“如果这样尝试会有何发现?”等等。

3. 聚合抽象

我们在生活中接触新鲜事物时,总喜欢找出与已知事物相似的特点,将它和已知事物归类到一起,用熟悉的方式去理解它,这就是聚合思维。

聚合思维是一种有方向、有范围、有条理的收敛性思维方式。而发散思维与之相对,是无定向、无拘束地由已知探索未知的思维方式。

既然聚合思维与发散相对,为什么要通过聚合思维来做发散思考呢?发散思维,首先要从客观事物上找到一个点,以这个点为核心,产生多条思路。发散开来之后,你需要做的就是把这些思路按照一定的标准聚合起来,以显现出它们的共性。再将共性抽象出本质特征,对抽象的本质进行概括性叙述,才能形成具有指导意义的理性成果。

结语

不要永远都沉浸在固定模式上面,发散思维会给你带来意想不到的结果。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档