软件测试员——面试,你准备好了么?

最近有机会做一些面试工作,主要负责面试软件测试人员招聘的技术面试。

  之前一直是应聘者的角色,经历了不少次的面试之后,多少也积累一点面试的经验,现在发生了角色转变。初次的面试就碰到个工作年限比我长的,也没有时间仔细了解对方的简历,再加上应聘者比较“强势”。面试情况是比较糟糕的。

  有同学会说,唉!不就失去了一个应聘者嘛。多面几个就好了!这不单单是失去应聘者,面试者对面试官的印象更重要。面试官的能力与表现对于初次面试者来说往往代表的是公司的,更具体点是测试团队的能力。

  如果面试官都很“水”,这个水两方面,一是面试不够从容,思路不清晰。二是技术能力水,问半天问不到关键点上。那么身为面试者,对这家公司的印象会打折很多,就算能开得起面试者的期望薪资,面试者还要考虑在你这儿能不能学到什么,工作是否有挑战,是否有发展空间。

  所以,面试官的能力与表现对面试是否成功同样重要,毕竟就面试过程而言是一个双向选择的过程嘛。

  下面讨论测试人员应该具备的技能。

  在这个讨论的过程中,充满了我个人的偏见与喜好。不喜误喷!

  上面是我所画的一个体系图,这上面的技能相对比较通用,当然特殊情况下对测试人员的技能要求会有特别要求。

  软件测试基本知识:

  这一块其实没什么好讨论的,如果你有半年到一年的工作经验的话,对这一块一定有比较清晰的认识,当然,在实际的工作中不需要你对每一种测试方法去寻根求源,知道这些方法的含义与应用场景即可。

  编写各种测试文档,对于初学者来说稍有难度。但终究还是谈不上什么技术含量的事情,如果对业务和流程足够熟悉,文档用例自然就会写了。

测试辅助技能:

  我发现这两项技能在笔试和面试过程中必考,出现几率超高,但在实际的工作中,有些测试根本碰不到linux ,有些测试不需要去操作数据库。当然,测试嘛,也不能太处于表面了,也需要熟悉熟悉相关测试的表,了解了解系统服务器。

  好在这两项技能的要求都不高,linux 大多考几个常用命令,SQL一般考一下增、删、查、改。

  自动化技术(UI):

  大多同学会在简历必备测试技能里加一个QTP自动化测试工具,当我满怀起到和他聊一聊自动化时,得到的多大回答是这了解和学习过这个工具。这也不能怪测试人员,谁让满大街的招聘要求上都写着“要求熟悉LoadRunner 、QTP等自动化测试工具等。” 其实,他们公司根本就不用。这么多公司都要求,看来还是有必要学一学这个工具的。

  对于我而言,我并不太关心工具用得多熟练?对于web应用来说,更在意的是对前端技术了解多少?因为你要自动化的对象就是前端技术所呈现出来的各种功能。都不了解它,如何定位和操作它呢?

  UI的自动化不单单是QTP一个工具,如果你掌握了一种语言,做自动化的路就宽广了,你一定知道还有个叫selenium(webdriver)的自动化工具,你不一定知道ruby 有个watir框架也可以做自动,也许你不知道python有个splinter框架也可以做自动化。那么你就更不知道python 有个pywinauto框架可以对windows GUI做自动化。你不知道有自动化工具太多太多了。谈到这些就不得不涉及到编程技术了。相比较而言QTP 不需要太多的编程能力。

  对于自动化测试,另一个比较关心的是你对自动化的理解,什么情况下适合做自动化?你的自动化测试用例是怎么写的?什么样的用例适合转成自动化?你是如何来实施的?有什么样的策略来开展自动化工作?你需要自动化在项目中达到一个什么样的预期和效果?只是学学工具,拿个例子练习练习。很难对这些问题有真实的理解。

  性能测试:

  LoadRuner似乎比QTP名气更大,做测试必玩工具。没摸过LR都不好意思说自己是做测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?

  最大的难点,其它是对系统架构的理解,其实,更多时候并不需要达到架构师水平,甚至不用达到开发的水平,但起码,你要弄清用的什么操作系统,什么数据库,什么开发语言与框架,什么中间件吧!你要知道如何对这些做监控的吧!你要知道叫上开发一块玩吧!

  对于性能测试,另一个我更关心的测试流程,你做性能测试的目的是什么?新系统验证?还是旧系统扩容?需要达到一个什么样的预期?在独立的环境可以开展么?压力在哪儿,脚本为什么要这样录制?你的测试结果真的有知道意义么?或对系统性能做出了合理的评估,或为系统有调优做出指导,或为系统扩容做出了依据。如果前因后果弄不清何必去做呢?

  编程能力:

  编程不局限于语言,大多同学也会在简历的必备技能最下方面写上一条,熟悉C语言或其它某种语言。大多止步于大学C语言水平。工作中没有机会用到。所以,就没机会去进一步提升这方面的能力。这似乎也挺合乎情理的,再说你们招的是测试又不是开发。

  不过,我个人偏执的很看重这一点,至于上面的自动化、性能会不会都无所谓,如果在编程能力上略懂一二,我会大力推荐。懂编程和不懂编程的人看系统的深度不一样,一点不懂的只能看出来这是按钮,那是输入框。 懂编程的就知道你的登录是个<from> ,输入框是个<input> ,你的登录提交是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而更容易挖掘出相关的bug。

  一般懂编程的我都会让其写一个小程序,例如求素数,递归调用,用星号(*)打印一个梯形,如果测试工作写一些脚本之类的来辅助测试更是大大的亮点。不要觉得让你写程序就是“刁难”。平时注意积累这又何难呢?

  对新的工作有什么期待?

  “我希望能接触一些性能测试、自动化测试等,因为之前的工作一直在做功能。”

  大多数测试人员认为提升自已的过程是这样的:

  现在有一个性能需求,然后领导找到你说,小张啊,你来研究研究性能测试吧!我们现在的需要迫切需要对系统做一次性能测试,然后,你回去开始研究性能测试,花一个月终于搞懂了,开始对系统做性能测试。最终完成了任务。

  但实际的情况是这样的:

  现在有一个性能需求,然后领导找到你说,小张啊,你会做性能测试么?答,这个以前没做过,得学习一下。领导说:噢,那这样吧!小王你回去了解一下吧。因为小王虽然也没搞过,但他平时做测试的资历更久,对于新技术更爱钻研。在领导看来,小王能在更短的时间搞定这个问题。如果这个需求迫切或要求更专业,领导会直接招一个专业做性能的。

  所以,结论很明了,机会是给有准备的人的。假如,你在某一技能上面持续积累,总会有发光的时候。

  面试官更多的时候是在找亮点,我只有一个岗位,在面试的十个人当中,有十个人都能把测试流程什么的说得顺溜(虽然我也只招一个懂测试会流程就行了)。有八个人说自己懂QTP、LR等工具,只有两个人真正的有自动化或性能测试经验,只有一个人编程方面还不错。你说面试官会选谁呢?

  亮点也是谈资(谈钱的资本),你和前一个面试者差不多,前一个面试者要5K,你要8K,那我更倾向于前者,如果你有别人没有的亮点,那我更倾向于有亮点者,我更愿意招个牛B的,工资又不是我给你开,最终是否谈拢是你和人事或上级的事儿。

  面试是个综合的过程,假如你思路清晰,思维敏捷。假如你和我一样有写博客的习惯。或者谈谈你最近看的两本技术书。让我看到你是个工作很有热情的人,你是个热爱技术的人。这都是和别人不一样的亮点。闪闪发光。到哪儿都发光。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-04 05:36:29

软件测试员——面试,你准备好了么?的相关文章

软件测试员----面试,你准备好了么?

  最近有机会做一些面试工作,主要负责面试软件测试人员招聘的技术面试.   之前一直是应聘者的角色,经历了不少次的面试之后,多少也积累一点面试的经验,现在发生了角色转变.初次的面试就碰到个工作年限比我长的,也没有时间仔细了解对方的简历,再加上应聘者比较"强势".面试情况是比较糟糕的. 有同学会说,唉!不就失去了一个应聘者嘛.多面几个就好了!这不单单是失去应聘者,面试者对面试官的印象更重要.面试官的能力与表现对于初次面试者来说往往代表的是公司的,更具体点是测试团队的能力. 如果面试官都很

一个软件测试员的工作与学习(三)

在开始讲述这一年多的经历的过程之间,我又回顾了之前的经历,以便把比较好的把故事的衔接,需要说明的是,我并没什么高大上的经历来吹牛皮,只是做为一个普普通通的软件测试员,来记录自己的经历而已.     关于学历                                          应该是在入职新公司前报考的自考,学历一直是我的硬伤,所以,就想通过自考的方式来弥补,对于搞技术的来说,尤其已经在这个行业混了几年的人来说,学历真有还很重要么?这得看公司.有些公司不在意学历,有些公司没有就是不行

《软件测试工程师面试秘籍》目录—导读

内容提要软件测试工程师面试秘籍本书用轻松.愉快.亲切的语言为广大应聘测试岗位的读者组织了一场求职战役.书中语言精练,内容丰富,涵盖应聘基本流程.开发类基础知识.测试类专业知识.笔试面试技巧,并穿插了大量名企的笔试面试题.相信必能帮助对应聘完全无知的菜鸟们迅速成长为百战百胜的.羽翼丰满的雄鹰. 本书适用范围广,包含了各类语言的笔试.面试题,以及Java.C++.C#等.本书专业实用性强,除了有一般程序员的基本知识和题目外,还另外针对测试这个岗位设计了一个章节,包含Web测试.移动App测试.游戏类

《软件测试工程师面试秘籍》—第1章1.2节第一印象

1.2 第一印象软件测试工程师面试秘籍简历是用人单位了解你的窗口,是应聘的敲门砖.如何用一份优秀的简历来打动用人单位,给对方一个良好的第一印象呢?跟随本章,我们一起来打扮打扮您的简历吧. 1.2.1 打扮简历我们来看一下简历中应该包括哪些内容:个人资料.工作经历.项目经历.教育背景.技能特长.自我评价等. 1.个人资料用最简练的语言.最短的篇幅说明,不必描述.姓名.联系地址.电话.E-mail就足够了,性别.出生年月.民族.籍贯等都没必要,除非岗位有要求.是否贴照片,是个有风险的行为,完全看运气

php程序员面试分享

面试总结 今天去了北京著名IT公司进行PHP程序员的面试.这是人生第一次么,怎么不紧张?我是不是有病.不是,这叫自信呵. 首先是做一些笔试题. 1.mysql数据库索引使用的数据结构?这样做的好处是? 可以参考这篇博文:http://blog.csdn.net/ant_ren/article/details/2932068 2.有两个字符串a和b,判断b字符串是否出现在a中.不考虑大小写.. 我的答案是:使用stripos()这个函数来解决的. if(stripos($a,$b)>-1) ech

程序员面试资源大收集(转)

资源一:<crack the code interview>--谷歌资深技术面试官经典之作 本书的中文目录如下,大部分内容由Hawstein君原创翻译,部分缺失的由快课网Jay13补充. 1.1 判断一个字符串中的字符是否唯一 1.2 字符串翻转 1.3 去除字符串中重复字符 1.8 利用已知函数判断字符串是否为另一字符串的子串 2.1 从链表中移除重复结点 2.2 实现一个算法从一个单链表中返回倒数第n个元素 2.3 给定链表中间某结点指针,删除链表中该结点 2.4 求由两个链表结点组成的数

做一个程序员,你准备好了么?

毕业后的时光,总是过的更快一些,想想从初学开发到现在,也已经有三年多了.走过的路有上有开心的时候,也有纠结Bug抓狂的时候,有过加班一连几个通宵,也有过加班后完工的喜悦,一路走来,反而更加平淡了. 从刚刚入行,做一个最简单的SharePoint技术支持,到渐渐的学习网站实施,然后不满足在不太好的C++基础上自学C#,从简单的WebPart开始一个个练起,到现在基本熟练掌握SharePoint开发的各种模板,也不曾丢掉最初学习的实施,我自认为是一个蜕变的过程.当然,其间经历的各种感情,也只有自己能

[程序员面试金典]1002.下一个较大元素

题目描述 现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素. 给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,若不存在则为-1.保证数组中元素均为正整数. 测试样例: [11,13,10,5,12,21,3],7 返回:[13,21,12,12,21,-1,-1] 思路 从后向前维护一个递减栈. 最右边的那个值肯定没有最大值,所以肯定是-1.初始栈为-1. 从后向前计算: (1)如果当前元素大于栈顶元素,则栈顶元素退出,如果还是大于栈

程序员面试什么最重要?

程序员面试一直是社区乐于讨论的热门话题.我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界500强的通信企业,有从事期权期货交易的欧洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的新兴公司.跨入IT行业以来,我在求职过程中经历过多次面试,最近两年也有过多次面试别人的经验.我感觉现在到了对这个问题发表自己看法的时候,这篇文章是我站在面试官角度对于程序员面试问题的一个阶段性反思和经验总结. 目标 相信和不少朋友一样,有了几年工作经验成为Senior后就开始了