疫情在家大概7家公司面试吧,面试上了一家,因为不能到岗所以就没有后文,还有一家要去公司复试算50%,今天为何要写这篇文章呢?我意外投递了一家高级测试工程师,人家还把简历留下来了,我笔试的时候感觉时间好快,30分钟四个题,一个基础题、一个sql多表链接、一个性能、一个软件安全问题。随后便有电话过来面试,面试官是挺专业的,我也很心虚当他一步一步逼问我问题我开始没答出来我便慌了。后来他也讲到了为什么把我简历留下来的原因,我也阐述一下自己投简历的初衷。其实我在心底觉得我一定过不了,已经泄气了,在面试即将结束后我问她我在面试中有什么不足,其实他算安慰我说:我不太自信,希望以后你能更自信。是的!我确实在面试中感觉自己不自信,我也相信你们和我工作年限一样的时候也会这样。我突然相当了桑德伯格在《向前一步》中写到当感觉不到自信时,我告诉你一个窍门,就是要假装自信,有时候这招很管用。说不定你就面试上了。说了这么多题外话,终于上干货了。
这是我简历所写的专业技能,其实工作年限有说长了 这里是我失业自述
以下是我面试中遇到的题目
1.接口测试的意义
更早的发现问题、缩短产品周期、发现更底层的问题
2.接口测试中get与post的区别在哪
原理区别:一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。
请求方式的区别:post请求会把请求数据放置在HTTP请求包体中,get请求会暴露数据在地址栏中
缓存:get能被缓存,post不能被缓存
传输数据的大小:get有数据限制而post没有
安全性:POST的安全性比GET的高。
3.软件测试流程
需求分析,需求评审(RPD、产品原型图)
制定测试计划、评审测试计划、优化测试计划(产品项目计划,人员安排、任务安排)
制定测试方案(测试需求点分析,测试模块划分,流程图分析,制定测试规程)
编写测试用例、评审测试用例、优化测试用用例(功能测试用例、脚本测试用例)
执行测试用例、提交缺陷信息、编写阶段性测试报告(缺陷记录、缺陷管理流程)
进行回归测试(跟踪bug修改情况,执行回归测试用例集、进行探索性测试、编写回归测试测试报告)
测试执行阶段结束根据缺陷记录、阶段性报告编写测试总结报告
进行验收测试,出验收测试报告(测试验收、测试评估与建议)
测试归档(归类、存档测试过程中涉及的文档)
产品上线后跟踪与维护(收集用户反馈问题)
4.如何保证黑盒测试的覆盖率
- 测试需求的获取
显式需求(1)原始需求说明书(2)产品规格书(3)软件需求文档(4)有无继承性文档(5)经验库(6)通用的协议规范
隐式需求:用户的主观感受,市场的主流观点,专业人士的评价分析
2.需求的分析、产生测试文档
- 在测试方法方面,可做如下注意:
其一,分析出口入口。从入口分析,将可能出现的环境,条件,操作等内容分类组合,然后根据各位测试达人的方法进行整合,逐一验证。从出口分析,将可能出现的结果进行统计,根据结果的不同追根溯源,再找到不同的操作以及条件等内容,统计成文档,逐一验证。 其二,多种测试手法的学习和使用。大家可能更多的关心测试方法,但是具体操作的手法也是需要注意的。毕竟测试方法比较容易找到,各位达人都很熟悉。如果将每个人不同的测试手法总结出来并在自己的测试实施中加以使用,可能会收到意想不到的成果。
2.在测试流程方面,可作如下注意:
其一,初期要做好需求分析。将需求逐渐细化到小功能点,针对每个功能点进行测试设计。对于完成的测试设计文档,经过项目相关人员的检查评审,做成所需要的初稿。
其二,在测试过程中,根据需求变更和具体测试执行过程中遇到的问题完善测试设计文档。
其三,测试执行结束后,对于出现的问题进行总结。其中包含自己本身发现的问题,也可能会有客户提出的问题。将总结出来的结果融合到测试设计当中去,进一步完善测试设计文档。
对于一次测试,是不可能有覆盖度全面的测试的。需要多次去总结积累,才会使测试越来越全面。
3.在测试流思维方面,可作如下注意:
其一,测试全面不等于全面测试。不同阶段对于软件测试有不同的要求,比如在0.8版本以前,对于不重要的画面问题或是细小的功能问题就不需要关心。但是在验收阶段,这些内容可能更需要注意。
其二,学无止境,只有不断的去学习不断的去思考,才能使自己测试的能力更强,测试对象的全面性也更完整。
5.什么是兼容性测试?兼容性测试侧重在那些方面
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。
6.我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5.在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
7.当开发人员说不是BUG时,你如何应付?
开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
其他的就是说些有关于项目中的一些经验,其实我认为面试还真的考验一个人的随机应变能力。
我认为你还是要搞清楚自己的职业规划,想进入那样的公司,你的优势在那里。对于前两个我很明确,最后这个我得去想一想
持续更新中