终于在51testing上发现一个有点意思的帖子,把各观点整理一下。言辞比较激烈,给大家看着乐乐。
帖子标题:软件测试工程师试题发布版 发贴人 jackei
这份试题的内容来自两年来软件测试工程师招聘经验的总结,不涉及任何机密信息或隐私信息,希望可以为即将走上测试之路或已经开始软件测试生涯的朋友们提供一些参考或帮助。
文档为Word格式,之所以没有转换成PDF,就是希望这可以做为一份开放的文档供大家使用,我也并不介意您直接将这份文档应用在自己的招聘工作中,希望每个看过这份文档的人都可以从中获得一些收获。
也希望更多高手在我抛出这块“砖”之后,可以一起站出来为这个行业的发展做些事情。
点击下载http://www.cnblogs.com/jackei/archive/2005/03/17/120183.html
贴主说(以下蓝色背景为贴主的回帖):
设计本试题的目的是希望可以希望可以通过笔试,尽可能多的体现出应聘者对于软件测试、软件工程和软件质量保证方面基础知识的掌握情况,并引导应聘者尽可能多的展示自己在以往的工作中积累的工作经验。我的目的是希望可以达到一种通过纸面与应聘者交流的效果,让应聘者在答题的过程中可以对自己的思想和经验做一些总结和反思。我在面试的工作中,都会多多少少的给应聘者讲一些测试方面的知识或者解答一些力所能及的问题,也是希望应聘者可以不虚此行吧。同样,如果应聘者可以记住这份试题中的问题,那么也可以做为一份很好的学习计划和指导,因为在我看来,这就是我对于一名优秀的测试工程师的要求——当然,要耐心从头至尾完成这份试题,也说明达到了测试工程师的一项基本要求——耐心^_^
本来也是做为一份面试试题的,排成这种格式主要是方便主考官不在公司的时候供应聘者书写使用的。
在一片叫好声中,有人站出来说(以下黄色背景为此网友A的回帖,我隐去了其网名):
看了,满篇都是大道理,玄虚的概念,须知测试的知识是从实践中得来的,不是背书本背出来的。
哪家公司给你出这样的面试题,就可以打定主意不要去了。
A,不好意思,这份题是我出的。当然,这份题仍然不是十分完善,不过这主要是因为我个人水平有限,同公司没有直接关系。如果可以,非常希望您可以帮忙增补或者修改,谢谢。
楼主故作自谦的八股客套话实在让人听着难受。我是不回贴都不行了。
01.为什么要在一个团队中开展软件测试工作?
拆析: 此问就有失水准,试问哪个测试不是在团队中做的?哪有无开发的测试?如果作者想问“软件为什么需要测试”,那就跟问程序员“什么叫软件”一样,实在是一个无聊而又外延极广的话题。
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
拆析: 这个话题稍微实际一点,但研究下来,实在是一个空泛的问题。作者恐怕自己都不知道软件测试过程从软件生命周期中何时开始,又何时结束,否则不会又问出第三道题来。
03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
拆析:建议作者试卷的title改为《软件质量保证工程师的笔试试题》
04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
拆析: 这个问题不适合笔试,适合面试时发问,后续可根据面试者回答的答案,再做深入性发问。在笔试中,无疑又是一道假大空的问题。
05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
拆析:这种问题又是放了一个卫星。软件测试类型按什么划分?按周期可从单元测试到验收测试,按测试技术又有黑盒测试和白盒测试,按被测软件运行状态又有静态分析和动态检查。。。。。。作者可谓想一道题将天下所有的测试概念一网打尽,真叫应试者犯难啊。
06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
拆析:犯了一个基本的错误:黑盒测试和白盒测试属测试技术范畴,即测试方法,可应用于不同的具体测试中;单元测试。。。验收测试属测试策略问题,即在软件开发的生命周期中的相应测试点。都不是一个划分范畴的概念拿出来有什么可比较的?
本来还想再写下去,看了这试题,懒得动笔了。
笔试题目考基本功,面试考应变发挥,我看到的却恰恰相反。通篇看过你出的笔试题目,一道可度量的技术题都没有,莫非楼主早已只研究测试管理,不屑于写test case了么?
哈哈
别怪我拍砖太狠,楼主发个帖子说着是抛砖引玉,但字里行间却连连声称是为测试人员做指导,为软件行业做贡献,摆出一副老者的姿态指指点点,这也太虚伪了吧,论坛是大家热烈讨论,拍砖的场所,不是谁显摆自己资历,教育他人的地方。
这样做,不知楼主是瞧着测试业里没人,还是真的以为自己登峰造极了。另外,这些面试题题目本身就犯基本概念错误,不知是考应试者,还是楼主自己也想知道答案。
哈哈
A,非常感谢你,我的确是不知道这些问题的答案,不如你把这份题重新整理一下,然后附上答案,帮助我们这些初学者提高水平,如何?
笔试的最大失败之处:一百个笔试者有一百个答案,一百个考官能给出一百个不同的分数。
这份题不用整理,直接烧掉了。
楼主,你认为你问的问题会有标准答案吗?这份题目与其说是考察笔试者的能力,不如说是考察笔试者的认知和你自己的认知一致的程度。
网友B的发言:
A,你可以给出一份你自己的正确答案给大家参考,相信大部分也是对的,写个参考答案,帮助帮助大家吗。不要老是说斑竹这里不好那里不好,斑竹能写出这份题来,已经是对大家很大的帮助了,你的板砖不要拍的这么狠:)
网友C的发言:
从A的述说中,我赞同其关于笔试题的观点:笔试不能一百个笔试者有一百个答案,一百个考官能给出一百个不同的分数,如果是这样的题应该放在面试的时候问,不知楼主是否同意这样的说法?
不过话说回来,如果应聘者能够用笔应对这些问题,也是一件好事……不过A所说的哪些题如出现在笔试题中,并不合适。如果应聘者看到这样的题,会觉得出题者(公司)急需测试人员,更会无端猜测公司现有测试团队的技能水平……
其实我想大家不需要为是否适合笔试争论了,说实话我也不是很喜欢笔试,因为笔试通常会给应聘者过大的压力。对于 A 说的“考察笔试者的认知和你自己的认知一致的程度”,我想对于面试或者笔试,难道我们都是为了知道应聘者的观点是与我们不同的吗?这份试题我个人觉得更侧重于看应聘者是否真的对问题有自己的观点和思考,是否真的在实际工作中从事过这些工作并进行了思考。如果应聘者对于某项工作有更好的方法,我们也可以考虑采用啊。
说实话,我们不能说面试官就一定是高手,一定可以评判应聘者的答案是否正确。但是能够作为面试官,至少在某方面是有所擅长的,可以在某个方面去观察和评价应聘者的能力以及素质、态度是否符合公司职位的需要——这也是为什么通常面试都会安排几位不同的面试官。我还真想不出有哪个公司的面试官是以应聘者与自己的观点完全相驳来确定聘用的。
另外,从A的回帖中可以看出也是一位具有一定水平的测试工程师,不知道是否真的可以整理出一份自己认为比较好的试题一起让大家交流呢?
总有人爱为自己的错误找出各种各样的冠冕堂皇的理由。哈哈
B,C诸位看官,可以说从你们的骨子里就认为测试是个技术含量低的事情,测试水平高低的衡量标准就是玩弄那些玄虚的概念和理论的熟练程度。
测试和所有的工作一样,都是不可能脱离实际的工作环境,从被测软件系统到中间件,操作系统平台甚至程序设计,编译原理,哪一样不可作为笔试的素材?
在unix系统下程序测试,至少要懂unix常用命令,shell编程吧
做性能测试,至少要懂系统配置,软件构架,甚至程序设计原理,编译原理,否则内存溢出,程序启动缓慢都不知道怎么回事
做带界面的系统测试至少要知道测试案例设计方法,一些脚本的运行原理,检查点的截取方法吧
另外,给测试人员一个系统,考察他何设计一个测试工具也不过分吧。
你出这样的题目来评判测试人员的水平,简直就是在蔑视软件测试的技术含量(当然现在目前大多测试人员都水平不高,但并不意味着这个工作就是水平不高)
幸亏软件测试的前途没有掌握在你们手中,否则又成了三个代表,放之四海皆准,却处处不通。
你们几个一定都没做过一年以上的开发,或者说可能干脆都没做过开发。看来将来软件测试人员的水平提高需要软件开发人员来帮助了,应该让他们来做软件测试。