158文章网欢迎您
您的位置:158文章网 > 范文示例 > 阿里研究员:测试稳定性三板斧,我怎么用?

阿里研究员:测试稳定性三板斧,我怎么用?

作者:158文章网日期:

返回目录:范文示例

今天小编给各位分享阿里三板斧的知识,文中也会对其通过阿里研究员:测试稳定性三板斧,我怎么用?和阿里巴巴的三板斧是什么等多篇文章进行知识讲解,如果文章内容对您有帮助,别忘了关注本站,现在进入正文!

内容导航:
  • 阿里研究员:测试稳定性三板斧,我怎么用?
  • 阿里巴巴的三板斧是什么
  • 书籍||阿里三板斧 普世的道理,职场的人都需要懂
  • 什么是阿里巴巴管理三板斧
  • 一、阿里研究员:测试稳定性三板斧,我怎么用?

    阿里妹导读:如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。今天,阿里研究员郑子颖来说说测试稳定性的三板斧。据说,阿里同学们都非常认同这三板斧,看完文章感觉很多做的事情有了理论基础。

    郑子颖:阿里巴巴研究员,2002年上海交通大学计算机系硕士毕业。2018年3月加入阿里,负责质量和技术风险。

    1. 测试稳定性问题

    理想情况下,我们希望每一个失败的测试用例[1]都是由真正的缺陷引起的。实际情况中,用例失败的原因大多是一些其他的原因:

    某个服务的版本部署的不对测试执行机的硬盘满了,因为上次运行时写的log没清掉数据库里有脏数据测试用例写得有问题测试运行时有人手工执行了一次定时任务,把流水捞走了消息串了...

    每次排查都是一堆这种问题,时间久了,开发和测试同学也就疲了。有些同学对失败的用例草草看一眼,就说这是一个“环境问题”,不再排查下去了。如此一来,很多真正的缺陷就被漏过了。

    2. 测试稳定性三板斧

    如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。

    在方法论和理论体系层面,我们对安全生产有三板斧:可灰度、可监控、可回滚。类似的,对于测试稳定性,我也有三板斧:

    高频(Frequency)隔离(Isolation)用完即抛(Disposable)

    三板斧之一:高频

    "If it hurts, do it more often"是我说的最多的一句话之一。这句话从Martin Fowler那儿来的,有兴趣的可以读一下他的那篇“Frequency Reduces Difficulty”的原文。

    高频跑测试的好处是:

    缩短验证的delay变主动验证为“消极等待”识别intermittent的问题暴露各层面的不稳定因素倒逼人肉环节的自动化提供更多的数据供分析...

    高频不单单是治理测试稳定性的不二法门,也是治理其他工程问题的game changer:

    持续打包:以前只是在部署测试环境前才打包,经常因为打包的问题导致部署花了很多时间,还影响了后面的测试进度。针对这个问题,我们做了持续打包,每个小时都会对master的HEAD打包,一旦遇到问题(例如:依赖的mvn包缺失、配置缺失、等等),马上修复。天天上生产:现在每周发一次生产环境,每次都费事费力。我提出能不能天天上生产。发布还是按照原来的节奏来,每周发一次新代码,一周里的其余日子,就算没有新代码也要走一遍生产发布。空转。不为别的,就是为了要用高频来暴露问题、倒逼人肉环节的自动化、倒逼各种环节的优化。分支合并很痛苦,那就频繁合并,一天一次,一天多次。做到极致就变成了主干开发,一直在rebase、一直在提交。

    蚂蚁的SRE团队也是用的是高频的思路。为了加强容灾能力建设、提高容灾演练的成功率,SRE团队的一个主打思想就是要高频演练,用高频演练来充分暴露问题、倒逼能力建设。

    高频也不是那么容易做到的。

    高频需要基建保障。首先,高频需要资源。高频执行还会给基建的各个方面造成前所未有的压力。高频还需要能力水平达到一定的基准。就拿SRE的高频演练来说吧。如果每次演练还有很多问题,那是不可能搞高频的。能高频做演练的前提是我们的隔离机制、恢复能力已经到一定的水平了。对于测试运行来说,高频跑测试要收到效果,需要把隔离和用完即抛做好。

    对于高频跑测试,一个很常见的疑虑是:原来一天只跑一次,失败的用例我已经没有时间一一排查了,现在高频跑了,我岂不是更没时间了?我的回答是:实际上,并不会这样,因为开始高频跑了以后,很快问题就会收敛的,所以总的需要排查的量可能是差不多的或者反而小了的。

    三板斧之二:隔离

    相比起三板斧里的其他两个(高频、用完即抛),隔离的重要性应该是比较被广为接受的。隔离的好处包括:

    避免测试运行彼此影响,减少噪音。提高效率,执行某些破坏性测试的时候不再需要相互协调

    隔离无非是两种:硬隔离、软隔离。至于到底是走硬隔离路线,还是走软隔离路线,要根据技术栈、架构、业务形态来具体分析。不过两条道路都是能通往终局:

    硬隔离(全隔离环境、物理隔离)要成为终态,关键是成本。要在不增加质量盲区的前提下压缩成本。例如,如果能把整个支付系统都压缩在一台服务器里面跑[2],而且所有的功能(包括中间件层面的,例如定时任务、消息订阅、分库分表规则等)都能很好的覆盖,那是一个理想的终局。每个人都可以随时搞几套全量环境,那是很爽的。另外,对架构的拆分解耦(例如,我们做的按域独立发布)是有助于降低硬隔离的成本的,可以把一整套被测系统部署的scope大大缩小。软隔离(半共享环境,逻辑隔离,链路级别隔离)要成为终局,关键是隔离的效果。如果隔离做到完美了,就能把今天的联调环境部署到生产环境里去跑。这样,就不存在stable环境稳定性的问题了。这样,做到了真正的testing in production,也是个很理想的终局状态。

    这两种终局状态,我在我以前的工作中都达到过。的确都能work的。这两种隔离要通往终局,都是技术挑战。压缩成本是技术问题。逻辑隔离做彻底做牢靠也是技术问题。

    对于我们今天的支付或电商系统来说,我们未来的终局是硬隔离还是软隔离呢?现在还很难说。从技术可行性方面判断,软隔离更有可能成为我们的终局。硬隔离做到深水区以后就很难做了,因为会遇到架构的物理极限。突破架构的物理极限,有可能产生新的质量盲区。但相当长的一段时间里,硬隔离会继续对我们帮助很大。例如,我们要做各种非常规测试的时候,就需要硬隔离。软隔离要做到能够支持非常规测试,技术复杂度很高。从上个财年开始,我在我团队搞一键拉全量测试环境(硬隔离)的原因就是:一键拉全量环境相对比较容易做,主要就是自动化,而基于路由的软隔离方案一下子还不太ready,短期内达到我们需要的隔离水平还很难。

    硬隔离和软隔离也不是对立的,是可以一起用的。例如,我们在拉起基于路由的隔离环境的时候,拉会新的数据库。在数据库层面是一种硬隔离,是对数据库层面软隔离能力欠缺的一种补充。

    总之,隔离是必须的。采取何种隔离方案,要阶段性的基于复杂度、成本、效果等因素的综合考量。

    三板斧之三:用完即抛

    我最喜欢的另一句话是:Test environment is ephemeral。这句话是我原创的。Ephemeral的意思就是short-living,短暂的,短命的。我对我的QA团队反复讲这句话,希望同学们能在日常工作中时刻记得这个原则。

    "Test environment is ephemeral"就意味着:

    我们的test setup能力要很强。我们今天在搞的一键拉起环境,就是这种能力的一部分。而且setup起来以后,要能快速verify。我们的test strategy、test plan、testability design和test automation,必须不依赖一个long living的测试环境。包括:不能依赖一个long living 的test environment里面的一些老数据。例如,Test automation必须能自己造数据,造自己需要的所有的数据。

    有了这些能力,能够以零人力成本、非常快速且非常repeatable的从无到有建一套“开箱即用”的测试环境,能够造出来测试需要的所有数据,我们就能做到测试环境的用完即抛:要跑测试了就新建一个环境,测试跑完了就把环境销毁掉。下次要用再建一个新的。而且,不单单是测试环境,测试执行机也要用完即抛。

    对于用完还需要保留一定时间的环境,也要设一个比较短的上限。例如,我以前采用过这样的做法:

    联调测试环境默认生命周期是7天。如果到时间还需要保留,可以延展有效期(expiration date)。每次展期最多可以展7天(相当于是 newExpDate = now + 7,而不是newExpDate = currentExpDate + 7)。最多可以展期到30天(从createDate开始算),需要30天以上的,需要特批(比如,事业群CTO)。这样的好处就是倒逼。必须一刀切的倒逼,一开始会有点痛苦,但很快大家就会习惯的,自动化什么的很快就跟上了。不这么逼一逼,很多改进是不会发生的。

    用完即抛的好处是:

    解决环境腐化问题,减少脏数据提高repeatability,确保每次测试运行的环境都是一致的倒逼各种优化和自动化能力的建设(测试环境的准备、造数据、等等)提高资源使用的流动性。实际的物理资源不变的前提下,增加流动性就能增加实际容量。

    测试环境用完即抛的确会引入一些新的质量风险。如果有一套长期维护的环境,里面的数据是之前老版本的代码生成的,部署了新版本代码后,这些老数据是可以帮我们发现新代码里面的数据兼容性问题的。现在用完即抛,没有老数据了,这些数据兼容性问题就可能无法发现。

    这个风险的确是存在的。解决这个风向的思路是往前看,而不是往回退。我们要探索数据兼容性问题是否有其他的解法。有没有其他的测试或者质量保障手段。甚至要想一想,怎么做到“从测到不测”,把数据兼容性问题通过架构设计来消除掉,让它不成为一个问题。

    3. 落地

    上面讲的三板斧,高频、隔离、用完即抛,的确是有点理想主义的。我们今天的基建、架构、自动化建设,离理想状态还有不少差距的。

    但我们就是要有那么一点的理想主义的。把这三板斧做好,技术上的挑战是非常非常大的,但我们有乐观主义,相信我们能够达到目标。我们有现实主义,我们可以分解目标,结合实际情况,一步步的去做。

    Note:

    [1] 这里的用例主要指的是功能性的测试用例,包括:unit test、单系统的接口测试、全链路/端到端的测试,等等。

    [2] 这样子做,实操层面的一个可能的负面影响是它可能会discourage微服务化治理(包括,域自治性,独立测试、独立发布能力等)。

    作者:郑子颖

    一、阿里巴巴的三板斧是什么

    有人说三板斧是管理者的三项职责,也有人说三板斧是一种训战结合的学习形式,但是我所讲的三板斧是一个系统,是一个将管理理念、文化落地的系统。

    总结来说,我把它叫做一个魂两类人三个能力。

    所谓一个魂,就是使命、愿景和价值观。 很多企业会发现有个问题,我的使命、愿景、价值观都出来了,也把它放在墙上了,怎么不起作用?阿里的经验是用两类人让使命、愿景、价值观能够深入落地。

    在落地的过程中,有两类人是承担着重要的角色的,一是管理者,二是人力资源。 这两类人在文化生成与落地的过程中职责不同、定位也不一样,但却是相辅相成,共享共生的。

    跟很多企业相反,我们对人力资源团队的要求是必须要“懂业务”,必须要跟业务长在一块,要能够感知到整个团队的氛围。 同时,有一些要求,比如“知人性、做榜样、推文化、唱好戏”,这些事情反而是变成了对管理者的要求。为什么要反着来?一定要让HR和管理者有互动,一定要让他把自己不足的部分补齐了。

    再讲三个能力,一个领导者最需要做的是拿结果、建团队、识人用人。不同管理层上有不同的表现,高层上表现为定战略,中层上表现为解战略,基层上就表现为定目标。

    阿里管理工作框架体系,它也是从使命愿景出发,但是一定会落到战略和目标。从战略目标往下分,才能分到具体落地部分。

    二、书籍||阿里三板斧 普世的道理,职场的人都需要懂

    「阿里三板斧:重新定义干部培养」讲述了阿里巴巴业务和管理的发展脉络,还原了阿里三板斧的前世今生,重点介绍了 道、法、术、器 这四个方面。作为读者来讲,前三章内容最值得看,最后重点是三板斧落地实操方案,这一部分于你我这种社畜来说,意义不大;

    下面是我通读下来,觉得大家可以用得到的关键点摘录,日后可以当做是读书笔记,常看常新:



    马云是一个典型的商人,也是一个崇尚中国传统文化的商人,在马云眼中,儒释道要结合,形成中国式管理,领导力是道家的哲学,其中 无为思想 很有趣,儒家思想是管理最高的、最有意思的东西,然后佛家是做人。对于管理者来说,主抓的要害是 战略、人才和文化。

    对于阿里巴巴来说, 战略就是大计算、云数据,文化就是使命、愿景和价值观。

    对于人才,重点谈谈马云对Leader的理解: 要在别人看到问题的时候看到希望,要在别人充满希望的时候看到问题 。一个合格的Leader要有三个品质: 理想,正能量和担当 。担当,为员工担当,为客户担当。

    九板斧分为三个层面,即Manager  Level、Director Level和VP  Level,分别代表 执行、结果和落实 ,而且每个层面都有三件核心的事情,合起来称为“九板斧”。Manager和Director,更多的是讲战术而不是战略,是“怎么把这件事情做出来”,而不是我们应该往这儿、往那儿,因为每个人所处的位置、所掌握的数据和所看的局是不一样的。



    阿里巴巴管理之道,也就是“九阳真经”。九阳真经的前世是“六脉神剑”。六脉神剑是普通员工的考核标准,九阳真经针对管理者而言。

    六脉神剑的标准是:怎么做好自己,怎么做好 「我的事情我负责」 。在做到“六脉神剑”的基础上,再做到胸怀、眼光和超越伯乐,才符合阿里巴巴对管理者的价值观考核标准。

    「客户第一,员工第二,股东第三」

    员工第二,没有好的员工,客户第一也是空中楼阁,下面没有支撑。股东第三,把前面两个做好,股东只是一个结果。

    「团队合作」

    “荣誉归团队,责任归自己”。这是一种胸怀、一种境界。团队合作第二是建立以结果为导向的团队文化,“为过程鼓掌,为结果买单”。第三,就是要了解同事,信任同事,营造简单、信任的快乐团队氛围。

    「拥抱变化」

    包括三个问题:怎么看待变化?怎么对待变化?怎么适应变化,化变化为机遇?

    拥抱变化首先要拥有一个很好的心态,要积极和乐观,才能面对和适应变化。第二,要理解变化背后的原因,或者理解变化背后是有原因的。第三,拥抱变化本身就是一个主动创新的过程。

    诚信——最基本要求是心胸坦荡,清正廉洁,直言有讳。

    激情——第一个层面是追求理想、使命驱动、很傻很天真。

    敬业——第一,敬业,不是只努力工作就行,而是指愿意和这件事情、和这家公司、和这群人好好相处一段相对比较长的时间。第二,今天最好的表现是明天最低的要求。第三,在团队当中营造学习氛围,好好学习,天天向上。

    超越伯乐

    第一是找对人,知人善用,用人所长,这是在组建团队是如何匹配能力的问题;第二是在用人的过程当中养人,在养人的过程当中用人,这是用一种好的方法和系统机制来培养人;第三是养成人,找到接班人。如果团队不成长,自己不可能成长;

    雌雄同体

    形容领导者的硬实力和软实力的一种结合,抓业务和抓文化结合。

    need-to-insert-img

    脑力

    其中,价值观就是做事的方法。价值观是最重要的,从阿里巴巴的经验来看,就是要考核,考核价值观是为了把握住原则,保证同舟共济的人是一条心。但是在价值观的背后,更多的是需要实现业务模式最关键的一些能力的定义,比如  Google的价值观、阿里巴巴的价值观等,都是在定义如何实现目标。

    体力

    体力就是执行力,即使脑力很强,心力也很强,但是最后手和脚跟不上,那也完全没有用。



    九板斧,源自马云的管理思想,背后是阿里巴巴人才发展理念——人事合一和虚事实做。

    人事合一具体指“借事修人”和“借人成事”。成事,是对所有阿里人的要求。而对于阿里巴巴的领导者,不仅要能够做成事情,而且还要能够带出一支队伍。从这个角度来讲,人事合一的核心是紧贴业务场景,基于业务实际需要发展人和组织。

    虚事实做是有理由的,因为关于领导力文化、员工成长等这些理念的内在体验都是虚的,所以必须通过实实在在的事情才能将内在体验落地,落地就是在业务中沉淀宝贵的体验与感受。

    三板斧

    头部三板斧是 定战略、造土壤和断事用人 ,这是定方向和做决断的层面,用于培养高层的组织能力和建立完善的体系。

    腰部三板斧是 定策略、做导演和搭班子 ,是从战略到执行的转化,是资源协调整合和多模块组合。

    腿部三板斧是 拿结果、Hire&Fire和建团队 ,这是任务的落地和执行层面,是从做事到做人的单一模块。

    头部。定战略,关系到公司的未来和方向,也就是设计和打造适应发展趋势和市场需求的产品。公开透明的制度,稳定的增长空间,人才的流动,良好的团队氛围,和人与人之间的连接,这是造土壤。找对人,要知人善用,要用人所长,而且用人要疑疑人要用,这就是断事用人。

    腰部。 承上启下,承上就要懂战略,先懂Why再说How,要知其然,还要知其所以然——要执行,但是要理解为什么这么做,要知道对公司未来有什么作用,以及未来的价值是什么 。 腰部的核心任务是搭班子,就是做资源的最佳配置者;还要会做导演,导演是产品和服务的拥有者,同时也是对产品和服务的理解者,因此导演的作用就是要根据脚本做好角色分配和资源协调。还有,做导演不只是为了实现个人价值,其主要作用还是在理解了战略之后,排兵布阵,推动执行。

    腿部。在做事过程中,下属有问题,当下就要批评他,不能害怕打击到他的积极性,这是对他负责任。除了批评,在下属没有犯错的情况下,也要及时给出 反馈意见 , 比如哪些地方可以做得更好。 团队建设,不只是吃喝玩乐,更重要的是 围绕业务和客户,在实战中锻炼和成长,“人事合一”集中体现在这个模块上。

    腿部领导者可以通过招聘来解决业务需求和问题,还要重新梳理业务,明确客户是谁,客户价值是什么,需要什么人来做——想清楚这几个问题,才能明确业务主线,才知道如何来找到团队,提升团队的竞争力和凝聚力。

    做事情、培养人和打通“任督二脉”

    总之我认为这是一本值得购买和精读的书籍,每次翻看都会有不一样的认识,对于在职场上打怪升级的我们可以作为一个提升思维,深化认识底层逻辑的书籍去看;

    三、什么是阿里巴巴管理三板斧

    链接:

    提取码:39vt

    阿里巴巴管理三板斧。专注研究团队管理、擅长团队管理、铁军团队打造、政委体系搭建及企业文化建设。本次系列课程中,我们会分5大模块、30节系列课,原汁原味的为大家详细讲解阿里巴巴管理三板斧的核心精髓与底层逻辑,教大家如何做好招开人、建团队、拿结果,以及领导力的修炼。

    课程目录:

    “良将如云,弓马殷实”的阿里到底赢在了哪里

    核心精髓丨一个管理者的首要任务是赋能于人

    底层逻辑丨让团队每一个伙伴相信相信的力量

    管理之道丨做好一个管理者必须具备五大方面

    关乎生死丨招聘是一切战略的开始

    招人四步曲丨从业务出发确定招什么样的人

    ......

    关于阿里三板斧的问题,通过《书籍||阿里三板斧 普世的道理,职场的人都需要懂》、《什么是阿里巴巴管理三板斧》等文章的解答希望已经帮助到您了!如您想了解更多关于阿里三板斧的相关信息,请到本站进行查找!

    本文标签:阿里三板斧(5)

    相关阅读

    • 阿里管理三板斧,重新定义干部培养

    • 158文章网范文示例
    • 今天小编给各位分享阿里三板斧的知识,文中也会对其通过阿里管理三板斧,重新定义干部培养和阿里巴巴“管理三板斧”:寻找气味相同的人等多篇文章进行知识讲解,如果文章内容
    • 管理三板斧:阿里干部培养神器

    • 158文章网范文示例
    • 今天小编给各位分享阿里三板斧的知识,文中也会对其通过管理三板斧:阿里干部培养神器和探寻阿里创新管理之道|阿里“三板斧”等多篇文章进行知识讲解,如果文章内容对您有帮助
    关键词不能为空

    范文示例_作文写作_作文欣赏_故事分享_158文章网