软件测试工程师必备之软技能:结构化思维

news2024/11/16 4:30:02

前言

今年是进入测试行业的第十年,回想在这十年职业生涯中,来来往往也接触过很多很多的人。在跟不同的人一起工作的过程中,我会经常产生一些困惑,比如:

面对同样复杂的测试任务,有些人可以在一天之内梳理出解决方案,而有些却要墨迹很长时间?
 有些人能够快速的描述出工作中的问题,而有些人支支吾吾一直说不清楚?
 有些人当被问到“你这样说的依据是什么?”“有没有具体例子”时,经常被卡壳,有些人却能摆事实讲道理有条不稳的说上一二三?
 ……

但是随着工作的深入接触,不难发现那些高效解决问题以及能够高效沟通的人都会有这样一个共同点,就是他们拥有一套高效的结构化思维方式

什么是结构化思维方式?

结构化思维简单来说就是,面向问题的时候你可以通过某种结构,把它拆解成一个个你能解决的部分。

举个很常见的例子来感受一下,假如你作为一个面试官,面试的时候,让候选人思考一个淘宝购物车功能,需要怎么测试?你可能会得到很多的答案:

比如有些候选人会回答,先添加购物车,后删除,查看数量是否正确;
 勾选购物车,看价格是否计算正确;最多可以添加几个商品等等。
 计算下优惠券能否正常使用
 ……

这些答案,可能对,也可能不对,但是大多数时候,都是基于我们的测试经验来分析问题,不一定能保证想清而且想全了。那么如何用结构化思维来更清晰更全面的分析这样的问题?作为测试工程师,其实我们都知道,测试的分类大抵可以分为:界面测试/功能测试/性能测试/安全测试/异常测试/兼容性测试。那如果我们从测试分类上对这个测试分析进行拆解,无非就是这几个测试分类怎么测,然后在各个分类上做细化,直到不能再拆解(如下):

以上就是一个简单的用结构化思维来分析问题的过程,我们在写测试用例或者梳理测试点的时候也可以应用,通过按测试类别进行拆解,不仅能把事情讲全,而且分析的还相对比较清楚。

由此可见,结构化思维是一种从无序到有序的思考过程,这个过程中,你可以建立一个先总后分的立体化分析方式。先看能够解决问题的关键方面,然后往下分析,从而实现从全局到局部的鸟瞰,而不仅仅拘泥在一种细节里面。而这种常见的思维方式,其实就是一张金字塔的树状图,如下:

 

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

为什么测试工程师要学习结构化思维方式?

工作中,软件测试工程师需要面对的不仅仅是能够独立承担复杂产品或者模块的测试工作,还需要不断的去横向或者纵向与不同的角色沟通交流,面对复杂项目的时候,甚至会跨角色边界进行项目管理,流程把控,客户对接等等。

比如面对同一个问题,有的人能用三句话直击要害,而有的人可能30min也说不到核心;面对一个复杂业务模块,有的人能够快速有层次的做一次测试点的分析和组织一场高效的测试用例评审,而有的人却在测试分析上归纳混乱,导致用例评审不断在拖堂……工作中这样的例子举不胜数,那这块的思维差异体现在哪里呢?最根本的原因,在于有没有形成快速有效的处理信息的方式,以及对信息逻辑结构的梳理和清晰有效的表达。

举个例子:

在一次处理线上事故中,有一个测试的同事急冲冲的跑过来汇报说:“发现之前的代码有问题,某些数据推动到另外一个平台上了,现在改的话影响很大,是不是找另外的时间去改?”

当你收到这个信息的时候,你可能会产生一些问题,比如影响很大是多大,后面找个时间是多长时间?同时你作为消息的接受者,你可能得到的信息只是你的同事发现了一个问题,但是并没有获得事件来龙去脉的详细信息以及具体的处理方案。

而这样的场景在我们的生活和工作中历历在目,因为没有有效的处理信息以及有效的表达,导致沟通过程中信息的不对称,沟通成本的不断增加。

由此可见,结构化思维在我们的日常工作和生活沟通上显得尤为重要,复杂问题通过金字塔模式的一层一层剖析,可以非常清晰并且有条理的对外展示你的想法和思维逻辑,从而提高我们处理问题的效率同时又降低了沟通成本。

如何提高结构化思维?

当我们逐渐揭开结构化思维以及了解它的作用以后,我们会想,结构化思维能够训练和提高嘛?答案当然可以!当然我们需要更进一步分析金字塔模型。如图:

在金字塔结构中,总体上有两个方向的逻辑关系,即纵向逻辑关系和横向逻辑关系。一个好的金字塔结构,需要在纵向关系上满足结论先行、以上统下;在横向关系上,满足归类分组、逻辑递进这四个基本原则。用一句话概括,就是“论证类比”。

  • 纵向:纵向是层次关系,上一层次思想是对其下一层次思想的概括,下一层次是对上一层次的解释和支持。
  • 横向:横向是关联关系,每组中的思想必须属于同一逻辑范畴,必须按照逻辑顺序组织。

在对金字塔结构的进一步梳理后,我们可以将结构化思维能力归结为如下三点:

1.归纳信息能力--横向类比能力

海量信息的收集并不能完全帮助我们分析和解决问题,归纳信息有助于帮助我们的大脑记忆,梳理逻辑和思路。

下面推荐一个分类法则:

MECE法则(Mutually Exclusive Collectively Exhaustive),即相互独立、完全穷尽。分解问题时运用MECE原则可保证形成的观点最清晰、最完整,不重不漏。

其中常用的方法有6种,我们其实在工作中也经常应用:

1、二分法

这个分类方式在日常生活中比较常见,其实就是把信息分成A和非A两个部分。比如:

国内、国外,他人、自己,已婚、未婚,成年人、未成年人,左右,男女,收入和支出,专业和业余等等。

2、过程法

也就是按照事情发展的时间、流程、程序,对信息进行逐一的分类。比如:

在日常生活当中制定的日程表,解决问题的6个步骤,达成目标的3个阶段,其实都属于过程分类。 过程分类法特别适合用于在对项目进展和阶段的汇报上。

3、要素法

我们在生活当中也经常会使用到要素法,这种分类方法是用于说明事物的各个方面特征的。比如:

说优秀员工的7种品质、公司的组织架构图等等,其实都是把一个整体分成不同的构成部分。可以是从上到下,从外到内,从整体到局部。

4、公式法

公式法就是可以按照公式设计的要素去分类,只要公式成立,那这样的分类就符合MECE原则。比如:

价格=单价*数量,按照公示,单价和数量即为要素

5、矩阵法

比如我们在安排工作的时候,有一种分类方式,是把你的工作分成以下四种:1)重要紧急,(2)重要不紧急,(3)不重要但紧急,(4)不重要也不紧急。

然后可以把它们填到4个象限当中去,这4个象限就是2×2矩阵。 这种分类方式就叫做矩阵法。

6.特定场景的分类法则

对于大部分情况来说,MECE法则是一个较为通用的分类法则,但在某些场景下我们还有更直接的模型,可以把现有的信息,分类放到一些分类模型当中去。

3C(市场战略模型):即公司(Company)、顾客(Customer)、竞争对手(Competitor)三个英文单词的首字母。按照这三个要素进行战略归类的时候,就可以防止公司出现忽视用户需求、市场行情,自顾自去开发产品,导致血本无归的情形。  “7S”(思考组织战略模型):即经营策略(Strategy)、组织结构(Structure)、运营系统(System)、经营风格(Style)、职员(Staff)、组织技能(Skill)和共享价值观(Shared value)。  SWOT模型(竞争力模型):SWOT分析代表分析企业优势(Strengths)、劣势(Weakness)、机会(Opportunity)和威胁(Threats)。  SMART(制定目标的模型):即制定目标要满足确定性(Specific) 、可度量性(Measurable)、可实现性(Attainable)、相关性(Relevant)和时效性(Time-based)等等。

针对以上的分类方法我们不一一例举,那我们如何在我们的职场中应用这些分类法则呢?

举个例子,最近系统不稳定,连续出现了一些比较严重的P1故障,老板让你组织开一个全员大会,提升大家的质量意识。你准备发出一个会议通知:

为了提升质量意识,召集大家在10月22日下午3点在3号楼205室召开全员大会。会议议程是首先复盘一下最近故障出现的原因,然后制定策略防止类似故障再次出现。目标是为了在下半年不再出现P1故障,确保线上系统稳定性。

然而,这个内容不够清晰,更好的做法是可以使用5W2H模型对内容进行结构化的表达:

目标:提升全员质量意识,下半年不再出现P1故障。
时间:10月22日下午3点。
地点:3号楼205。
议程:1)故障复盘。2)制定故障防控策略。

对比两个会议通知,不难发现,特定场景下,5W2H的结构让我们的表达更有条理,更加清晰。

2.提炼信息结论的能力----纵向论证能力

当我们归纳到所有信息,我们如何加强提炼信息结论的能力?这个其实就是展示了金字塔模型中纵向论证到能力。

在提炼信息结论的能力中,最常用的有两个方法,这两个方法在很多书中都有介绍,下面简单介绍一下这两类方法。

1.演绎法

演绎是一种线性的推理方式,最终是为了得出一个由逻辑词“因此”引出的结论。在金字塔结构中,位于演绎论证过程上一层次的思想是对演绎过程的概括,重点是在演绎推理过程的最后一步,即“因此”引出的结论。最经典的是亚里士多德的三段论:

大前提:所有人都会死。 小前提:苏格拉底是人。 结论:苏格拉底会死。

在日常工作中我们也经常会用演绎法去总结结论,比如:

已知规则:需求频繁变动容易导致bug
具体事件:快上线了,业务方要加需求,加不加
结论:不加

用演绎法我们需要注意的是:

  • 常常对规则持怀疑态度(规则是变化的,规则不对则结论不成立) 。
  • 需要增加知识量,使其保持“可用状态”(已知规则越多,则越容易得出结论)。

2.归纳法

归纳逻辑比演绎逻辑要难,因为归纳需要我们有很好的抽象能力,抽象出新的概念,去统领其下面的子概念。在归纳的时候,大脑去要去发现事物(思想、事件、事实)具有共性、共同点,然后将其归类到同一个组中,并说明其共性。归纳逻辑不是线性的,它需要在已有信息的基础上,提升一个抽象层次,得到新概念。比如:

苹果和橘子的上一个抽象层次是“水果”,这种抽象层次的提升,可以让“水果”在纵向关系上统领苹果和橘子。“水果”这个新概念的抽象需要我们具备相关的知识背景。

在了解归纳法的逻辑以后,我们应用的时候需要注意:

  • 摒弃思维定势,认真选取样本(样本是否有代表性,数量是否足够多)
  • 需要增加经验,扩大势力范围,多看,多吸收,增加事实。

3.表达信息的能力----自上而下

思考是一个隐形的过程,最终我们要将结论显现出来,这就体现了结构化思维中表达信息的能力。

我们在日常沟通中经常会出现如下的误区,很多人会在毫无意识的情况下把自己的思考过程直接传递给对方,举个例子:

在某一次会议中,你跟你的领导反馈说:“我发现最近技术支持那边提出的登陆问题咨询量有点多,我猜测可能是登陆功能出现了问题,然后我让同事排查了一下,发现是xx 迭代,xx误操作导致了接口登陆报错。因为这个问题很影响用户体验,因此需要尽快让xx去解决。"

咋一看貌似没有问题,把过程中的所有细节都跟你描述清楚了,但是在汇报的过程中看似合理的由依据到结论到输出,使得阐出框架相对比较单薄,重点结论没有突出,信息的接收者不能立马有效的识别你的重要信息。

假如我们用结构化思维去汇报这件事,会变成:

1.先提出结论:目前登陆接口有问题,导致线上bug,已经找到原因,需要xx尽快解决
2.再具体阐述:出现问题的原因是xxx,这个问题已经持续xx天,非常影响用户体验,这几天技术支持已经产生好几个类似问题的咨询。
3.最后总结:因此一定要快速解决,尽量今天把问题解决。

相比之下,自上而下,有结构的表达,从结论到依据再强化结论的过程可以让信息的接收者快速获得你想要表达的信息,并使得你的结论更具有说服力。

那如何训练自上而下的去思考和沟通呢?下面给几个小tips:

  • 我们可以灵活的运用现有的一些模型框架,比如问题-原因-解决方案/SWTO等等,快速的套框架进行逻辑化思考和沟通。
  • 可以将自己的表达逻辑可视化,比如一句话的描述等等不断去强化自己的语言和逻辑输出,提高自己的沟通表达能力。

小结

结构化思维方式不仅会展现你高效的传递信息的能力,更体现了我们在职场中分析和解决问题的能力。

 

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1248264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows从源码构建tensorflow(离线编译)

由一开始的在线编译,到后面的离线编译,一路踩坑无数,历经整整6个半小时,终于编译成功!在此记录一下参考过的文章,有时间整理一下踩坑记录。 一、环境配置 在tensorflow官网上有版本对应关系 win10 bazel …

App Inventor 2 文本转数字

App Inventor 2 是弱语言类型,文本和数字之间不用刻意去转换,之间赋值就可以了。文本赋值给数字变量如下: 运行结果:124 注意:数字变量初始化的时候要给一个数字的初始值,表明它是数字。 如果文本中含有非…

【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列2

14 【MATLAB】科研绘图第十四期表示散点分布的双柱状双Y轴统计图 %% 表示散点分布的双柱状双Y轴统计图%% Made by Lwcah (公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多…

数据结构与算法之美学习笔记:25 | 红黑树(上):为什么工程中都用红黑树这种二叉树?

目录 前言什么是“平衡二叉查找树”?如何定义一棵“红黑树”?为什么说红黑树是“近似平衡”的?解答开篇 前言 本节课程思维导图: 二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作…

GEE:基于 Landst 遥感数据计算的 kNDVI 下载 APP

作者:CSDN _养乐多_ 本文记录了在Google Earth Engine(GEE)平台中,使用 Landsat 遥感数据计算并且下载 kNDVI 的应用 APP 链接,并介绍该 APP 的使用方法和步骤。该APP可以为用户展示 NDVI 和 kNDVI 的遥感影像&#…

如何简化工厂设备报修、维修流程?有什么好用的设备管理软件?

一、场景需求   以往,张师傅在日常巡检工作中,他负责监控设备的运行情况。一旦发现设备出现异常,他需填写一份纸质工单,详细记录设备的名称、型号、异常现象以及发生时间等信息交给上级主管。上级主管收到反馈信息后&#xff0c…

笔记:内网渗透流程之信息收集

信息收集 首先,收集目标内网的信息,包括子网结构、域名信息、IP地址范围、开放的端口和服务等。这包括通过主动扫描和渗透测试工具收集信息,以及利用公开的信息源进行信息搜集。 本机信息收集 查看系统配置信息 查看系统详细信息&#xf…

最新AIGC创作系统ChatGPT网站源码,Midjourney绘画系统,支持GPT-4图片对话能力(上传图片并识图理解对话),支持DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

C++初阶 | [六] 模板初阶

摘要:泛型编程,函数模板,类模板 使用函数重载虽然可以实现,但是有一下几个不好的地方: 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函…

JWT和Token之间的区别

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏&#xff1a…

python opencv -模板匹配

python opencv -模板匹配 模板匹配就是,我们现有一个模板和一个图片,然后,在这个图片中寻找和模板近似的部分。 在opencv 中主要通过cv2.matchTemplate这个函数去实现。 下面我们先看一下,模板图片和需要匹配的图片&#xff1a…

管理类联考——数学——汇总篇——知识点突破——应用题——路程——记忆

路程——【考频:高】——【解题提示:根据题意画图,找等量关系(一般是时间和路程),列方程求解。】 【 应用题 ⟹ \Longrightarrow ⟹ 路程 ⟹ \Longrightarrow ⟹ 直线 ⟹ \Longrightarrow ⟹ 匀速、相遇、…

安装compiler version 5

这个compiler version5 在我的资源里面可以免费下载; 另外这个东西还需要安装,安装教程在这里:Keil最新版保姆教程(解决缺少V5编译器问题) - 哔哩哔哩 (bilibili.com) 看吧安装好了year

游览器缓存讲解

浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制,以便在将来的请求中能够更快地获取这些资源,减少对服务器的请求,提高页面加载速度。浏览器缓存主要涉及到两个方面:缓存控制和缓存位置。 缓存控制 Expires 头&#…

【10套模拟】【10】

关键字: 线性探测次数、冒泡交换性质、排序次数最值、bst查找关键字最多比较次数、m叉树空指针域 链表合并、二叉排序树查找x、堆排序

DCDC电感发热啸叫原因分析

一、电感发热啸叫原因解析 发热原因&#xff1a;电感饱和&#xff0c;实际使用的电感值<理论电感计算值 原因1&#xff1a;电感选择过小&#xff0c;计算值不合理。 原因2&#xff1a;PCB布局不合理&#xff0c;屏蔽型电感下方应设禁止铺铜区。 啸叫原因&#xff1a; 人耳的…

【黑马甄选离线数仓day04_维度域开发】

1. 维度主题表数据导出 1.1 PostgreSQL介绍 PostgreSQL 是一个功能强大的开源对象关系数据库系统&#xff0c;它使用和扩展了 SQL 语言&#xff0c;并结合了许多安全存储和扩展最复杂数据工作负载的功能。 官方网址&#xff1a;PostgreSQL: The worlds most advanced open s…

网络互联与IP地址

目录 网络互联概述网络的定义与分类网络的定义网络的分类 OSI模型和DoD模型网络拓扑结构总线型拓扑结构星型拓扑结构环型拓扑结构 传输介质同轴电缆双绞线光纤 介质访问控制方式CSMA/CD令牌 网络设备网卡集线器交换机路由器总结 IP地址A、B、C类IP地址特殊地址形式 子网与子网掩…

基于java实现捕鱼达人游戏

开发工具eclipse,jdk1.8 文档截图&#xff1a; package com.qd.fish;import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Random;public class Fish {//定义鱼的图片BufferedImage fishImage;//定义鱼的数组帧BufferedImage[] fishFrame;//…