测试开发与XY问题

前言

  • 你是否在日常的测试开发工作中遇到过,一位同事向你请教一个问题,沟通了半天,也不知道他到底想问什么,想得到什么答案,好不容易弄明白了他想问的问题,然后顺理成章你给出了答方案,但方案并不能解决他遇到的问题
  • 这个就是典型的XY问题,想做X,但认为Y是实现X最好的方法。不问关于X的事,反而问起Y的事

案例

  • 最近在和大佬们规划如何针对某个已经存在多年且非常重要的基础支撑型的系统A建设接口自动化回归的能力,该系统对于高可用以及数据的严谨层度追求非常高,但系统A使用基本都是非公司标准统一的技术栈

  • 梳理完系统A的核心接口,明确了大致的方向,尽可能地低接入成本,低维护成本,看看是否能够接入公司的标准化的接口测试工具,是否可以使用引流生产流量来验证原有接口是否正常 ,于是我一开始就选中了公司的接口回归工具B,通过引流生产流量到预发环境验证,同时可以mock对于中间件,数据库的子调用,从而做到安全隔离,避免数据击穿,要应用到以上能力,对应的中间件及开发技术栈就得标准化,这么看来系统A或许不满足这一点,当时我就思考如何可以克服这一点

    • 1、从接口梳理时了解到,其实80%以上的核心接口都是读接口,于是就认为只是读操作,对数据基本不产生影响,不会带来数据击穿问题,写接口就安排其他工具,这么一来接入和维护成本大大降低
    • 2、对于工具B,认为可以放弃掉原本的中间件和数据库的隔离的能力,只需要原本流量引流的能力,这样就可以不用考虑技术栈和中间件是否标准化的问题,直接应用其引流能力,将生产环境的读流量引流到预发环境进行验证
  • 有了这两点思考之后,我就想出了一个看似满足当前系统A的自动化回归的方案,就是以读接口接入工具B,写接口另外通过其他工具编写用例覆盖

  • 于是我就找到了负责工具B的同学D,和他阐述我想好的方案,我就和他直接沟通说,目前工具B是否能够放弃原来隔离中间件和数据库的能力,给个阉割版给我用一下,同学D说可以实现,很简单,我当时以为这么快就找到方案,可以确定下来了,然后我就向我老大反馈,可以这么做,老大听完我反馈之后,他打了个问号,说道之前负责这个项目自动化的同学,说过工具B的接入成本很大,要适配非标准的中间件和技术栈,需要工具B进行相当大的改造,之后的维护成本也高,然后老大问我当时是怎么和同学D沟通的,我就如上文的过程一一复述,老大就坐不住了,和我一起找到了负责工具B的同学再一起沟通,后面仔细沟通发现,我设计的那个方案根本不可行,存在的最大的问题为,我理解的所谓的读接口,是否真的只有读操作,不对中间件数据库进行隔离,就算是读操作,也会可能存在写缓存的过程,同时如上文提到,系统A是高可用以及数据的严谨层度追求非常高的,只要不是100%的保证没问题,这样的方案都会带来非常大的风险,然后同学D说他之前就知道系统A要接入工具B成本非常大,要改造需要很多时间和人力,于是回到作为上老大就和我开始复盘这整个过程,这里老大就和我讲到了XY问题

分析与思考

  • 从案例中可以看到,X问题其实为是否可以使用工具B来建设系统A的接口自动化回归能力,而我认为的使用工具B的阉割版能力为最好的方案,即Y,于是我去找到同学D讨论问题的时候我只讲了Y,没提到X,从而导致了得到不是能够解决核心的问题的答复或方案
  • 其实这件事情之后,我整整思考了几个晚上,不断地在给自己复盘这个案例存在的问题:
    • 1、不清楚X问题的细节,在我们在进行每个测试开发工作项目时,要问清楚自己是否十分了解你要面对的X问题,从上面的案例中的我显然没有做到十分了解,具体地就如没有真正的了解清楚读接口是否真的全部是读操作,从而设计出不合理的方案
    • 2、没有抛出X问题,向同学D请教沟通时,没有讲述清楚X问题,同样从上面的案例中,假设我当时问的是,能不能用工具B来建设系统A的自动化回归能力,估计同学D很快就会和我反馈很难实现,那我就会另外再去设计方案,这才是这个过程中需要获得的正确答案
    • 3、个人经验导致误判,这个是我在这个过程中思考最多的点,在工作3到5年这个阶段,不管是项目经验还是技术能力都有一定积累,以导致我上面的场景,认为自己设计的方案很合理,看似满足系统A的需求,毕竟像对于流量回放的能力,或者是接口自动化回归的方案,都有自己的一套经验和理论,于是就会考虑通过适当的改造变成系统需要的方案,即个人认为的最好方案Y,然后就会只讨论Y方案,而不讨论X问题,从个人感觉好像刚参加工作的同学反而少出现这种场景,认知反而导致误判,其实说到底还是自己想得不够彻底,而被某些表面的现状蒙蔽了眼睛
  • 通过这次经历,自己还是醍醐灌顶的,作为一名测试开发,我们会经常为所负责的系统进行质效提升的目标而思前想后,我们会通过建立各种流程规范,设计各种提升质效的技术方案,来保证我们的系统的质量和效率,设计方案的前提是我们能够找到核心痛点,那就避免不了和其他同学的协作沟通,我们需要做到的是抛出X问题,共同讨论方案,起码是一人计短,二人计长,反过来也一样,当你作为被请教的同学,别人想你请教方案时,多问深一层,你设计的方案是要解决什么问题,你的根本问题是什么,这样一来能够明确做每一件事的意义和目标,这也是一个提高工作效率的办法,直击核心问题,少走弯路。

最后总结

  • 在这次经历中我还是有那么一丢丢运气,起码自己会将这个过程和上层反馈,如果什么都没反馈,就直接开始动手了,后面带来的成本甚至是后果会非常的大
  • 通过阐述本次的案例,希望能够给大家带来一点收获,我们在积累提升项目经验和技术经验的同时,不要遗留下工作的软能力,软能力的提高会让你在日常的工作中事半功倍,在讨论方案的时候,多用XY问题原则思考,或许会更容易达到实际的目的,谢谢
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352