在当今高速发展的移动互联网+云优先的时代,到处充斥着不可预知的变化,有的来自于客户需求的变化,有的来自于市场环境的变化,面对着这些变化,给企业在市场、渠道、产品、服务各方面都带来了一系列新的挑战,每个成功的企业都在培养打造快速适应这种变化的能力。对于企业的产品研发部门来说,面对着愈发不确定的客户需求,快速并高质量地完成开发工作,使需求早日上线,尽早收集市场反馈,优化产品和服务,是研发响应市场变化的基本原则。但在追求产品快速交付上线的同时,质量底线是每一个成功的产品必须要坚守的红线,这也意味着研发团队在提升产品交付速度的基础下也要同时保证产品质量,而要求保证产品交付效率的同时又要持续保证产品质量,自动化测试引入是一种行之有效的保障实现手段。

在三月中旬,笔者的新书上市了,关于新书的介绍,可查阅:重磅消息 |《自动化测试实战宝典:从小工到专家》隆重上市! 本书主要以自动化测试技术为主线,基于Robot Framework框架来展开介绍如何在实际工作中开展自动化测试工作。当前移动互联网行业的测试工程师有非常多的测试工具、框架和技术可以选择,但不得不说即便是在这工具泛滥的环境下,Robot Framework框架仍然是其中的佼佼者,它是一个值得推荐给大家深入使用的优秀开源测试框架,既保证了在初级入门时,快速帮助团队完成自动化测试任务,又能在深入研究时,学习到优秀开源框架的设计理念,提升自身技术能力。

准备写这本书之前,其实内心还是挺纠结矛盾的,毕竟最近两三年一直都是从事研发管理的工作,对技术的钻究上已经无法全身心投入了。如果是已购书的读者,从作者介绍中,读者能获取到一些我的个人从业经历。回顾过往的几家工作经历:刚毕业的第一份工作在一家台资企业,呆了不到一年左右,这份工作给我最大的收获是:认识到职场和学校的环境差异,职场更讲究自己要对自己负责,自己不努力谁都帮不了你,以结果为导向。(这句话也送给那些即将毕业或刚毕业不久的读者,也适用那些在职场工作几年但仍在迷茫的人)

第二家公司,由于工作本身比较积极主动、肯担当,加上自己平时喜欢捣鼓一些新技术,在入职不到半年就晋升为部门主管划重点笔者毕业不到一年半,就已经晋升为测试经理)。这份工作开始阶段,移动互联网的浪潮还未真正开始,至少这个期间还没有明显感知到行业变化的冲击,当时市面上比较主流的测试工具还是以QTP、LoadRunner这些为主,当时如果能很好的结合QTP完成产品的自动化测试,就已经相当厉害了(从现在的技术视角来看,之前的那些工具还是弱爆了)。由于第二家公司做的是偏传统行业的产品(属物联网类的产品),产品类型覆盖了Web端、PC端、硬件嵌入式类的产品,在带团队之余,自己也会主动去学习接触一些新的技术,这个状态持续了三年。这份工作的末期刚好处于移动互联网快速发展的阶段、期间行业涌现出了很多优秀的后起之秀工具,比如Selenium、Appium、Jmeter等。但由于公司产品形态的原因,这些工具技术并不合适当前的产品,带着英雄无用武之地,要与时代接轨拥抱移动互联网时代的心态,即便在当时研发老总抛出高薪的诱惑,仍然毅然决定选择离开了这家公司。

第三家公司(酷狗音乐),由于对技术的热衷和追求,从管理岗转型测试开发岗(纯技术岗),在这家公司工作期间,可以说是我技术成长最快、最大的,在所负责的事业部门,先后主导过后端接口自动化、App UI自动化等项目,并参与持续集成系统测试平台等系统的开发建设。也正是在这份工作期间,接触了Robot Framework框架,说来也挺有意思的,在引入接口自动化测试之前,当时事业部现状是各个产品线测试工具太过于杂乱,有Postman、Jmeter、Unittest等用的五花八门,为了便于整个事业部各产品线接口测试的统一管理和资源复用,研发BOSS下定决心要坚决把接口自动化测试做起来,在我们处于技术选型期间,还是研发BOSS将Robot Framework框架推荐给了我们。刚开始接手Robot Framework框架,其实我内心是抵触的,因为当时的我认为通过直接编码或采用类似Pytest、Unittest这类框架来组织测试用例,效率上会更快捷。但是当我真正深入使用了Robot Framework框架之后,它的一些优秀特性深深的吸引了我,也是得益于它在酷狗音乐工作期间落地了很多优秀的测试实践,包括后续的App UI自动化。通过它带来的一些成功实践,打开了我看待问题、解决问题的角度和深度,期间我也做过很多其它的一些测试技术实践,并且申请通过了9个国家技术专利(当时在酷狗音乐,申请通过的专利奖金还是不菲的)。

第四家公司,做的是研发效率提升,加入这家公司其实是一个很偶然的机会,当时无意间恒捷(TesterHome社区管理员)联系上了我,交谈了一两次之后,觉得大家的想法理念一拍即合,所以很快就同意加入(对于职场,能有一个志同道合,理念想法相当的人并肩作战很重要)。其实大家当时的想法很简单,就是想一起通过技术的手段,提升研发的效率和质量,起码是真心想要做成一些事情。由于某些原因,呆了一年多就离开了这个团队,对于我来说"抛弃"恒捷还是有些愧疚的,虽然进来之后,建设起来了测试平台、CI的一些能力,但终究觉得离我们当初的雄心壮志还远远不够。

最近的一家公司,算是又一次从技术转向管理,而促使我写这本书的初衷,也是最近一两年,感受到越加明显的一个行业不良现状:“测试人员能力的两极分化太过于严重”。一类是行业小白,这里说的小白,并不一定指的就是刚毕业或刚跨入这个行业的同学,更多指的是测试思维和测试技术一直处于小白状态。即便是有些工作了很多年的同学,仍然有很多一直处于手工测试点点点的工作状态中、他们不主动或者不愿意去理解业务架构、技术架构,甚至根本没有想过通过提升来改变这种工作状态。在几家公司中,我也面试过很多人,这类不求变或者说不求突破的纯手工功能测试的群体并不在少数。说这些话,虽然可能会刺痛一些读者,但我还是希望通过把问题真正抛出来,让大家去正视直面自己的不足,只有敢于正视不足,才有可能克服解决这些不足,也只有这样才能变成更好的自己。除了一类是行业小白,另外一类则是行业大师,这类群体的占比是极为稀缺的,也是软件行业最为抢手的一类人。这类人无论从知识的广度还是深度,都可以媲美开发架构师的能力,甚至有些还会超过开发架构师的水平,因为测试作为一个“高危职业”,它需要比产品经理(或SA需求分析)想得更全面,要比开发更懂需求,要能读懂甚至能修改开发的代码。这个观点和《Google测试之道》一书中提到的一条理念很相似,在Google他们对测试工程师的定位是这样认为的“如果一个测试人员业务能力不比产品强,编码开发能力没有RD牛,你怎么能发现他们的问题呢?这也足已说明产品的测试质量工作,绝对不是随随便便就能做好或者谁都可以胜任的。

前面介绍了作者的从业经历和工作过程的一些感悟,希望对正在读文的你,有一些启发和帮助。

本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,这并非我的初衷,我希望读者在学习本书的内容后能提高综合的技术高度与宽度,从而摆脱简单的手工测试,向成为一名新时代的优秀测试工程师道路迈进。如今移动互联网的技术和知识迭代都是非常快的,技术栈也涉及比较广,建议读者在学习本书的内容同时要自己学会Google相关技术的官方文档,构建一个属于自己的知识体系,从而有一个系统全面的理解,千万不要指望在书中找到所有的答案,这个在移动互联网时代是不现实的。

正所谓:“授人以鱼,不如授人以渔”。互联网行业的工程师就好比运动员,要想在竞技场上获胜,需要在训练场里长期刻苦地练习技巧,想要成为一个不被时代抛弃的技术人,就需要不断的更新迭代自己的知识体系,加油读者们,共勉!

全网独家:成长经历分享 & 我为什么要写书?的更多相关文章

  1. 阿里Java架构师分享自己的成长经历,教你如何快速成长为架构师

    架构师是公司的“金领”,很少需要考虑生存的问题,从而有更多的精力思考关键技术,形成“强者愈强”的良性循环.当然,冰冻三尺非一日之寒,成为一名合格的架构师是一个漫长的积累过程.对于大部分的软件开发人员来 ...

  2. UltraEdit等软件详细安装破解教程,附注册机(全网独家可用)

    --- title: "UltraEdit等软件详细安装破解教程,附注册机(全网独家可用)" categories: soft tags: soft author: LIUREN ...

  3. Sublime Text 3.2.1详细安装破解教程,附最新激活码license(全网独家可用有效)

    title: "Sublime Text 3.2.1详细安装破解教程,附最新激活码license(全网独家可用有效)" categories: soft tags: soft au ...

  4. xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)

    title: "xmind 8 update8(pro)最新版专业版破解教程(附破解补丁以及注册机,全网独家可用)" categories: soft tags: soft aut ...

  5. Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用

    title: "Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用" categories: soft tags: soft autho ...

  6. Xmanager PowerSuite 6企业版详细安装破解教程,解决评估过期问题(附注册机,全网独家可用),非学校/家庭免费版

    title: "Xmanager PowerSuite 6企业版详细安装破解教程,解决评估过期问题(附注册机,全网独家可用),非学校/家庭免费版" categories: soft ...

  7. python怎么自学?今日头条技术大佬的真实经历分享

    大家好,我是武州,27岁,目前在字节跳动担任Python后端工程师一职. (摆拍一下,假装是保安) 在开始今天的文章之前,不知道你们有没有遇到过这样的问题: 大学没学到什么实质技术,毕业后找不到高薪的 ...

  8. 2018届研究生招生预推免(THU,HIT)经历分享——guochengtao

    注:本文为作者原创文章,且为无偿分享,读者可以阅读,但请尊重劳动成果,勿作为商业用途!如对文章中的内容有意见或者出现了您不喜欢的言论,请您保留,谢谢合作! 又到一年12月,这代表着2017年已经接近尾 ...

  9. 一点不懂到小白的linux系统运维经历分享

    进入运维行业刚不到二个年头, 刚刚从大白变成小白.都说it行业是青春的饭.但是运维行业可不这么认为.运维工程师便是经验技术的积累,经历的过的沟沟坑坑都会融入你的血液,成为你的智慧. 二年前接触linu ...

随机推荐

  1. 自定义checkbox, radio样式总结

    任务目的 深入了解html label标签 了解CSS边框.背景.伪元素.伪类(注意和伪元素区分)等属性的设置 了解CSS中常见的雪碧图,并能自己制作使用雪碧图 任务描述 参考 样例(点击查看),实现 ...

  2. "长辈牌"电子产品:有一种评论朋友圈叫给你打电话

    一.长辈们使用电子产品的姿势集合 先问你一个问题:「怎么下载搜狗输入法?」 (非广告) 摁?看到这篇文章的你可能都有点懵,不就下载安装就完了吗?但是,真的就只是这样吗? 前一段时间,当家里的长辈问到我 ...

  3. 日常破解---XCTF_APP1获取flag记录

    日常破解---XCTF_APP1获取flag记录 一.题目来源   来源:XCTF社区安卓题目app1 二.解题记录     1.首先安装到模拟器中运行一下,如下图所示,点击一下按钮,弹出提示年轻人不 ...

  4. Oracle根据实体类比对2个数据库结构差异(demo)

    源起 在公司做项目时 经常出现 实体结构和线上的数据结构以及公司开发库数据结构不匹配的问题 但是又不能直接把开发库导入到生产库因为生产库已经有实际数据了 所以弄了一个小工具 此处只做记录用 demo级 ...

  5. C语言程序设计(四) 键盘输入和屏幕输出

    第四章 键盘输入和屏幕输出 转义字符 \n 换行,光标移到下一行的起始位置 \r 回车(不换行),光标移到当前行的起始位置 \0 空字符 \t 水平制表 \v 垂直制表 \b 退格 \f 走纸换页 \ ...

  6. 数据库开发 Oracle与mysql间的批量处理接口 SSIS+存储过程实现

    公司目前不同的业务系统用了不同的数据库,涉及到oracle.mysql.sqlserver.而一些核心的业务在mysql中,所以平时经常要把oracle.sqlserver中的数据插入到mysql中. ...

  7. Altium Designer 20下载与安装教程

    目录 一.Altium Designer 20下载 二.Altium Designer 20安装 三.Altium Designer 20破解 四.Altium Designer 20汉化 作者:st ...

  8. 3.python正则匹配不到内容时消耗大量内存

    遇到问题:正常情况获取的网页源码可以通过正则表达式快速匹配到内容,,但是如果出现问题,没有匹配到的内容,正则就会一直回溯,导致内存激增,一直循坏查找. 解决思路:  一.如果能够有特殊内容可以标记,满 ...

  9. 解决Requires: libc.so.6(GLIBC_2.14)(64bit)错误解决方法

    glibc简介: glibc是GNU发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc.glibc除了封装linux操作系统所提供的系统服 ...

  10. sleep()和wait()方法的区别

    1,sleep()声明在Thread类中,而且是静态方法: wait()声明在Object类中,而且必须由锁对象调用. 2,sleep()时间达到后恢复: wait()可以设置事件自动恢复,如果没有设 ...