1天通过3家技术面试是什么样的一种体验
今天有个同学很兴奋的告诉我,她今天一天就通过了3家公司的技术面试。 我得知这个消息也非常开心,顺便就问了一下她的心得体会,如何才能做到一天之内三战三捷的。 首先应该是学习。 互联网行业或者是it企业知识是不断更新迭代的,之前的经验在很多时候很可能不是优势,而是会局限你的认知。就拿我自己举例子,当年在angular js/vue js/react js刚诞生的 …
按主题探索文章、教程与工程实践。
154 篇内容今天有个同学很兴奋的告诉我,她今天一天就通过了3家公司的技术面试。 我得知这个消息也非常开心,顺便就问了一下她的心得体会,如何才能做到一天之内三战三捷的。 首先应该是学习。 互联网行业或者是it企业知识是不断更新迭代的,之前的经验在很多时候很可能不是优势,而是会局限你的认知。就拿我自己举例子,当年在angular js/vue js/react js刚诞生的 …
2020年是一个魔幻的年份,那么在这一年里,我们不妨玩的更科幻一点。 在下面这个视频里,我们看看怎么样使用siri帮我们做自动化测试吧。 原理其实很简单。首先用语音唤醒siri,调用ios的快捷指令,自动给在公司的小伙伴打电话,让他们配合表演,做一阵各种操作,把测试结果返回。 当然,这是开玩笑的。 真正的原理如下图所示 其实就是用语音唤醒siri之后调 …
2021年的春节就这样平平淡淡的过去了。 经历了2020年春节的惊心动魄和焦虑挣扎,现在才发现平淡其实才是幸福的所在。 因为平时喜欢逛github,喜欢在trending里翻一些最近热门的开源项目,从而洞察一些基本的技术走向和猎奇一些有意思的项目工具,经过多年的观察,我发现github的python语言趋势相当接地气,我们可以从中看到国外的主流技术圈最近在 …
cypress的目的是为前端开发同学降低日常工作中重复的end to end测试工作量,提高测试效率,尽管是面向开发,但测试同学花时间去学习还是非常值得的。 会测试的开发其实是受欢迎的,会开发的测试竞争力也是有目共睹的。 前几天听到一个理论,要想达到高收入,那么你可能需要在某一个领域技能达到90或100分,显然这是很难的。 但是你也可以跨界,为自己多开辟一个 …
2021年已经悄无声息的快过去1个月了,大家已经开始立年度flag了吗?如果没有的话先不急,等我们盘点完2021年最值得测试同学学习和了解的技术之后,也许大家就有立flag的冲动了。 在这里我推荐的技术都是遵循性价比高,也就是投入时间相对较少而产出相对较高这个原则来的,因为我们时间有限,相对来说容易掌握,变动性小,投入时间相对少的技术是大家可以去涉猎的。 测 …
2021年不期而至了,我们不妨盘点一下2021年最值得测试同学使用的python库/工具吧。 jsonschema可以用来进行json数据的校验。试想一下这样的场景,我们需要验证api返回的json字符串的正确性,但如果一个字段一个字段去校验效率自然是不高的,这时候jasonsschema就可以大展身手了。 我们可以自定义schema,如果api返回的结果满 …
2021年马上就要到了,那么新的一年哪些编程语言值得测试同学学习和使用呢?我们不妨简单来看一下。 python目前基本上成为了一门通用语言,有点像是英语在世界语言中的地位。 我们可以这么认为,在工作中不使用python其实没什么大问题,不过如果能熟练使用python,那么工作效率和效果将有极大的提升。 python因为语法简单执行效率尚可,扩展性强等优势在一 …
curl是功能非常强大的命令行http客户端,也许是正是因为强大吧,所以很多同学记不太住curl的一些常用参数,再加上curl的命令行参数形式又比较老派,所以日常用起来还是有一点点略显啰嗦的。 既然curl太难用?那我们就试试httpie吧。 项目地址:https://github.com/jakubroztocil/httpie。 一句话介绍,我就不翻译 …
puppeteer是chrome官方出品的无界面浏览器,我们一般称为无头浏览器。 这种浏览器具有普通版浏览器的完备功能,并且可以运行在无界面的服务端,比如远程的linux服务器上,是做ui自动化测试的一个不错的选择。 我们今天就来看一下puppeteer的生态,看看除了自动化测试这个工具还能做什么吧。 …
最近在翻selenium的官方文档,秃然发现了一份官方的selenium踩坑指南,不敢独享,拿出来给大家分享一下。 众所周知,我们应该把合适的工具用在合适的场景,这跟杀鸡的时候不需要用到宰牛刀是一样的道理。 selenium比较好的使用场景是验收测试/回归测试/TDD/BDD,一些同学喜欢把selenium用到某些selenium难以承受的场景,这种方式官方 …
昨天有同事分享了pytest的相关内容,忽然想起pytest在运行用例时有非常大的灵活性,很适合跟jenkins任务结合起来实现一些动态用例运行的效果。 我们以下面这个非常简单的测试用例为例,说明一下如何使用pytest实现一些动态的测试策略 上面例子里,我们使用 装饰器定义了4种类型的用例,分别是p0/p1/p2/p3。按惯例,p0的用例是优先级最高的用 …
我的车油箱很小,经常开两天油就见底了,因此现在养成了经过加油站就顺道加油的习惯。 这跟我们持续提升自己是一个道理,学到的东西就像是油箱里的油,总有用完的时候。 经常自学充电才能持久续航,等到想换工作的时候才发现要学的东西太多,时间不够用,那时候大概就有点晚了吧。 我经常开玩笑说,测试同学的求生欲其实很强。 前几天我坚持半夜发了个hotfix版本,其实就是求生 …
不小心发现了一个新的ui自动化测试工具:cypress,仔细品了一下之后,发现还是有很多有意思的地方的,我们也许可以从cypress里借鉴很多下一代测试工具的设计思想。 进入cypress的官网(https://www.cypress.io/),引入眼帘的一句话让人血脉喷张。 The web has evolved. Finally, testing has …
近两周我的面试非常多,大概一天一个。我是二面面试官,一面是技术面,有一定的难度。按道理来说二面的通过率应该比较高才对,不过最近的二面通过率可能不到50%,一面的通过率一般比较稳定保持在30%以下,所以两面全过的概率大概只有15%左右,可能更低。 那么二面的通过率为什么那么低呢?我想举几个例子就可以说明了。 二面我一般都会问一道用例设计题,大概是给你一袋盐,或 …
之前应该有写文章探讨过测试左右移的问题。 左移大致就是在设计的时候,写代码之前先把问题考虑清楚,尽量减少一些伪需求和自相矛盾的需求,要求测试同学有较大的业务能力。 右移就是上线之后通过监控等手段去提前感知线上的问题,争取在大部分用户发现问题之前就感知到问题并且快速修复和发布,没有被用户抓住的问题其实影响范围是有限的,可以想办法消化掉。 从软件测试的生命周期上 …
有同学在公众号留言问如何提升测试技能,这里抛砖引玉给一下个人不成熟的建议,大家见仁见智,欢迎讨论。 让人称赞和放心的测试同学往往对业务是非常熟悉的,知道自己的业务在干啥,知道业务的商业逻辑和非商业逻辑,其实对于测试同学来说是蛮重要的。 熟悉业务的方式有很多,一般来说刚接触到新项目/新产品的同学往往会先体验一下产品,把这个产品的功能先点一遍,就当作是熟悉业务 …
大家应该都有过写测试用例的经历。 我的经历大概是这样的。 十多年之前刚入行的时候是用excel写用例。大概就是往模版里填充一些必填字段,比如用例编号,名称,步骤,预期等等。那时候啥都不懂,预期里基本上是随心写,填的都是"应该正常执行", “结果应该正确"之类的写了等于没写的话语,无非就把格子填满,显得很有工作量的样子。执行用例的时候基本上是看需求文档,自己写 …
其实大部分类型的测试都需要去准备测试数据。 手工测试:一些基础数据,比如配置数据等等是需要去准备的; 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的; 性能测试:跟自动化测试差不多; 这里就牵扯到了一些关于数据的概念了。 我们可以给测试数据分一些种类 基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据 存量数据, …
这是2002年FreeBSD系统的一个安全漏洞。 当时一些开发人员意识到 库的某个实现可能会隐藏致命的安全漏洞。 下面的代码简单的还原了漏洞的发生过程。 方法的作用是将系统内核中的大小为maxlen的内存拷贝到用户内存里。在系统运行时,用户进程是没有权限访问系统内核的内存的,该方法等于是为用户进程开了个小后门,使得用户进程可以访问最大KSIZE大小的系统内核 …
今年面试了不少人,也被面了很多次,多多少少有些经验是可以分享的。 之前在某个微信群里说了一下最近的互联网公司测试同学的面试套路,结果被怼,说是面试造火箭,进去以后拧螺丝,在这里分享出来,希望大家不吝赐教,错误的地方还请多多斧正。 总的来说,目前的面试更加的专业化,如果面试官的水平不错的话,面试的内容会非常有针对性,一些专业面霸的生存空间可能会进一步被压缩。 …