测试开发探秘 测试开发速成宝典

爱偷懒的QA · 2019年01月09日 · 最后由 taki 回复于 2019年01月16日 · 5283 次阅读

从 2018 年 4 月份和同事一起讨论搞测试开发培训的事情,到 9 月份正式在腾讯课堂上发布课程,目前已有将近 2000 人次学习,同时在我们的技术交流群中也有将近 300 个同学。平时大家遇到问题相互交流,我们也在尽力帮助大家解决遇到的各种问题。在与大家交流的时候,存在一个问题:测试,测试开发,有没有速成的方法呢?
我的答案是肯定的:坚决没有速成之道,但有提升捷径!!!

一,测试工作中浮躁的现象

前两三年的时候,测试行业忽然就火了起来,测试培训也比较多。于是大家就有这个看法,不管以前是做什么工作的,技术水平如何,通过一两个月的培训,就能很好地完成测试工作。诚然,测试行业入门比较容易,会一些测试方法,理解能力没有问题就能进入测试行业。但是你要认为通过培训,自己的测试能力就很牛的话,那就有点不切实际了。主要表现如下:
(1)通过学习测试,认为自己掌握了测试的所有能力,表现的牛气哄哄,其实所有的东西仅限了解,完全不会使用。
(2)基本能力较差,还不能深入学习。不会编码,仅仅借助于工具,想轻松实现较复杂的工作,结果反而事得其反。
(3)在工作中不会学习和成长,对于基本的常识性的知识,不会通过网络查询学习,常常拿着常识性的问题去请教,结果造成大家认为你能力较差,并且不愿意教你。

二,测试行业入门容易,成长不易

测试不仅仅是点点点,现在大家已经意识到这一点。同时先前的理念,黑盒测试,白盒测试,灰盒测试也不存在了,现在的测试分为:功能测试,性能测试,安全测试,自动化测试,测试开发,高级测试开发,资深测试开发,测试架构师等。暂且不说从一种测试向另一种测试的难度较大,需要掌握的知识较多,只说一种测试也是不你想象中的那么简单。
以功能测试为例,我们大部分同学都是从功能测试入手开始测试工作的。功能测试是什么?根据需求编写测试用例,然后执行测试用例,发现 bug 提交 bug,等开发同学修改完 bug 后再验证修复情况,最后做一个沙箱回归,上线再做线上回归。这恐怕是绝大多数同学的认识,如果你按这个认识来进行工作的话,工作十几年也不会有所成长的。我曾经面试过一个工作了十年的同学,十来年都是这样工作的,现在想换工作了,却处处碰壁。
前一段时间,我设计了一个 “功能测试知识体系和技能大全” 系列课程,介绍了一下功能测试需要做的工作和掌握的能力,虽然不能说非常全面吧,但也是相对来说较完善的:
(1)如何参与需求评审,并准确确定测试方案
(2)编写覆盖全面的测试用例设计与进行高效用例评审
(3)测试准备与环境部署 -- 测试前置
(4)如何提出优质的 bug 与 bug 管理
(5)资源协调与跨部门沟通技巧
(6)测试环节如何引入技术方案
(7)如何做项目总结与汇报
(8)测试人员如何管理项目与风险预警
希望你能思考一下,自己的功能测试做的如何?每一种测试都是一个完整的知识体系,不能学会了劈柴,就认为自己是掌握了木工技巧!由此可以推出其他的测试,性能测试,安全测试,自动化测试等,我们是仅仅了解大概,还是掌握了对应的技巧呢?

三,编码能力,测试开发进阶必经之路

有不少同学认为,测试要求比较低,编码能力不足也能胜任。其实这只是国内的现象,在国外测试的编码能力,架构能力必须比开发要强,否则你怎么能发现开发的错误呢?虽然国内现状是测试能力比开发能力弱,但是这是两个不同的技术发展方向;开发是纵向发展,他们需要把相应的代码研究的比较深入才行,而测试是横向发展,需要把知识掌握的比较全面。
有人认为作为测试人员,能不学习代码而通过测试工具就能去做测试开发工作。其实,借助于一些常用的测试工具,如 robot framework, QTP, Katalon Studio,可以实现自动化测试,但是你有没有发现大公司一般是不使用现成的测试工具的。测试工具或是测试框架,为了通用性,兼容的场景比较多,对你们公司的业务适应就不一定较好。所以很多公司比较喜欢对开源的框架做二次开发,以更好的适应自己的工作需要,从而最大化地提高工作效率。不要幻想着不学习任何语言,借助于工具做测试开发,这个路是行不通的,也是走不远的。测试需要掌握的语言不必太多,python, java 即可,也不需要学习的很深,掌握基本的数据类型,函数,类的操作就行,其他高深一点儿的技术用到时候再学也不晚。

四,测试开发进阶捷径

在武侠小说中,打通了任督二脉后,学习什么武功都比较快。测试行业有没有这样的方法呢?我们开篇就说了,测试开发没有速成宝典,但是有提升的捷径,如果现在还不介绍一下,就有点儿不厚道了。互联网行业,是一个需要不断学习和提升的行业,你永远不可能用一项能力工作上好几年的。你一定要有终身学习的理念,再加上以下几个建议,就能轻松提升:
(1)认清自我,了解自己所处的阶段
认清自己现在是什么水平,具备什么能力,然后有针对性的提高。比如说,刚刚进入测试行业,就需要踏踏实实地做功能测试,花上一年的时间来全面了解功能测试是如何做的。然后再去了解一下测试行业大家是如何做的,你想提升,应该从哪儿入手?不能测试用例还写不全,就想去做自动化,“才吃三天素,就想上西天” 的想法是不可取的。
(2)打好基础,学习一门语言
如果你想在测试行业有所发展,不安于天天点点点的功能测试工作,那就踏实地学习一门语言,python,java 均可。学习语言的时候,无论你是通过看书,还是通过网上的教程来学习,必须动手写代码。只有通过反复地编码,才能掌握一门语言,除此之外,别无他法。永远不要幻想,不学习编码语言,就能在测试行业发展很好。
(3)明确发展路线,定好发展目标
测试的发展和提升是有路线可寻的,你可能遇到过测试行业的大牛,他们的牛 X 点都不相同,其实只是侧重点不同,基本的路径也是一致的。你先要明确一下自己的发展路径,根据现在的能力,工作情况,生活阶段,制定好发展目标,分阶段地进行提升,不可贪多。比如说,先学习 python,然后学习 python 版本的接口自动化,然后是 WebUI 自动化,App 自动化等等,不可同时学习多个语言,或是多个技能,那样容易造成混乱的。
(4)提升有技巧,善于借助于外力
在上高中的时候,我意识到了物美价廉几乎是不可能的,几十块钱的衣服是不可能和几百块的相比的。现在工作后,想让同事心甘情愿地教你技术也是不可能的,所以我们就需要一些技巧与其拉近关系。同时通过看书学习,通过看视频学习也是非常好的学习手段,但是想完全通过免费的东西学到实用的技能也是很难的,大家都学习也就完全没有竞争优势。如何平衡时间与金钱,如何分析投入产出比,相信大家都有自己的一杆秤的。我通常比较善于利用各种资源来提升自己,通过提升,相应的薪资待遇也达到了理想的水平,相信你也可以的!

五,总结

经过最近和同学们的聊天,发现大家有点儿浮躁,想在测试行业进行速成。针对这种情况,我进行了全面的分析,测试开发没有速成之道,但是有提升技巧。只有掌握了相应的技巧,不断地学习和提升,每天提升一点点,最终能达到你想要的水平,进而得到相应的薪资待遇,过上悠闲的生活的哟!

共收到 23 条回复 时间 点赞

我以为是《21 天精通 xxx》的文章呢,特意看了一下😂

simple 回复

我也是,结果进来发现就是一培训的,还净说废话。。。

说来容易做来难,大部分人都倒在头一步了

毫不客气地说,标题党,废话连篇

还是看到了好的建议: 先学好 Python,再学 java

千篇一律的废话,毫无实际意义。

😃 来这抢生意不会被打吗?

老师,有工作推荐吗?🌝

废话连篇,还不是培训的

一来我没有做广告哟,二来在探讨一种现象,不管是不是废话,我没有强迫大家看哟!懂行的看个门道,不懂行的看个热闹,如此而已!!!😋

楼上的几位评论好刻薄.别的不说,楼主光码字都要花点时间吧.而且帖子里也没出现广告呀,楼主热心分享挺不容易的,大家不要寒了楼主的心.

sun 回复

对于刚入门的是这样,但是对于专业相关的则是相反的,学好 java 再学 python 容易得多

楼主写的不错,挺有想法的。💪

标题党还行😳

昨天有雨 回复

多谢鼓励,其实我无所谓的,通过总结,将我的知识和技能形成体系。在工作中轻松应对工作,换工作的时候总能拿到自己想要的薪资待遇,生活过的开心就好了。不要太在意他人的看法,活的那么累多不划算啊!😆

哈哈,我 java 和 Python 都会
感觉以前的工作全是为测试开发做准备的

sun 回复

那就好,你会在测试开发之路上走的很轻松的哟,祝工作愉快!

匿名 #18 · 2019年01月11日
sun 回复

你还需要学习点前端技术。。。。

说得还是挺有道理的,我也是这么一步一步过来的,只有过来人才能理解,顶你😊~~

酒逢知己千杯少哟!!!

java 也好,python 也罢,取决于你公司的生态环境是什么,目前来看 java 的生态非常强大,也是 java 经久不衰的原因,
做做 ui 自动化测试 python 非常 ok,在深入一层,python 相对缺少生态的环境,当然两者都 ok 的话,不存在这个问题

taki 回复

这就像地上有一张 100 的,一张 50 的,你捡哪儿一张一样?测试人员的能力是宽泛的,不能只会一门语言,工作的时候遇到什么,拿来就用才是!

爱偷懒的QA 回复

这个是两回事,如果使用浮于表面,简单的语句,遍历循环就够了,不管 java 、python、go 等等看几眼就会了,但是应用还是在表面的阶段

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册