随便说一说软件测试QA这个职位

avatar 306570
chaobu
96618
105
感觉地里的都是在聊Data Scientist和各种Software Engineer. 很少有QA的,也就是Quality Assurance Engineer,有的公司叫SDET。早些年都是手动测试,工作很重复,现在基本上都是偏向于自动化 automation也都是要写代码的。
其实 QA 的openings 是很多的,竞争的也少,我们大概是 3 个dev 配一个 qa 的样子。投 dev 的都是各种名校的或者资深的,简历一大把,面试要求也高。但是 qa 能收到的简历不是很多,投的人也不是很厉害,总的来说面试也偏简单, bar 相对来说是令人发指的低!!!

缺点主要是,逼格低。比如国内招人一听是 QA 就觉得没水平,立刻没兴趣的样子,比如猎头来挖人,也往往是挖开发。QA 技术上简单,很难成长。地位也不高,属于专门背锅的职业。基本上我最开始遇到的 dev 都非常瞧不起 qa. 一说就是,女孩子嘛,当 qa 这种简单没用的也是不错的。薪水是略低,我们厂大概是 base 比同级别 dev 低 10% - 20% 的样子。但是因为鱼龙混杂,所以感觉是升职比较快。如果稍微聪明一点,代码相对而言写六一点,是可以很快脱颖而出的。

优点呢,就是性价比很高。起码我觉得性价比很高。工作不忙,相对清闲就不说了。最重要的是我觉得用来入行再好不过了。

作为一个几乎没刷过题,对工程师没有很多概念的人来说,QA 是很好的入行切入点。


你可以有机会从头到尾跟下来一个项目:从开始pm给需求,到design sessions,到参与 dev 写代码的过程(可以一直观摩他们写的,怎么fix bug, 看其他人的code review, 也要写 code review comments), 到部署deployment,具体测试(穷尽有意义的test case),以及写代码去完成自动化的测试(很多时候其实是换一个方式写和开发同逻辑的代码),去 troubleshoot,去考虑可能有的dependency and impact, 去参与 release , 去监控releas. 比如splunk alert and dashboard, 去和其他team交流,更大的项目的end-to-end testing, 以及做product demo. 报过漏过分析过的bug也都是非常宝贵的经验。
是从 business 到 technical 都要考虑很清楚。

QA虽然简单,但也可以有一番作为。我觉得低级的 QA 是手动点点点,连连看一样找哪里不一样不对劲儿去报 bug。高级一点的 QA 应该是可以帮助 dev 少走弯路,让整个团队知道产品上线以后可能存在的风险心理有正确的预期,是可以在开发前就能找到需求和设计的潜在问题, 能最大限度保证production code万无一失;而且一旦有了 production issue 能帮助dev准确并且快速找到root cause. 避免产品性能问题。

要做的事很多很杂,而且讲究效率,所以什么工具都得学。
起码在我工作的这两年里,我从一个无知懵懂的小白修炼出了一堆技能树。
比如各种design patterns, microservices 是什么样子的,restful api 的各种标准和规范都得熟。
比如什么样叫好的code什么样的叫虽然可以用但是不好的code即使测试用例全过也不应该merge的code. 现在基本上看code review就能找到很多潜在的bug. 几种语言都能上手。比如为了测api,手动flow用postman, 就得写javascript; nightly regression用java; 有时候要跑一下data用python jupyter. unix command也都很顺。如果要trouble shoot, new relics, splunk ... 都得用。 也有机会了解各种infrustructure. automation tests写过以后,什么都想automate. 于是为了避免重复劳动,总是会想最大限度去通过技术的手段去解决问题,也就学习到了传说中的工程师思路。

如果说dev是讲究技术的深度,我觉得qa是重视技术的广度

我觉得 QA 不适合当终身职业,但是作为入门真的很不错。你知道别人走错的路,写错的代码,闯的祸,自己背过的锅,以后自己当开发了就可以拿着高标准去要求自己, 当PM了也能对整个product line胸有成竹。
并且,能有机会跟着那么多厉害的开发和架构师一起工作,向他们学习也是非常荣幸且受益匪浅的。

QA 薪水低,但是升职容易多了,因为和你竞争的,大多都是渣渣... 所以可能第一年你比dev低15%的薪水,但第二年你升职了就涨平了……我入职的时候薪水很低,但是满一年就被奖了很多的RSU + bonus 立马追平dev. 但是如果我当初去找dev的职位,估计是电话面试都很难通过的。
一旦做好,技能树修炼好了,薪水也是可以高起来的。我面过些公司。普通 QA 级别,2/3yrs经验,before negotiation, base能给到130k+, 加上其他的package,170K+ 基本能到。 虽然不比地里的200k起跳,但也不比某些大厂的 dev 待遇低。考虑到成本和入职的bar以及工作强度心理压力,我觉得性价比非常高。

作为职业规划,一是可以升到manager, tech的manager基本不太分dev or qa. 我知道的不少人都是做到manager以后去管整个技术团队。
另一种就是可以换,比如你有的data和business domain的经验可以换data or product相关的职位。比如能搭automation test frameworks,写的代码足够多,对system design足够六可以去做dev, 也可以有 software engineer in infra.等等等等。做performance testing厉害可以做performance engineer(这个是我猜的)

当然啦,几乎每一个有追求的 qa 都是想换 dev 的,dev 当然好了,我也想做 dev。如果是两年前我会觉得无从下手非常艰难,但是现在每天和开发一起工作,觉得刷刷题也会是有机会的,比以前多了很多信心。我不觉得先做qa再换dev是弯路,我觉得每一种工作都有它能够学习成长的价值,不叫弯路,是殊途同归。

补充内容 (2017-12-8 05:23):
薪水看glassdoor是不准确的。应该看https://visa.1point3acres.com/h1b/salary。评论里说qa薪水低于开发50%,他拿google为例。其实google的test engineer2017 base中值是130k 而software engineer2017 base中值是132k。出处见评论。
  • 150
置顶回复
收起
avatar 306570
chaobu楼主

首先呢,看薪水和待遇千万不要看glassdoor因为都是self-report,误差很大。我说的薪水待遇是在https://visa.1point3acres.com/h1b/salary,对于我们这些拿着h1b或者opt的人来说是比较准确的数字。

2017年提交的数据是,我们厂普通(5年及以下工作经验) QA base 中值(共计8个)是125k. 而software engineer 中值是130k.

你说的Google, Test Engineer 2017年的数据是中值130k base. 来源:visa.1point3acres.comGoogle Software Engineer 2017年的数值是中值132k base 来源visa.1point3acres.com 这些都是base. 不是你说的total. 差距简直少之又少。只能说确实比开发低。

你不需要叫大家去glassdoor上查,那个数据误差很大的。我的数据都贴上来了,如果你觉得不对当然可以去找移民局或者劳工部去修改纠正了。

很多qa薪水低,就是因为主要都是manual process. 你要说薪水差50%我完全同意。但是QA这一行也是在变化的,其中performance testing的qa薪水更不低。在技术为主的公司,要求写automation的QA基本都是被当作engineer一样的,薪水差距大概就是20%。

至于你说的rsu, 涨的比dev多完全是可能的。我自己满一年时年终rsu+60k,第二年rsu又加了60k. 我每年加薪幅度都是20%。 而我认识的其他和我同时间进公司的dev,都没有我多。我讨论的不是普遍性的问题,而是可能性。我如果当时找开发,能不能找到工作就不说了,就是真的找到了,也很难获得这样的认可。

你可以选择不相信,因为事实上的确绝大多数qa都不是这个样子,拿不到这么好的待遇,但是在QA里确实容易做到被衬托的好,拿到很好的reviews 以后,拿到很好的Package. (薪水低,但是由于鱼龙混杂,所以容易向上爬)。

如果你可以当开发,我觉得就是很好。开发就是比QA好。我现在也是在转开发,我老板已经给我match了同级别dev的base了,但是我依然知道并且觉得开发好。

但是作为当初连dev都无门可进的我来说,我觉得qa是我当时的最好选择。比找不到工作和去icc写假简历好。

至于你说的升manager qa比不过dev. 我觉得不是这个样子的,你能当什么样的manager取决于你的能力,我们厂之前的qa manager已经在另一个不错的公司当vp in technology了,而很多dev manager也倒未必。我们都知道manager除了技术要求,就是协调能力。而当qa确实弱在技术,但是可以锻炼协调能力。此消彼长的过程,遇到好的时机,就很难讲了。
我并不是说做qa就是比做dev更好的选择,永远都是dev比qa是更好的职业选择。但是作为一种“曲线救国”,或者“报'国'无门”的时候,是一个算入门相对容易且性价比高的选择。

如果拿田忌赛马来打比方,就是开发是齐威王的马,身强体壮机会也多,qa是孙膑的马,弱一些。
中等马的qa干不过中等马的dev, 上等马下等马同理。
但是如果策略得当,做qa的中等马比做dev的下等马还是有可能一战的。如果当不了dev的下等马,能有机会去qa被训练成中等马,也是一个不算糟糕的选择。


然而上进一点,正确的选择肯定是做齐威王的上等马更好了。
我的结论一直都是“开发一定是更好的选择,没有更好的选择的时候退而求其次:临渊羡鱼不如退而结网,殊途同归”。
大米 126
5
cingher+2给你点个赞!
四月暮+3给你点个赞!
sciencebeer+5给你点个赞!
squallee+10给你点个赞!
donnice+10给你点个赞!
105条回复