参考资料:测试人员是否需要具备编程技能(看Elisabeth Hendrickson怎么说).pdf

上传人:奉*** 文档编号:4060521 上传时间:2021-01-13 格式:PDF 页数:9 大小:606.90KB
返回 下载 相关 举报
参考资料:测试人员是否需要具备编程技能(看Elisabeth Hendrickson怎么说).pdf_第1页
第1页 / 共9页
参考资料:测试人员是否需要具备编程技能(看Elisabeth Hendrickson怎么说).pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《参考资料:测试人员是否需要具备编程技能(看Elisabeth Hendrickson怎么说).pdf》由会员分享,可在线阅读,更多相关《参考资料:测试人员是否需要具备编程技能(看Elisabeth Hendrickson怎么说).pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、武剑洁 软件测试与质量 华中科技大学 如下是 Elisabeth Hendrickson 在 2010 年根据相关行业调查所做出的关于“测试人员 是否需要具备编程能力”的一篇报告,原文如下。 为了大家阅读方便,我结合谷歌翻译,以及自己的理解,将原文译为中文,附在原文的 后面。 原文中附带的调查数据作为另外一个课外资料, 也一并提供下载。 大家也可以在原文链 接中直接登录原网址下载该数据。(版权归原作者所有)。 Do Testers Have to Write Code By E hendrickson on OCTOBER 20, 2010 in UNCATEGORIZED For years

2、, whenever someone asked me if I thought testers had to know how to write code, Ive responded: “Of course not.” The way I see it, test automation is inherently a programming activity. Anyone tasked with automating tests should know how to program. But not all testers are doing test automation. Teste

3、rs who specialize in exploratory testing bring a different and extremely valuable set of skills to the party. Good testers have critical thinking, analytical, and investigative skills. They understand risk and have a deep understanding where bugs tend to hide. They have excellent communication skill

4、s. Most good testers have some measure of technical skill such as system administration, databases, networks, etc. that lends itself to gray box testing. But some of the very best testers Ive worked with could not have coded their way out of a For Loop. So unless theyre automating tests, I dont thin

5、k that testers should be required to have programming skills. Increasingly Ive been hearing that Agile teams expect all the testers to know how to write code. That made me curious. Has the job market really shifted so much for testers with the rise of Agile? Do testers really have to know how to cod

6、e in order to get ahead? My assistant Melinda and I set out to find the answer to those questions. Because we are committed to releasing only accurate data, we ended up doing this study three times. The first time we did it, I lost confidence in how we were counting job ads, so we threw the data out

7、 entirely. The second time we did it, I published some early results showing that more than 75% of the ads requested programming skills. But then we found problems with our data, so I didnt 武剑洁 软件测试与质量 华中科技大学 publish the rest of the results and we started over. Third times a charm, right? So here, f

8、inally, are the results of our third attempt at quantifying the demand for programming skills in testers. This time I have confidence in our data. We surveyed 187 job ads seeking Software Testers or QA from across the 29 states in the US posted between August 25 and October 16, 2010. The vast majori

9、ty of our data came from Craigslist (102 job ads) and LinkedIn (69 job ads); the rest came from a small handful of miscellaneous sites. The jobs represent positions open at 166 distinct, identifiable companies. The greatest number of positions posted by any single company was 2. Although we tried to

10、 avoid a geographic bias, there is a bias in our data toward the West Coast. (We ended up with 84 job listings in California alone.) This might reflect where the jobs are, or it could be because we did this research in California so it affected our search results. Im not sure. In order to make sure

11、that our data reflected real jobs with real employers we screened out any jobs advertised by agencies. That might bias our sample toward companies that care enough to source their own candidates, but it prevents our data from being polluted by duplicate listings and fake job ads used to garner a poo

12、l of candidates. Based on our sample, heres what we found: Out of the 187 jobs we sampled, 112 jobs indicate that programming of some kind is required; an additional 39 jobs indicate that programming is a nice to have skill. Thats just over 80% of test jobs requesting programming skill. Just in case

13、 that sample was skewed by including test automation jobs, I removed the 23 jobs with titles like “Test Automation Engineer” or “Developer in Test.” Of the remaining 164 jobs, 93 required programming and 37 said its a nice to have. Thats still 79% of QA/Test jobs requesting programming. Its importan

14、t to understand how we counted the job ads. We counted any job ad as requiring programming skills if the ad required experience or knowledge of a specific programming language or stated that the job duties required using a programming language. Similarly, we counted a job ad as requesting programmin

15、g skills if it indicated that knowledge of a specific language was a nice to have. The job ads mentioned all sorts of things that different people might, or might not, count as a programming language. For our purposes, we counted SQL and shell/batch scripting as programming languages. A tiny number

16、of job ads (6) indicated that they required programming without listing a specific language by listing broad experience requirements like “Application development in multiple coding languages.” Those counted too. 武剑洁 软件测试与质量 华中科技大学 The bottom line is that our numbers indicate approximately 80% of th

17、e job ads youd find if searching for jobs in Software QA or Test are asking for programming skills. No matter my personal beliefs, that data suggests that anyone who is serious about a career in testing would do well to pick up at least one programming language. So which programming languages should

18、 you pick up? Here were the top 10 mentioned programming languages (including both required and nice-to-haves): SQL or relational database skills (84) Java, including J2EE and EJBs (52) Perl (44) Python (39) C/C+ (30) Shell Scripting (27) note: an additional 4 mentioned batch files. JavaScript (24)

19、C# (23) .NET including VB.NET and ASP.NET but not C# (19) Ruby (9) This data makes it pretty clear to me that at a minimum, professional testers need to know SQL. I will admit that I was a little sad to see that only 9 of the job ads mentioned Ruby. Oh well. In addition, there were three categories

20、of technical skills that arent really programming languages but that came up so often that theyre worth calling out: 31 ads mentioned XML 28 ads mentioned general Web Development skills including HTTP/HTTPS, HTML, CSS, and XPATH 17 ads mentioned Web Services or referenced SOAP and XSL/XSLT We consid

21、ered test automation technologies separately from programming languages. Out of our sample, 27 job ads said that they require knowledge of test automation tools and an additional 50 ads said that test automation tool knowledge is a nice to have. (As a side note, I find it fascinating that 80% of the

22、 ads requested programming skills, but only about half that number mentioned test automation. Im not sure if theres anything significant there, but I find it fascinating nonetheless.) The top test automation technolgies were: Selenium, including SeleniumRC (31) QTP (19) XUnit frameworks such as JUni

23、t, NUnit, TestNG, etc. (14) LoadRunner (11) 武剑洁 软件测试与质量 华中科技大学 JMeter (7) Winrunner (7) SilkTest (6) SilkPerformer (4) Visual Studio/TFS (4) Watir or Watin (4) Eggplant (2) Fitnesse (2) Two things stood out to me about that tools list. First, the number one requested tool is open source. Overall, of

24、 the number of test automation tool mentions, more than half are for free or open source tools. Ive been saying for a while that the commercial test automation tool vendors ought to be nervous. I believe that this data backs me up. The revolution I predicted in 2006 is well under way and Selenium ha

25、s emerged a winner. Second, I was surprised at the number of ads mentioning WinRunner: its an end-of-lifed product. My personal opinion (not supported by research) is that this is probably because companies that had made a heavy investment in WinRunner just were not in a position to tear out all the

26、ir automated tests simply because HP/Mercury decided not to support their tool of choice. Editorializing for a moment: I think that shows yet another problem with closed source commercial products. Selenium cant ever be end-of-lifed: as long as there is a single user out there, that user will have a

27、ccess to the source and be able to make whatever changes they need. But I digress. As long as we were looking at job ads, Melinda and I decided to look into the pay rates that these jobs offered. Only 15 of the ads mentioned pay, and the pay levels were all over the map. 4 of the jobs had pay ranges

28、 in the $10-$14/hr range. All 4 of those positions were part time or temporary contracts. None of the ads required any particular technical skills. Theyre entry-level button-pushing positions. The remaining 11 positions ranged from $40K/year at the low end to $130K/year at the high end. There just a

29、re not enough data points to draw any real conclusions related to salary other than what you might expect: jobs in major technology centers (e.g. Massachusetts and California) tend to pay more. If you want more information about salaries and positions, I highly recommend spelunking through the salar

30、y data available from the Bureau of Labor Statistics. And finally I was wondering how many of the positions referred to Agile. The answer was 55 of the job ads. 武剑洁 软件测试与质量 华中科技大学 Even more interesting, of those 55 ads, 49 requested programming skills. So while 80% of all ads requested programming s

31、kills, almost 90% of the ads that explicitly referenced Agile did. I dont think theres enough data available to draw any firm conclusions about whether the rise of Agile means that more and more testers are expected to know how to write code. But I certainly think its interesting. So, that concludes

32、 our fun little romp through 187 job listings. I realize that you might have more questions than I can answer. If you want to analyze the data for yourself, you can find the raw data here. (原文完) 测试测试人员需要编码吗?人员需要编码吗?(译文)译文) 多年来,每当有人问我,是否认为测试者必须知道如何编写代码的时候,我都会回答: “当然不是。 我认为, 测试自动化本质上是一种编程活动, 任何负责自动化测试

33、的人都应该知道如何 编程。但是,并不是所有的测试人员都做测试自动化工作。 专门从事探索性测试的测试人员为如何测试提供了一种与传统方法不同的、 非常有价值 的技能。好的测试人员具有批判性的思维,分析和调查能力。 他们了解风险,他们能够深入理解缺陷可能隐藏在哪里。他们具有良好的沟通能力。大 部分好的测试人员都具备某些方面的知识,例如系统管理,数据库,网络等,这些知识和能 力可以帮助这些测试人员进行灰盒测试。但是,和我一起共事的部分非常优秀的测试人员, 他们甚至连如何使用 for 循环进行编码都不知道。 因此,除非是做自动化测试,否则,我并不认为测试人员一定要具备编程能力。 我越来越多地听到这样一种

34、说法, 那就是, 敏捷团队希望所有的测试人员都知道如何编 码。这让我很好奇。随着敏捷的兴起,就业市场对求职者的要求真的变了吗?测试人员真的 必须知道如何编码才能领先与其他的测试人员吗? 我的助手梅琳达和我开始试图寻找这些问题的答案。 由于我们承诺只发布准确的数据,因此,我们曾经三次中断这项研究。第一次我们做这 方面研究的时候,我对如何统计这些招聘广告丧失了信息,因此,我们将数据全部彻底抛弃 了。 第二次我们再次做这项研究的时候, 我发布了一些早期的结果, 这些结果表明, 超过 75% 的招聘广告要求测试人员具有编程能力。但是后来,我们发现我们的数据存在问题,所以, 我没有发布其余的结果,而是重

35、新开始。第三次一定是一个挑战,不是吗? 所以, 这是我们第三次尝试对软件测试人员在编程能力方面的要求进行量化, 并得到结 武剑洁 软件测试与质量 华中科技大学 论。这一次,我对我们的数据很有信心。 我们调查了 2010 年 8 月 25 日至 10 月 16 日期间,美国 29 个州的 187 个寻求软件测试 人员或质量保证(QA)人员的招聘广告。 绝大多数的数据来自 Craigslist1(包含 102 条招聘广告)和 LinkedIn2(包含 69 条招聘广 告) ,其余的数据则来自少量杂项场所。 这些工作代表了来自 166 个不同公司的职位需求。 而且, 如果职位需求来自同一个公司 的,

36、则每个单独的公司所涉及发布的职位数量不超过两个。 尽管我们试图避免地域性偏见,但我们的数据还是对西海岸有偏见3(最终,我们仅在 加利福尼亚保留了 84 个职位需求。 )这可能反映了这些职位在哪儿4,或者也可能是由于我 们在加利福尼亚进行的这项研究,因此,这影响了我们的搜索结果。我不确定。 为了确保我们的数据反映了真实雇主的真实的职位需求, 我们从这些数据筛选出那些由 各机构所发布的宣传性质的职位需求。 这可能会使得我们的样本更偏向于那些在招聘的时候 只关注自己的职位候选人的那些公司, 但这一措施可以防止我们的数据被重复列表, 或那些 用于囤积候选人的假冒招聘广告所污染。 根据我们的样本,我们发

37、现如下的现象: 在我们抽样的 187 个职位中,有 112 个职位需求表明测试人员需要具备某种编程能力; 另外有 39 个职位表明,编程能力是一个最好能具备的技能。这就是说,有 80以上的测试 工作,要求测试人员具有编程技能。 为了防止样品偏离自动化测试方面的职位需求, 我从这些招聘广告中去掉了 23 个广告, 这项职位广告的标题包含“自动化测试工程师”或“测试开发” 。在其余的 164 个职位广告 中, 有 93 个职位是要求具有编程能力的, 有 37 个职位广告表示很乐意具有编程能力的测试 人员。这就是说,在所有的质量保证/测试职位需求中,要求有编程能力的广告占比 79%。 那么,我们是如

38、何统计软件测试职位广告的呢?(译者补: )了解我们如何计算职位广 告是很重要的。 如果某个广告提到需要某种特定的编程语言方面的经验或知识, 或者指出, 该工作职责 要求使用某种编程语言, 那么, 我们就会将这样的招聘广告视为要求具备编程技能。 类似地, 如果某个招聘广告中指出,具备某种特定的编程语言方面的知识是很好的,那么,我们就将 这样的广告视为建议具有编程技能。 招聘广告针对不同的人提出了各种要求, 这些要求可能被视为与编程相关, 也可能与编 1 译者注:Craigslist 是由 Craig Newmark 于 1995 年在美国加州的旧金山湾区地带创立的一个网上大型免费 分类广告网站,

39、该网站目前已经成为美国人使用最多的一个网站之一,在该网站可以方便地买卖二手车、 租房、找工作等。 2 译者注:LinkedIn,中文名:领英,是全球最大的职业社交网站,是一家面向商业客户的社交网络,成立 于 2002 年 12 月,于 2003 年启动,2011 年 5 月 20 日在美国上市,总部位于美国加州的山景城。 3 译者注:这里的偏见是指西海岸的数据比较多。 4 译者注:硅谷就在加利福尼亚,这里的需求太旺盛了,所以,这一地区的职位需求特别多也就不奇怪了。 武剑洁 软件测试与质量 华中科技大学 程无关。为了加以区分,我们将 SQL 和 shell/批处理 脚本视为编程语言。少数工作广告

40、(6 个职位需求)表示,他们需要测试人员具有编程能力,但没有列出特定的语言,而是列出了 一般性的经验性要求,例如, “能使用多种编码语言进行应用程序开发” 。我们将这些也视为 要求具备编程技能。 最重要的是,我们的统计数字表明,在软件质量保证(QA)或测试中搜索职位时,你会 发现,大约 80%的招聘广告都要求测试人员具有编程技能。 因此,不管我个人怎么看,这些数据表明,任何一个认真对待测试职业的人都需要掌握 至少一种编程语言。 那么,你应该选哪些编程语言?在此,我们列出了排名前十的编程语言(这些编程语言 是所有要求具备编程技能,或建议具有编程技能的招聘广告中所提到的) : SQL 或关系数据库

41、技能(84 个招聘职位) Java,包括 J2EE 和 EJB(52 个招聘职位) Perl(44 个招聘职位) Python(39 个招聘职位) C/C+(30 个招聘职位) Shell 脚本(27 个招聘职位)注意:另外有 4 个招聘职位提到了文件批处理 JavaScript(24 个招聘职位) C#(23 个招聘职位) .NET,包括 VB.NET 和 ASP.NET,但不包括 C#(19 个招聘职位) Ruby(9 个招聘职位) 从这个数据,我们可以清楚地看到,至少专业测试人员需要知道 SQL。 我必须承认,只有 9 个招聘广告提到了 Ruby,我有点伤心。好吧。 另外,有三类技术技能

42、并不是真正的编程语言,但是他们经常出现,因此值得一提,这 三类技术包括: XML,31 个招聘广告提到 一般 Web 开发技能,包括 HTTP / HTTPS,HTML,CSS 和 XPATH,28 个广告提到 Web 服务,或 SOAP 和 XSL / XSLT,17 个广告提到 我们将自动化测试技术与编程语言分开考虑。 在我们的样本中, 有 27 个招聘广告表示, 他们要求了解自动化测试工具方面的知识,另外有 50 个广告表示,建议具有自动化测试工 具方面的知识。 (作者注,我发现了一个很有意思的事情,在所有的招聘广告中,有 80%的 广告要求测试人员具有编程技能, 但只有大约一半的招聘需

43、求中提到自动化测试, 我不确定 这是否很重要,但我觉得很有意思。 ) 在自动化测试方面,按需求从高到低排序,排名最靠前的自动化测试技术包括: Selenium,包括 SeleniumRC(31 个招聘职位) 武剑洁 软件测试与质量 华中科技大学 QTP(19 个招聘职位) XUnit 框架,如 JUnit,NUnit,TestNG 等(14 个招聘职位) LoadRunner(11 个招聘职位) JMeter(7 个招聘职位) Winrunner(7 个招聘职位) SilkTest(6 个招聘职位) SilkPerformer(4 个招聘职位) Visual Studio / TFS(4 个招

44、聘职位) Watir 或 Watin(4 个招聘职位) Eggplant(2 个招聘职位) Fitnesse(2 个招聘职位) 关于上面这个工具列表,我们可以发现两方面的情况: 首先,需求最多的自动化测试工具是开源的。总的来说,在招聘广告中提到的测试自动 化工具中,有一半以上是免费的或开源的工具。我一直在说,商业的自动化测试工具供应商 应该感到紧张。我相信,这些数据很好地支持了我的观点。我在 2006 年做出的预测已经变 为现实,Selenium 已经成为赢家了。 其次, 我对提到 WinRunner 的招聘广告的数量感到十分惊讶: 它已经一款生命到尽头的 产品了5。 我个人的观点是(不被研究

45、所支持) :造成这种现象的原因可能是,已经在 WinRunner 工具投入大量资金的公司根本就不会因为 HP / Mercury 公司的关于舍弃 WinRunner 工具的 决定而停止自动化测试。 我认为, 这也展示了使用封闭源商业级产品的另一个问题 (译者注: 使用封闭源商业级产品带来的这个问题就是,如果购买商业工具,那么,工具厂商对产品做 出的决定将直接影响使用商业工具的公司, 导致有自动化测试需求的组织对工具厂商的严重 依赖) 。而 Selenium 是不可能终结的:由于 Selenium 是开源软件,只要有一个用户在那里, 该用户就可以访问到源,并会根据自己的需要对该工具进行修改。 我

46、跑题了。 当我们查看这些招聘广告的时候, 梅琳达和我决定继续调查这些职位所提供的薪酬水平。 只有 15 个招聘广告提到了有关支付的问题,其他广告都没有提到薪酬的事情。 在这 15 个招聘广告中,有 4 个工作岗位的薪水范围在每小时 10 美元到 14 美元之间。 而且,这 4 个岗位都是兼职或临时合同。没有任何一个广告提到需要任何特定的技术技能。 5 译者注:WinRunner 是 Mercury Interactive 公司的一款企业级功能测试工具,该工具在功能测试领域的地 位曾经如日中天, 在国内功能测试领域的市场份额曾经长期占据 90%以上, 但后来 MI 公司又推出了 QTP 工 具,

47、包含了 WR 的所有功能,且更加强大。随着 2006 年 MI 公司被 HP 公司收购,WinRunner 目前已被淘 汰。但由于其历史占有率很高,所以,很多公司目前仍在使用该工具。所以作者认为,这是一款已经死亡 的工具,但是使用率仍然这么高,由此感到非常吃惊。 武剑洁 软件测试与质量 华中科技大学 这完全是入门级的职位。 剩下的 11 个职位的薪酬从低端的每年 4 万美元到高端的每年 130 万美元。从目前的数 据来看,除了你可能期望看到的:主要技术中心(例如马萨诸塞州和加利福尼亚州)的职位 倾向于支付更多的费用, 除此之外, 无法提供足够的数据来支撑得到与工资有关的真实结论。 如果想获取有

48、关薪资和职位的更多信息,我强烈建议通过劳工统计局提供的薪资数据来了 解。 最后,我想了解有多少职位是和敏捷相关的,答案是 55 个招聘广告。 更有意思的是,在这 55 个广告中,49 个要求测试人员具有编程技能。因此,80%的招 聘广告要求具备编程技能, 而对于那些明确说明涉及敏捷的招聘广告来说, 几乎 90%的这类 广告要求测试人员具有编程技能。 我认为没有足够的数据可以得出确切的结论, 敏捷的兴起 是否意味着越来越多的测试人员要懂得如何编程。但我认为这很有意思。 这就是我们通过 187 个招聘广告所得到的结论。 你可能还有更多疑问想问。 如果你想自 己分析数据,可以在这里找到原始数据。 (翻译完)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com