先说一下自己的个人情况,普通二本计算机专业毕业,懂python,会写脚本,会selenium,会性能,然而离职后到今天都没有收到一份offer!一直在待业中,从离职第一天就开始准备简历,开始投放,开始只是投了一些官网已久的岗位,并没有收到面试邀请,得到的都是不匹配的反馈,一度怀疑是不是简历写的不好,后来大批量投递简历,确实是接到了十几个面试邀请,但是次次都碰壁,一次次的怀疑自己,年纪大了真的找不到工作了吗?
最近换了个公司,从二月中旬开始,面到现在,面了有快二十家公司。我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪个知识点今天又问了等等。三月初的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。
投简历、约面试环节
1.在哪些网站投?
拉勾网、BOSS直聘、猎聘网。
2.是否该海投?
投简历分为两个情况。
1)没有社招面试经验:建议采取海投的方式,只要职位要求跟自己比较匹配都可以投,累计面试经验。这个环节可以把投简历的网站增加两家:智联和无忧。
2)自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价可以去看准网、百度、知乎等查询。
3.一天约几家面试合适?
最理想的情况为2家面试,上午一般在10点左右,下午一般在2点左右。建议把理想的公司放下午,因为下午的时间比较充足,可以让公司更充分的了解你。我开始面的时候,每次都是上午面的不好,下午面的不错。
4.投简历经常没下文?
我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是行内人,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从牛逼的公司/学校出来,可能会碰到和我一样的情况,应对的办法就是多投。
5.是否该裸辞?
我一开始是边上班边投,然后利用调休时间,或者请假去面试。后来,面试机会越来越多,请假太频繁了,自己都不好意思了,并且自己也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个原因是,在面试过程中你会发现,有的公司要人要的紧,如果你的辞职流程过长可能会导致你错过这个公司。
6.注意事项
1)面试前一天把路线和时间算好,最好别迟到。
2)背个书包,带好简历、充电宝、纸巾、雨伞。
面试环节
1)让你自我介绍
2)问软件测试基础知识
3)问项目
4)情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。
5)你有什么想问面试官的
面试十几次感想
1、自我介绍
简历中有的信息就别重复闲扯啦,简单的由近到远介绍公司经历,然后介绍项目,突出项目中用到的技术点,你的职责,你的业绩,引导面试官去提问你熟练掌握的技能。
2、不要给自己挖坑
不要在面试中扯出一些你不熟悉的技能,面试官听到后都会跟着追问你。
3、减少沉默的尴尬
了解问题后,快速想思路,想不到就换种方式回答,或者回答一个类似技能点的答案。
不然一直没想出来,沉默了半天,不仅会造成气氛尴尬,还会增加你的紧张,后边脑子就更不好使啦。
4、分析面试官话语中想表达的想法
经常 “嗯嗯, 可以。” – 鉴定安全
短暂沉默,对你的回答不做评价。– 没戏了
5、自动化测试的重要性
不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试的相关经验?”
那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,作为过来人,给所有测试员一些忠告:一名测试员,你真的不该只会点点点,随着体系的改变,对于现在的测试人员来说,不是自动化或者代码有多重要,而是懂自动化,懂代码,能够理解系统的实现,已经变成了必备技能。
从测试小白到进阶测试大神,你需要这些
一、测试工具使用
首先是测试工具的使用,比如说我要去进行web自动化是不是我要去进行自动化测试环境搭建,环境工具。比如说去安装Python安装,这些环境安装。
至于AppUI自动化,除了上面的一些技能还要会比如说adb的命令,app的环境,app的压力测试之类的。
接口测试其实也是一种功能测试,但是它并不等于功能测试,因为对于接口测试的话也分为1.接口功能测试(需要借助工具进行测试);2.接口压力测试;3.接口安全性测试。而且接口的功能测试是需要借助工具来完成,工具的话就有比如:Postman、Jmeter;抓包的工具fiddler等。
二、Python编程语言
编程语言的能力会决定你测试技术的深度,我当时学的是Python语言,了解编程的都知道Python对新人比较友好,相比其他编程语言来说会比较简单。
在网上找了很多的学习资料和学习视频,但是学起来就会遇到很多问题,没有人能帮我解答,还有很多编程的相关知识,也不太懂,自己一个人学起来很费劲的。容易从入门到放弃。
所以也是到处去找那种软件测试的学习社区,有幸遇到了一位测试行业的技术大佬,进到了一个很不错的学习交流群内,里面有很多人都和我一样想要提升,所以都在一起学习,有什么问题都会在群里相互讨论、技术交流,这也极大的提高了学习效率。
Python是软件测试进阶的第一步,我们需要掌握Python编程语法,具有一定的编码能力,为基础自动化测试做准备,其次还要掌握Python在自动化中的应用、掌握代码的函数封装、类封装的技能。
三、测试框架
我们还要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。
比如说做WebUI自动化的话,我要懂Selenium+python;做AppUI自动化的话,我要懂appium+python。
如果是进行接口测试的话肯定也是需要去做一个接口的框架,比如:requests。
测试框架开发
一般一个框架的诞生过程会经过三个阶段:
- 学会使用
大致了解框架的使用,可以去看框架的官方文档,一般里面都有详细的介绍,安装之后便可以开始尝试直接拿它来做项目。
- 阅读源码
想要提升自己的能力、达到进阶的效果,当然不能只局限于框架的使用层面上。需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查
- 自研框架
自研框架的要求就比较高,一般都是企业对性能有极高的要求,所有的开源或商业的框架都无法满足公司需求才会走上自研的道路。我们可以尝试分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。
根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。
如果说你在自动化测试工程师阶段还想往性能测试方面去进行发展,要求就会更多了,其实性能也是一种自动化。所以第一个你也必须要掌握一门编程语言,第二个语言脚本,第三个指标,第四个调优。
作为一个过来人,对学习过程中的困难深有体会。
如果你也在往自动化测试开发方向发展,在适当的年龄,选择适当的岗位,将自己的优势都发挥出来!
作为一名自动化软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。
2023软件测试面试高频真题分享
今天跟大家分享这份测试工程师全套面试攻略包含了软件测试基础 、MySQL基础、Liunx、web测试、接口测试、App测试、Python、selenium、管理工具、性能测试、LordRunner、计算机网络、组成原理、数据结构与算法、ab测试等。这些都是我在各个大厂总结出来的面试真题,很多朋友通过我的分享的这份PDF拿下了众多offer,今天在这里分享给大家!
一、软件测试面试题
- 什么是软件测试?软件测试的目的与原则?
- 问:软件生存周期及其模型是什么?
- 什么是软件质量?
- 自动化测试脚本开发的主要步骤:
- 目前主要的测试用例设计方法是什么?
- 常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用
- 测试的策略有哪些?
- 单元测试的策略有哪些?
- 正交表测试用例设计方法的特点是什么?
- 软件的安全性应从哪几个方面去测试?
- 需求测试的注意事项有哪些?
- 问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。
- 问:给你一个网站,你如何测试?
- 问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?
- 软件的安全性应从哪几个方面 去测试?
- 软件质量保证体系是什么 国家标准中与质量保证管理相关的几个标准是什么? ? 他们的编号和全称是什么? ?
- 测试人员在软件开发过程中的任务是什么?
- 在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
- 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
- 什么是系统瓶颈?
- 详细的描述一个测试活动完整的过程。
- 软件测试项目从什么时候开始?为什么?
- 测试结束的标准是什么?
- 什么是兼容型测试?兼容性测试侧重哪些方面?
- 软件测试项目从什么时候开始?为什么?
......
二、MySQL面试题
- 什么是SQL?
- 什么是MySQL?
- 什么是数据库?
- 什么三范式?
- SQL的select语句完整的执行顺序?
- 写出表的增删改查SQL语法?
- 事务的特性?
- 数据库的优化?
- SQL注入是如何产生的,如何防止?
- MySQL存储引擎MyISAM与InnoDB区别?
- 索引算法有哪些?
- 索引设计的原则?
- 创建索引时需要注意什么?
- MySQL中InnoDB引擎的行锁是怎么实现的?
- 什么是存储过程?有哪些优缺点?
- 什么是触发器?触发器的使用场景有哪些?
......
三、Liunx
- 什么是Linux
- 什么是 Linux 内核?
- Linux 的体系结构?
- 什么是root帐户?
- 什么是LILO?
- Linux 的目录结构是怎样的?
- 三种查看server.log的文件内容?
- 编辑start.sh文件,查看文件前10行内容和后10行内容?
- 你之前在公司使用linux命令做什么?
- linux 下安装软件有那些方式?
- 在之前使用linux过程中,使用什么工具远程连接?
- vi编辑器如何使用?
- 常用的linux命令有哪些?
- 如何使用linux命令查看后台日志?
- 如何使用tar命令压缩和解压gz包?
- 文件权限改为所有者读、所在的组写,其它用户执行,如何写命令?
......
四、web测试
- Selenium是否支持桌面应用软件的自动化测试?
- Selenium是否支持用例的执行的引擎?
- Seleinum是否有读取excel文件的库?
- Selenium有哪些组件?
- Selenium有什么限制或者缺陷?
- 在selenium中,有哪些不同定位元素方法?
- 什么是imlicitlyWait(隐式等待)?
- 什么是expliciteWait(显式等待)?
- 什么是线程等待(硬式等待)?
- 什么是pollingEvery?
- 你写的测试脚本能在不同浏览器上运行吗,支持跨浏览器平台吗?
- 什么是POM,为什么要使用它?
- 在你做自动化过程中,遇到了什么问题吗?举例下?
- 举例一下你遇到过那些异常,在selenium自动化测试过程中?
- 如何处理alert弹窗?
- 在selenium中如何处理多窗口?
......
五、App测试
- 什么是Android四大组件?
- 当点击APP图标启动程序,说明将要发生那些过程?
- APP测试的内容主要包括哪些,如何开展?
- Android的兼容性测试都考虑哪些内容?
- 针对App的安装功能,写出测试点?
- 常用的ADB命令?
- 在查看logcat命令日志时候怎么内容保存到本地文件?
- App崩溃(闪退),可能是什么原因导致的?
- 如何测试监测ap的内存使用、CPU 消耗、流量使用情况?
- 弱网测试怎么测
- "//*[contains(@text,"登录”)]"是什么意思
- Appium都有哪些启动方式
......
六、性能测试
- 什么是性能测试?
- 什么是负载测试?
- 性能测试包含的方法有哪些(至少列举5种)?
- 描述性能测试的步骤?
- 什么时候开始执行性能测试?
- 软件性能测试的应用领域有哪些(至少列出三种)?
- 请描述SEI软件性能测试过程?
- 请描述RBI软件性能测试过程?
- 请描述LR性能测试过程?
- 对于采用敏捷流程开发的项目,性能测试该如何开展?
- 对于Web系统的响应时间,行业中被广泛认可的用户可以接受的时间是多少秒?
......
七、loadrunner面试题
- 什么是负载测试?什么是性能测试?
- LoadRunner由哪些部件组成?
- 什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
- 什么是场景?场景的重要性有哪些?如何设置场景?
- 为什么要创建参数?如何创建参数?
- 什么是关联?请解释一下自动关联和手动关联的不同
- 你如何找出哪里需要关联?请给一些你所在项目的实例。
- 哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)
- 你如何调试LoadRunner脚本?
- 什么是逐步递增?你如何来设置?
- 以线程方式运行的虚拟用户有哪些优点?
......
八、计算机与网络
- 请简述DNS、活动目录、域的概念。
- 10M兆宽带是什么意思?理论下载速度是多少?3.什么是IP地址?
- 0SI七层网络模型的划分?
- TCP和UDP有什么不同?
- HTTP属于哪一层的协议?
- HTTP和HTTPS的区别?
- cookies和session的区别?
- HTTP的get请求和post请求的区别?
- HTTP1.0和HTTP1.1有什么区别
- TCP的连接建立过程,以及断开过程?12.客户端使用DHCP获取IP的过程?
- 写出某个网段的网络地址和广播地址?14.什么是***都有什么类型?
- B/S和C/S的区别
- TCP/UDP有哪些区别?
- IsO模型? HUB、tch、Router 是IsO的第几层设备?
- 线程和进程的区
......
九、逻辑面试题
- 烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
- 你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,-个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
- 一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
- 12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球 呢? (注意 此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
- 在一.天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?
......
十、人力资源问题
- 你的测试职业发展是什么?你自认为做测试的优势在哪里?
- 你找工作时,最重要的考虑因素为何?
- 为什么我们应该录取你?
- 请谈谈你个人的最大特色。
- 一个测试工程师应具备那些素质和技能?
- 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量7.为什么选择测试这行?
- 为什么值得他们公司雇用?
- 如果我雇用你,你能给部门带来什么贡献?10.如何从工作中看出你是个自动自觉的人
- 你的工作通常能在时限内完成吗. (我想问一下就是她问这个问题的动机是什么)
- 通常你对于别人批评你会有什么样的反应
- 如果明知这样做不对,你还会依主管的指过去做吗?
- 你在五年内的个人目标和职业目标分别是什么?15.你怎样做出自己的职业选择?
- 离职时候工资多少?
......
以上就是2023春招软件测试工程师面试总结,由于篇幅限制,只选取了一部分面试题,下面是整理的合集。还有更多大厂面试真题合集。
最近断断续续整理了一些软件测试学习资源,主体内容包含:测试文档、测试工具安装包、自动化测试视频教程、性能测试、接口测试、面试技巧、简历模版、全套面试题等知识内容。目的是想了解一下大厂招聘的技术热点,不断提升学习。
文档获取方式:
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点击下方小卡片进群免费获取。