场景:
对于这么常见的问题和答案,大家发现了什么问题没有?
我一般遇到这种答案的时候,会启示候选人这个答案有什么问题吗?当然,有些同学在这个时候,会有点懵。
我继而会启发,那目前的经验和后续希望的方向,有哪些区别?同学们会回答功能测试主要是日常工作,自动化测试更能体现技术水平,也是很多公司喜欢的定位。
其实,候选人的这个答案,最大的问题在从不同的维度来划分了测试种类。
和功能测试同一维度,根据测试的软件内容和特性,可以分为功能测试、性能测试、安全测试、易用性测试、部署测试等等;
而自动化测试却是从不同的维度,根据测试主题分为了手工测试和自动化测试,也就是说功能测试本身就会有手工的手段和自动化的手段。我们可以通过手工测试来发现很多问题,也可以通过自动化测试提升测试效率,来批量定期执行大量的稳定的测试场景,来进行快速回归。
手工测试仍然是发现Bug最有效的手段,尤其是针对新功能点的测试,我们往往是等待手工测试通过后,版本稳定了,再进行自动化脚本的编写和后期的维护。
但是很多同学在谈到功能测试的时候,却习惯的理解成就是手工的。而本身自动化测试也是分层的,如下图,希望能更好的帮助大家理解自动化测试的成本投入和收益分析。
其实不同的候选人根据背景不同,应该有不同的答案,比如有些同学计划后期从事性能测试,那么方向肯定可以往性能测试上说;有些同学计划后期从事安全测试,那么肯定可以往安全测试方面上提;也有部分同学计划做技术管理甚至团队管理,那么答案肯定需要往管理方向上,并且需要体现已经在管理方向上的储备;
针对这个手工功能测试背景的答复,笔者认为比较满意的答复可以这样:我已经有几年的手工功能测试经验…,但我注意到产品的快速迭代对测试人员自动化能力的要求,我们需要将更多的测试用例自动化,通过无人值守的自动化测试,来提升测试效率,所以我希望能提升自己的自动化测试的能力,将宝贵的测试资源更多的投入到新功能及bug验证上去,从而和开发、产品一起更有效的提升产品质量。
这样一个答案,既说出了自己的丰富的测试经验,也指出了自动化测试初衷和价值,体现出候选人的好学,对自动化测试有理解有准备,另外表达出了自己和产品、开发凝聚,注重TeamWork的意愿,说不定你对面的面试官就是开发leader呢?
结束语:
相信这个场景,在实际的面试过程中,很多同学都会遇到。作为软件测试工程师,对面试问题的严谨,注意提升自己良好的沟通和表达能力,在面试过程中体现出扎实的软件测试基础知识,足够的耐心、细心、信心、责任心,善于自我总结、自我督促和不断学习的能力,相信大家都能在面试中有出色的表现,找到心仪的工作。