作者fourplayers (Fusion)
看板Soft_Job
标题[心得] 职业QA之路
时间Wed Aug 12 17:19:51 2015
看到前几篇有大大PO文自动化工程的文章,
感觉是跟QA职务相关的工作,
找了找板上相关文章,
发现「徵才」居多
「心得」了了几篇...
让小弟有感而发,想说说QA(纯软)之路. 分享给初出茅庐的QA朋友们
(有兴趣的朋友再往下细读,若无兴趣的朋友恕请略过本文,感谢哦)
名词定义
Quality Assurance ; QA
Quality Control ; QC
想必大家都有听过QA也有听过QC但这两个职务的目的性,
有着微妙的差异,有兴趣的人可以参考一篇QA vs QC 定义的文章
随手找了一篇
http://goo.gl/2QWtTY
懒得看的话,恕我概略性定义这俩职务上的差异
QA : Focus on quality from developing to release
主要注重於开发流程品质管理与监控 关键字:预防错误, 开发建议导向
QC : Focus on quality before product release
主要注重於通过率,正确率 关键字:正确率, 量化测试, 功能性导向
从定义上来看QA的职务内容,较重视於「开发过程中的品质监控与管理」
简单来说就是需要技术背景较高的工程人员,从第三方(end-user)的角度
切入测试,或给予开发上的建议与监控,「预防或降低在出货前的 Bug 量」
小弟以前是做游戏业的QA,大约是5年前吧...
当时的状况来看,在台湾的企业公司,很少公司知道QA跟QC的微妙差异
很常会有的管理模式是把QA当QC使用,却忽略掉QA的价值
有句话说「QA,QC像是产品的拖油瓶,各部门的箭靶」
在台湾,很少台湾企业懂得运用QA, QC人才,
也很少台湾本土企业懂得尊重QA, QC的专业
因此,某些老板有时候宁愿放弃Quality的坚持,压缩测试时程
硬是把产品推出市面,当一有任何重大问题,
第一咎责的炮灰就是QA,
挡在第一线分析问题的还是QA... (on call)
或是在review最後是否可出货的产品Quality时,
QA也很有可能杠上PM or MKT部门的人员
小弟有时候会跟QA前辈们聊到,现在有底子的好QA好找吗?
前辈们的答案通常都是,「NO」有难度...
为什麽?
我观察到的答案是:
在大环境下,大多老板们其实对QA的职务难以定义与应用
稀释了QA实质上的价值,QA跟QC都放在同一个篮子下混着用
而受雇的QA,有些初出茅庐的新手,以为QA顶多就是测试工作,
又或着比较硬底子功夫的QA因为受不了QA的环境,宁愿选择转换到RD的跑道
至少获得相对的成就感与尊重
久而久之,QA这个职缺,其实一直都很缺人,
但高手而且愿意做的人真是屈指可数
另外就是,有些公司老板对於RD与QA的待遇,是有不小的差异
(目前看到台湾的企业来说,某间防毒公司做得还不错,QA具有一定power的职权)
担任一个好的QA你可能需要具备(或训练)以下几种软能力
1. Coordination 协调力
2. Negotiation 谈判力
3. Organizing 组织力
4. Reporting 报告/整理问题能力
达成以上技能至少可以拥有「
安内攘外」的功效
身为一个不错的QA,其实需要吸收很广泛的技术技能与观念
这跟RD不太一样
RD的轴向属於精度,埋在特定的Domain中,挖的很深
QA的轴向属於广度,各种Domain都需要吸收一点
因此,QA可以从一些不同的观点上,给予RD一定程度的建议
以及早预防(降低)可能发生的错误
QA还有一项很重要的价值,在於配合RD开发「
自动化工具」
由於一个好的软体开发流程,
通常QA参与的时程,早在发起Requirements时程就会进入讨论
也同时会参与RD开发时程,直到产品出货,都是密切紧跟着团队进行
RD 在开发时,QA大概也会开始制作可以被Automated的Test Case
若开发时间允许的话RD也会参与 Unit Test 的撰写
至於理想的状态是QA可以尽量开发automation tool 来cover掉RAT部分的cases
因此,QA理论上没有规定一定要用什麽 language 去写
再烂的方式只要能够成功执行自动化测试目标,就是好的贡献
以小弟的经验,在共同开发的大型专案中, QA的运作如下
Requirement Phase
QA会讨论与订定「Test Spec」:主要是限制环境,支援的机型种类,开发有什麽阶段
EX: Alpha, Beta, cBeta, Production 平台
人员配置, 测试目标包含:RAT, FAST, TOFT, FET
Stress Test, Compatibility Test, Stability Test
E2E...等等 制定文件
End Of Requirement Phase
讨论订定「Test Plan」:主要是讨论怎麽测试,用什麽工具测试,需要多少时间/人力
什麽时间点要做什麽种类的测试...之类的时程安排
Developing Phase
QA通常会选在这时候开始撰写Test Case,与RD讨论产品module设计,或UX设计
(UI不太会干涉,尊重专业,除非UI已背离人性的设计...)
建立需要的环境或伺服器,有点像MIS的职务
需要架Server, Jenkins, STAF, CI 等等...
另外部分QA可能会开始撰写RAT相关的「自动化测试工具」
Code Complete Phase to Testing Phase
这时候是QA最忙碌的时候,这时候考验Automation的功课写得多不多,能帮多少忙,
因为这时候大量需要Manually Testing, Functionality Testing的时候
人手忙碌的时候
Quality Review
这是考验QA协调力与报告能力的重点了,
QA有一个很重要的能力在,怎麽
把测试的状态「量化」
一个具有说服力的报告,其实不在於文字,在於数字,给老板或给上层看到的
最好是简单的几个数字或百分比的图表,就能呈现整个Quality的状态的Report
是老板或其他PM & MKT最喜爱的结果
但,RD可能就需要花一些心思去沟通了,这时候QA可能需要协助RD寻找Root cause
缩短issue fixing 的时间
结论
若朋友,你,选择QA这条路,你可能需要莫大的勇气去适应台湾的QA生态
当QA其实不全然没有好处,也许你拥有一些不错的底子,不一定是RD中最强的,
但走QA这条路肯定会比其他同侪更容易被看见
QA跟QC最大的不同在於,
QA通常会陪着RD一起走完开发流程
QC大多属於Black Box的测试者,注重正确率与执行量化的测试案例
如果你是QA正在写「自动化测试工具」不一定要会特定的语言,能结合各种工具
完成受测的目标,就是好的工具,台湾其实不是很多人在培养这块领域
哪些工具可以帮助你撰写「
自动化测试工具」
推荐需要会的技能
0.Jenkins, Git -> 这两个对QA来说满有价值可学的
1.Python
2.Windows/ Batch script/ VB script
3.Linux / Shell script
4.Apache / IIS
5.DB (optional)
网页系统, 前端或後台类的
1.Selenium
2.Sikuli
3.Autoit
Mobile Relation
1. Appium (iOS/Android) 目前最好用的我觉得是这个
2. Robotium (Android)
3. UI Automation (iOS)
4. 有时候需要OTA (Over the Air) 来deploy build时,需要写(用)一个OTA的server
Hockey App
小弟之前是用.NET写一个OTA的server来让测试人员或测试使用者下载新的 build
(如果你不想付钱的话)
感谢各位朋友耐心看完,有任何建议烦请补充指教
也希望可以跟QA朋友多多交流分享
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.170.73
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1439371193.A.0DB.html
1F:推 qrtt1: 有看有推 08/12 17:29
2F:→ y2468101216: 其实我一直不太确定自动化测试怎做,有相关案例吗 08/12 17:32
自动化测试是 based on test case 譬如:test case 写 "user login a website"
那自动化的部分就是,能够写出一套程式让user自动达成 test case 的需求
案例影片
https://www.youtube.com/watch?v=NQgLhZmz7dc
※ 编辑: fourplayers (118.163.170.73), 08/12/2015 17:38:04
3F:→ oread168: Coordination 08/12 17:36
感谢纠正 :)
※ 编辑: fourplayers (118.163.170.73), 08/12/2015 17:39:32
4F:→ wellkom: siku"l"i 08/12 17:42
真的是typo...手残习惯打ri...感谢指正啊!
5F:推 oread168: 因为软体工程(ry 楼下开始接 08/12 17:51
※ 编辑: fourplayers (118.163.170.73), 08/12/2015 17:52:19
7F:→ gigayaya: 我大部分的自动化测试知识都是来自这里的~觉得这网站经 08/12 17:52
8F:→ gigayaya: 营的很用心 08/12 17:52
9F:→ fourplayers: 推 楼上的网站刚开始我觉得这网站满不错的 只是到後 08/12 18:02
10F:→ fourplayers: 写得越来越刁 或是偏离原本的应用就只能靠overflow了 08/12 18:03
11F:推 deray: 趋势的QA也开始约聘化 08/12 18:34
12F:推 deray: 请问monkey test的缩写是哪一个? = = 08/12 18:40
13F:→ fourplayers: 我们就直接叫monkey test 就是针对ui的测试吧? 08/12 18:44
14F:推 deray: 网友系统:F12 08/12 19:03
15F:推 milonga332: 推~ 08/12 20:35
16F:推 repeat: 推一个~ 08/12 20:36
17F:推 dream1124: 大推, 你让我终於知道自己的天赋究竟适合什麽位置 08/12 23:03
18F:推 ivonne: 推! 08/12 23:38
19F:推 pw429311: 推啊! 08/13 00:23
20F:推 joel913: 工具还可以加入Jmeter,这工具做大量testcase 的regressio 08/13 00:58
推Jmeter ! 这在做压测的时候是得力助手, 以前也有一个类似的软体叫 SoapUI 也是相似
只是之前可以拿来跑Flash 的 AMF3 的资料流
21F:→ joel913: n很好用 08/13 00:58
22F:推 joel913: 看完这篇,我想到半个月前买的书[Google软体测试之道] 08/13 01:00
23F:推 jjwei: 推一个,受益良多 08/13 08:37
24F:推 rexsony: 依我测试经验心得 只有一句话可以型容 08/13 11:19
25F:→ rexsony: 测到应该,没测试你活该. 08/13 11:19
26F:推 rexsony: monkey test 算是一个特定术语、用来形容 UI测试 08/13 11:25
27F:推 rexsony: 自动化测试比较适合在出货前让QC大量测试验证稳定性 08/13 11:28
28F:推 rexsony: 在将近7年的手机测试经验里所体验到, 大、中、小型的公司 08/13 11:33
29F:→ rexsony: 对於QA、QC会有不同的介定、小公司很容易把QC&QA包在一起 08/13 11:33
30F:→ rexsony: 薪资却不是两包xD、中型公司或是外资设点的公司 08/13 11:34
31F:→ rexsony: 会被当成是FAE角色看待,不只要跟RD走还得搞定市场问题 08/13 11:37
32F:→ rexsony: 或是被派出去当做客服工程师?? Orz 08/13 11:37
33F:推 rexsony: 大型的公司QA学习的管道绝大部份是跟着硬体RD走 08/13 11:40
34F:→ rexsony: 举凡、通讯协订(射频)、GPS、WiFi、Bluetooth、AP(CP) 08/13 11:42
35F:推 oread168: 最扯的是帮挑毛病还会被嫌(ˊ_>ˋ)....%$#@ 08/13 11:46
36F:推 rexsony: 再利用程试语言制做可以顶替大量重复性测试的项目 08/13 11:47
37F:→ rexsony: 最後再手动进行一连串"使用者环境"的行为模拟项目 08/13 11:48
38F:→ rexsony: 远目当时在hTx时後, 拿着第一只Google Phone T-Mobile G1 08/13 11:50
39F:推 lairrol: rexsony 你可以开一篇回暗黑面... 08/13 11:51
40F:→ rexsony: 个人再推一下楼主的4大能力,良好的协调&组织&报告能力 08/13 11:52
41F:→ rexsony: 可以帮忙产品更趋近Zero Bug(没有重大Bug) 08/13 11:53
※ 编辑: fourplayers (60.251.40.253), 08/13/2015 12:05:40
42F:推 Conjuror: 朝圣推,看这个应该是 TrendMicro 的 QA 出来写的? 08/13 12:28
43F:推 undeader: 好奇这样的"QA"给薪大约会在哪里...... 08/13 14:09
44F:→ fourplayers: 看老板找的人才要什麽基本上我觉得QA技术不一定输RD 08/13 15:02
45F:→ fourplayers: pay应该也能比照RD吧, TM的QA跟RD的pay是平行的 08/13 15:03
46F:→ fourplayers: Jr. QA 大概 80w/year, Sr.QA range比较大 80-110w/y 08/13 15:05
47F:推 JackieDragon: QA推! 08/14 04:19
48F:推 easybaby: 想转QA... 08/14 12:22
49F:推 wennie0433: 有看有推 小弟目前开发自动化测试。觉得欣慰 08/15 00:41
50F:推 wimlove: 朝圣推 08/18 09:36
51F:推 sally109220: 是说QA没有程式底也能做吗?没底对於跟RD沟通上会有 08/18 10:31
52F:→ sally109220: 什麽问题 08/18 10:31
53F:推 MOYO: 菜鸟QA推 08/24 11:43
54F:推 littlebau: 看了这个好心虚...我也是 QA 但是上面写的几乎都不会 08/25 23:47
55F:→ littlebau: 但是我大概最少有150w/y 09/12 23:05
56F:推 s51507: 小弟目前也在这条道路上,推 01/02 07:29