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

 

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

 

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

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

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

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

 

 

下面讨论测试人员应该具有的技能。数据库

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

 

 

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

 

软件测试基本知识:windows

 

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

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

 

测试辅助技能:

 

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

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

 

自动化技术(UI):

 

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

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

UI的自动化不仅仅是QTP一个工具,若是你掌握了一种语言,作自动化的路就宽广了,你必定知道还有个叫seleniumwebdriver)的自动化工具,你不必定知道ruby 有个watir框架也能够作自动,也许你不知道python有个splinter框架也能够作自动化。那么你就更不知道python 有个pywinauto框架能够对windows GUI作自动化。你不知道有自动化工具太多太多了。谈到这些就不得不涉及到编程技术了。相比较而言QTP 不须要太多的编程能力。

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

 

性能测试:

 

LoadRuner彷佛比QTP名气更大,作测试必玩工具。没摸过LR都很差意思说本身是作测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?

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

对于性能测试,另外一个我更关心的测试流程,你作性能测试的目的是什么?新系统验证?仍是旧系统扩容?须要达到一个什么样的预期?在独立的环境能够开展么?压力在哪儿,脚本为何要这样录制?你的测试结果然的有知道意义么?或对系统性能作出了合理的评估,或为系统有调优作出指导,或为系统扩容作出了依据。若是来龙去脉弄不清何须去作呢?

 

编程能力:

 

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

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

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

 

对新的工做有什么期待?

“我但愿能接触一些性能测试、自动化测试等,由于以前的工做一直在作功能。”

 

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

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

 

但实际的状况是这样的:

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

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

 

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

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

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

相关文章
相关标签/搜索