?
- ?📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ?留言 📝 如有错误敬请指正!
- 📢交流讨论:欢迎加入我们一起学习!
- 📢资源分享:耗时200+小时精选的「软件测试」资料包
- 📢 软件测试学习教程推荐:火遍全网的《软件测试》教程
?人往高处走水往低处流,十二月将至,“金三银四”招聘季还会远吗?
远观2022年的招聘季,在资本寒冬的映照下,的确萧条了不少,裁员、取消年终奖、末尾淘汰制等热门制度,让很多人陷入了“工作难保,工作难找”的痛苦境地。往年随便一刷招聘APP,数十个面试邀请的情况已然不复存在。现在,连续刷几个小时,可能收到的面试邀请也寥寥无几,只剩下默默等待。
转眼2023年招聘季就要来了,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?如何打败面试官?如何拿下那梦寐以求的offer?
如果你的跳槽意向已经很确定,那么请往下看!
跳槽最重要的一步自然是面试,马上跳槽季,网上出现了各种面试题,一时会让人眼花缭乱,分不清最该看哪个,所以小编耗时一星期为大家做了一些软件测试面试的真题,想跳槽的小伙伴们,请准备好你的小本本!
?
1、问:所做项目的情况,主要做什么类型的测试?
大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。首先,仔细回顾自己做过的项目。然后挑选最有价值的部分,清楚项目的架构,思路从业务、项目环境、流程以及自己担任的角色去回答。
业务:比如学掌门Atstudy是一个以在线直播、视频录播为主要业务的综合性网站,分为管理员,教师,学生三个大模块,同时可以支持web和手机端使用。
项目环境:该系统搭建在Linux服务器上,使用mysql数据库,采用PHP后端语言。
流程:学掌门Atstudy当前版本是多少,项目组有多少开发和测试,然后说软件测试的流程。
自己担任的角色:负责哪些模块的什么测试。
?
2、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
首先,将问题提交到缺陷管理库里面进行备案。
然后,要获取判断的依据和标准:
1)根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
2)如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
3)根据用户的一般使用习惯,来确认是否是缺陷;
4)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
5)合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
最后,等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。
3、问:给你一个网站,你如何测试?
首先,查找需求说明、网站设计等相关文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
设计测试用例:
①功能性测试
可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
提交功能的测试。
多媒体元素是否可以正确加载和显示。
多语言支持是否能够正确显示选择的语言等。
②界面测试
可以包括但不限于以下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但未安装的控件,是否提供自动下载并安装的功能
文字检查
③性能测试
一般从以下两个方面考虑:
压力测试;负载测试;强度测试
④数据库测试
要具体决定是否需要开展。数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面。
⑤安全性测试
基本的登录功能的检查
是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入等
如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
⑥兼容性测试
根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;
操作系统的兼容性;
软件平台的兼容性;
数据库的兼容性
开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
定期评审,对测试进行评估和总结,调整测试的内容。
?
4、问:熟悉数据库吗?平时数据库用的多吗?
熟悉数据库吗?
比较熟,比如DML语句有增删改查:(有序思维说出来)
1 insert into 表名 values(值1,值2,值3,...)
2 delete ?from 表名 where 条件
3 update 表名 set 列名 = 新值
4 select * from 表名
查询语句最长的是 select * from 表名 where 条件 group by 分组列名 having 分组后的条件 order by 列名。
平时数据库用的多吗?(大概测试过程的1/4时间在查数据库)
还行,一般出现问题,遇到bug,就要去查询数据库,初步定为问题。开发会给到我们一个库表设计的excel(数据字典),里面有描述表名和表中的字段,我把交易过程的一些唯一标识,把他作为where条件去查询数据。初步分析后,再把问题暴露给开发。
(比如淘宝支付时,输入支付密码后,已经返回了支付成功的提示信息,然后界面上的订单查询还是待付款,这个时候就要去查询订单表的数据,找到自己刚才做的交易的那一笔订单,去分析一下错误,再暴露给开发)?
?
5、问:linux查看文件用什么命令,查看进程用什么命令?
回答:查看文件内容的命令有 ?more less head tail cat
查看进程:ps -ef | grep 进程号?
查看日志文件常用:less、view
6、问:查看日志常用什么命令,主要查看什么内容?
1)查看日志常用less命令或者view命令。
2)主要查看程序运行的记录,比如支付失败,后台就有报错信息打印到.log日志文件中,就可以通过分析日志信息来初步定为问题。(补充:同时也去查询数据库,分析订单数据,查看支付状态等等)
PS:日志就是.log的文本文件,和.txt一样属于文本文件。vi或者vim编辑器属于记事本软件,一般不会用来查看日志。
?
7、问:软件测试用例设计/测试用例的内容/管理工具?
参考:以场景(故事)为驱动的测试设计,并且针对测试数据的选择上面通常结合等价类划分,因果图,边界值,错误推测。
测试用例的内容:标题、测试环境、测试输入数据、测试步骤、期望结果、测试结果、测试时间、测试人员
管理工具:禅道、QC
?
8、你对测试最大的兴趣在哪里?为什么?
回答这个面试题,没有固定统一的答案,但可能是许多企业都会问到的。提供以下答案参考:
最大的兴趣,感觉这是一个有挑战性的工作;
测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣,
通过自己的工作,能使软件产品越来越完善,从中体会到乐趣。
回答此类问题注意以下几个方面:
1)尽可能的切合招聘企业的技术路线来表达你的兴趣,例如该企业是数据库应用的企业,那么表示你的兴趣在数据库的测试,并且希望通过测试提升自己的数据库掌握能力。
2)表明你做测试的目的是为了提升能力,也是为了更好的做好测试;提升能力不是为了以后转开发或其他的,除非用人企业有这样的安排。
3)不要过多的表达你的兴趣在招聘企业的范畴之外。比如招聘企业是做财务软件的,可是你表现出来的是对游戏软件的兴趣;或招聘是做JAVA开发的,而你的兴趣是在C类语言程序的开发。
?
9、你的测试职业发展是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,按如何做好测试工程师的点要求自己,不断的更新自己改正自己,做好测试任务。
除了上面的常规问题,那还有些面试官会问什么?比如:你认为你在测试过程中遇到了一个比较逻辑性最强的一个bug是什么?这个东西就需要你们去想想,曾经你们在测的时候遇到了一个逻辑性特别强的bug呢?
这个问题问的目的是了解你到底有没有真正的测试过。
还有就是有的面试官会故意的说错一些东西,然后看你的反应,通过这些都能了解你到底会不会,所以想验证一个人到底会不会使用一个工具,不一定非得要考他。
再往深入一点,他会问你有没有性能测试方面的基础?功能测试这方面,实际上我觉得主要考验人的就是逻辑思维能力,还有你的细心程度能力。初级功能测试这一块,面试官着重要看的是你是不是一个真正细心,而且业务逻辑思维能力强的人,如果强是绝对没有问题的。
由于软件测试面试真题比较多,小编就不一一写到文中,除此之外,还有很多经常遇到的面试题,大家可以去文末公众号。
最后我邀请你进入我们的软件测试学习交流群, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路:
?
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
?
?