- 博客(23)
- 收藏
- 关注
原创 可测性专题 ——不和陌生人说话
原创:BigHead本期导读软件实体(模块,类,函数)应当尽可能少的不其他实体发生相互作用。迪米特法则,Law Of Demeter,是指一个软件实体(模块,类,函数)应当尽可能少的不其他实体发生相互作用。迪米特法则又叫作最少知识原则(Least Knowledge Principle),就是说一个对象应当对其他对象有尽可能少的了解。违反迪米特法则可测性的损害体现在,使类不外部的关系变的复杂,不仅要和朋友有关系,还会跟朋友的朋友,朋友的七大姑八大姨,甚至朋友的隔壁的二舅的三阿姨的女儿的老公的叔叔的
2020-06-17 11:54:17
199
原创 可测性专题 ——Constructor or Init does Real Work
原创:BigHead本期导读在面向对象的程序里面,某一功能通常需要若干组件共同来完成,比如一个类的方法可能需要另外一个类的 接口来协助完成,比如类 A 里面包括类 B 的实例。这样传统 hard code 的实现方式,不仅耦合大,扩展性也差, 从 单测角度来说也是困难的。此类问题,可以通过DependencyInjection Principle方式来解决。所谓DIP可 理解为高层模块不应依赖于低层模块, 高层与低层都应依赖抽象;抽象也不应当依赖于细节,细节应依赖于抽象。...
2020-06-14 12:01:40
128
原创 可测性专题 ——Too Many Dependencies
原创:BigHead本期导读单测时对于一些外部依赖,可以采用 mock 的方式进行处理,比如 server,数据库等。然在一个函数内部出现的比较多且均需要mock,那么就需要思考了,为什么这么多的依赖会在一个函数内部出现,这样的设计是不是合理的呢?往往这种情况都是可以进行简化的。 例子:...
2020-06-10 12:07:30
130
原创 可测性专题 ——Too Long Methods
原创:BigHead本期导读1.Too Long Methods导致代码的可测性变差;2.Too Long Methods违背单一职责原理;3.Too Long Methods导致数据难以构造,且分支难以覆盖函数比较长,一般来说,它违背了单一职责的原则,说明该函数功能会比较多,应该可以细化拆分成若干小功能的函数。从单测的角度来看,在测试该函数时,为了使得它得以运行,通常会构造很多数据,这数据构造往往仅是为了函数正常运行,对测试的点没有任何帮助。也正是由于上述原因,必然导致此函数的覆盖困难。举个例
2020-06-07 12:05:32
107
原创 测试自动化建设成本
原创:逆熵研习社本期导读1.未对成本有认识是建设的第一大障碍;2.投入产出比是需要考虑的至关重要的要素ROI=执行次数*(手动回归成本-自动化维护成本)/ (基础建设成本+引入成本+日常维护成本)自动化建设成本在投入自动化建设前需要思考下成本与收益的问题,自动化不是银弹,以自动化为基础的CI/CD等都有自己的成本。控制好成本和收益的预期是建设有效用的自动化体系的根本)自动化测试是一个让人又爱有恨的东西,有地方解决了很多问题,而又有不少地方完全成了累赘。经历了这么多年的发展自动化测试依然是许多公司
2020-06-03 11:52:28
281
原创 环境深度容器化建设
原创:陈斌 张少华本期导读1.为提升部署效率持续集成测试环境从胖docker向深度容器化的改进;2.架构采用Rancher + Harbor,网络采用pipework为容器配置固定的IP地址;物理架构在测试环境建设过程中由于模块数量快速增加,为了提高部署效率和稳定性我们在容器化的基础上进行了深度容器化的探索,深度容器化采用了Rancher + Harbor的架构,该架构有非常优良的性能,非常适合以pod为单位进行子系统级别测试环境建设。网络配置如上图所示,每一个Node节点对应现在的一套测试
2020-05-31 12:44:43
295
原创 工程能力
原创:逆熵研习社本期摘要1.工程能力是一项综合能力,对个人和团队都非常有意义;2.个人的工程能力包含心智因素、判断主次和先后的逻辑思维能力、持续将事情做好的套路等要素;协作和总结抽象也是个人工程能力的重要要素;3.团队的工程能力核心是发挥出团队有机体的系统能力,协作性、成长性、持续性是团队能力的要素,执行效率、并发执行的能力是当前研发团队工程能力状态的主要体现。什么是工程能力什么是工程能力?在定义前想起了一个非常有历史意义的追求“多、快、好、省”。如果在成本固定,投入不变的情况下可以做到“多、
2020-05-27 09:33:56
959
原创 QA应聘系列之九 ——和Offer相关的事情
原创:逆熵研习社本期摘要1.很难有一个Offer能够满足我们各方面的诉求,在谈Offer前需要对自己的诉求有一个深入的整理,看看自己究竟最在意什么,对最在意的坚持到底,其余的可以适当放宽;2.拿到Offer后要做好入职准备,竞业协议、社保、工作居住证、体检等诸多事项需要我们提前准备好。录用谈判面试流程走完,如果通过的话,大部分会在一周内和你联系,通常不联系的基本上就没通过。关于offer,就和找对象一样,没有十全十美的,所以这点要有个心理准备,薪酬组的HR就是专门研究这个方向的,如果你100%满意
2020-05-24 09:00:16
386
原创 QA应聘系列之八 ——面试后总结
原创:逆熵研习社本期导读1.面试总结和复盘非常重要,是实现面试策略的重要支撑;2.面试总结第一步要回顾面试节奏,将面试过程串联起来;3.对面试中存在的问题可以采用归因分析进行回顾,力争找到存在的不足和改进方案。总结路径面试过程有几轮面试一起进行的,也有轮次分开分别面试的,两种方式都需要我们在面试后进行一个系统化的总结,这是提高后续面试通过率的非常直接有效的方式。面试结果有好有坏,但无论好坏,在调整过情绪后都要静下心来进行一次总结。在面试后我们应该总结什么呢?首先,总结下自己在这次面试中被问到的
2020-05-20 09:36:41
904
原创 QA应聘系列之七 ——面试过程
原创:逆熵研习社本期导读1.经过精心准备后来到临门一脚的面试,面试中要保持积极和坦然的心态;在坦然面对的基础上保证信息高效、准确的传递;2.为了提高信息传递的效率要同时注重能展示全貌的架构与可以聚焦关键点的细节;3.面试过程中追问非常重要,追问过程要遵循“用事实说话”和“给出充分必要信息”的原则有了之前的详细准备,面试过程只要能做到自然充分的展现自己就能得到不错的效果。因此说到面试过程第一个建议就是自信,深呼吸想想自己为这个时刻做的努力,90% 的“因”已经在提前准备的阶段早早种下,在面试过程中积
2020-05-17 09:20:20
563
原创 QA应聘系列之六 ——面试过程准备
原创:逆熵研习社本期导读1.公司需要QA做什么呢,什么样的QA才能完成这样的任务呢?我们要不断的探索我们QA存在的价值;2.可以展现能力的自我介绍、烂熟于心的简历烂和项目经历,一份神奇问题表是检查自己面试准备状况的好方法;企业需要什么样的QA面试需要准备什么呢,在讨论这个问题前我们一起看看企业为什么要QA,需要什么样的QA呢?之前面试过程中用这个问题坑过几个同学,有的同学说“为了测试项目”,有的同学说是“配合开发保证项目质量”。这个问题没有标准答案,但确实有很值得赞赏的回答,其中有同学回答是这样的
2020-05-13 11:54:16
1345
原创 QA应聘系列之五 ——简历投递
原创:东升、路涛、兴军本期导读1.简历投递有三种有效方式——内推、招聘互动平台和猎头推荐,每种方式都有需要注意的事情;2.简历投递及后面的面试安排需要一定的策略性,尽早找到支撑、合理引入竞争是不错的方案;三种有效的投递方案现在简历投递的路径有很多种,我们分成三类:1)通过猎头和公司匹配后投递简历,2)自己在互动平台上和意向公司HR或者用人部门负责招聘的技术人员联系,3)通过自己的亲朋好友通过内推的方式投递到目标职位。内推一般来说如果有对自己有些了解的朋友在意向职位的团队中,那内推是非常合
2020-05-10 11:38:57
343
原创 QA应聘系列之四 ——行业观察
本期导读选对行业和方向对未来的职业发展都是至关重要的。选择行业之前,一定要明确自己的需求,在薪酬、发展和舒适度之间做出适合自己的选择。1.传统软件行业和互联网各有优势,互联网行业压力较大,成长一般也会快一些。2.薪酬增长随能力增长呈非线性的曲线,加油提高自己吧!行业对比俗话说,男怕入错行,女怕嫁错郎。选对行业和方向对未来的职业发展都是至关重要的。选择行业之前,一定要明确自己的需求,在薪酬...
2020-05-06 09:57:13
452
原创 QA应聘准备系列之三 ——简历如何准备
原创:东升、兴军、路涛本期导读一份好的简历既是通过面试邀请筛选的重器,同时也是面试过程的重要引导。好的简历应该具备以下的特征:1.重点突出、篇幅适中2.结构清晰、逻辑合理3.体现成就与贡献4.目标明确、体现能力简历的目标有了以往工作和项目的整理,接下来就是整理一份好的简历。那么什么样的简历算一份好的简历呢?能帮你谋得意向职位面试机会的简历,从结果上说是一份合格的简历。但一份好的简历...
2020-05-03 11:37:28
537
原创 QA应聘系列之二 ——经验技能梳理
原创:兴军、路涛、东升本期导读:梳理经历和技能的目标是啥呢?梳理出我们以往的成功案例,以往的成功是我们走向未来成功的重要基石。梳理出在以往的工作中我的工作是围绕哪些方向展开的工作主线是展现案例故事的线索,通过前后相序的体现贡献和能力的案例逐步的展现出个人能力与个人特质,梳理过程应该遵循以下原则:1.从问题和收益出发;2.体现思维方式和做事逻辑;3.案例组织聚焦聚类,有逻辑性;4.体现专...
2020-04-29 09:30:15
766
原创 QA应聘准备系列之一 ——时机与内容
原创:东升、兴军、路涛本期导读:面试是一门准备的学问。何时准备?在时间的背后是我们一项项需要思索和整理的事情,合理评判我们需要准备的事情就可以预留出充足的积极准备的时间。1.意向公司与意向职位;2.当前岗位的不足和未来岗位的期待;3.个人的能力状况,是否对自己的能力有充分的认识;4.项目梳理状况,是否可以支持起自己能力的展现;5.是否有能力项需要系统性提升。缘起近些年,我发现好多...
2020-04-26 10:48:25
365
原创 QA的选拔与培养
原创:王东升QA选拔是一个挺大的话题,相信带队和参与面试的同学有自己的视角和思考。最近不少同学承担起了负责和面试的职责,一起探讨了这个话题,这篇文章将我们探讨的内容记录下来。从需求的角度探讨下QA面试筛选原则以及在培养选拔过程中的思路。正向的选拔与培养对双方均有易处,有望创造更多的价值。公司需要什么样的QA公司为什么需要QA呢?有的同学说“为了测试项目”,有的同学说是“配合开发保证项目质量”...
2020-04-22 10:17:07
315
原创 BI系统质量挑战与建设
原创:陈思BI系统质量挑战BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与价值的过程。BI系统质量至关重要,可以说没有质量保障的BI数据还不如没有BI数据。而BI系统进行质量保障存在着巨大的挑战,主要有以下几点原因:1.数据来源极其复杂,既有内部各个产品线的数据,又包含外部商业...
2020-04-19 09:06:55
373
原创 分布式测试系统建设
原创:张少华背景随着自动化测试用例的增长,模块持续集成中的验证环节时间也随之增长。如果使用单台机器,可能需要几个小时的时间才能完成一次所有用例的运行。这里我们能想到的最直接的方法,就是增加机器资源,并行运行测试用例。我们首先使用的方法是,在jenkins中将运行时间长的模块的功能测试job,拆分为多个可并行执行的job。但即使我们封装了许多jenkins相关的操作方法,可以使用脚本快速生成一系...
2020-04-15 15:58:08
198
原创 对外深度合作项目质量保障与效率改进
原创:任学娟项目中的挑战负责公司ToB方向质量保障是一个非常大的挑战,挑战的根源在于ToB项目本身需要协作双方在目标、技术实现上、进度节奏上保持一致,然而协作双方公司本身都是迅速发展的创业公司,既没有固化好的业务架构也没有百试不爽的技术实现,因此在项目中经常会出现质量和效率的挑战:1.很难按照预期进度推进项目,双方都会抱怨对方不能按照预期进度进行建设,项目进度经常一拖再拖。2.进入联调和测...
2020-04-12 10:57:01
214
原创 测试环境及自动化建设
原创:王东升 张少华环境建设的背景早期的测试环境本身并不复杂是典型的单服务加数据库的结构,主要由开发同学在本地搭建供调试及测试使用。但是随着系统更多的模块和更多的中间件在本地搭建服务已经变的难以控制了。雪上加霜的是问题总是在这种环境中随时出现,为了确认究竟是环境问题还是代码问题常常需要花费大量。在这个上面花费的烦琐投入成为了很多同学在研发过程中的痛。罗马不是一天建成的,环境作为研发过程的基础也...
2020-04-08 11:48:23
271
原创 基于Avocado的服务端自动化实战
原创: 张少华 王东升 逆熵研习社自动化测试已经有很多年的进化,在测试中已经起到很大作用。相信在未来一段时间内,自动化测试在互联网测试中将发挥更大的作用。本文聚焦在后端自动化的建设方案与建设过程,力图为大家提供一个建设过程案例,希望案例中的思考与挣扎能对你有所启发。自动化测试的目的准备建设自动化时公司的业务处于早期的快速增长阶段,由于金融属性需要在每次升级时都需要大规模回归,如何减少回...
2020-04-05 10:30:21
548
原创 服务端性能测试
BigHead、Peki等 逆熵研习社服务端性能测试是针对服务端验证性能状况以及是否存在问题进行的测试,执行过程包括目标制定(确定需求)、测试准备、测试执行、测试结果分析等环节。除测试执行外其他环节也非常重要,精深的细节在后续专项中一一讨论,本文重点讨论下这个大过程每个阶段的目标以及要点。确定性能测试目标需求确认明确目标或者需求是首要的事情,它关乎后面整个测试的准备与执行。以下是常见...
2020-04-01 12:14:45
585
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人