公司介绍:(这些看了问你了说个大概就行)
上海索广映像有限公司是一所中日合资的公司。 公司成立于1995年;
公司位于上海市浦东新区,注册资金1亿美元,现有员工2000人;
公司的主要产品有液晶彩电视、液晶投影机及关键部件、电视节目编辑设备等。
公司的目标是成为索尼映像产品的技术开发及生产核心基地。
自我介绍:...
xx面试流程:
上来直接填写个人信息+给两张笔试题---没有自我介绍、直接让我介绍项目(像这种直接让介绍项目的,意图是考量求职者是否真正有过测试经历以外,面试官更想听到的是什么?)---提问问题
笔试题:(纯问答题,一页两面)
1、数据库查询前五条数据?(熟悉)
limit 0 5
2、测试中发现印象深的bug?(熟悉)
印象最深的bug是刚实习的时候,2021年,当时遇到的是一个输入页码点击翻页的功能,但开发人员当时只做了字符串这个数字的限制,没有设置限制小数点,所以在翻页的时候,无意输入了小数点,然后点击翻页,系统就报错,出现大量的Exception页面。后面开发就去优化修改,把所有的这种小鼠限制做好,只支持输入int整型来做输入页码,翻页功能。
3、来了个风险,让你测试ios系统下,苹果10代到16代,你会怎么办?(陌生)
测试中遇到风险如何处理(突然让你测多个iOS手机):根据需求优先级,摘选重要级好的去测试,再结合市场手机使用,去中间型号手机去测;和领导沟通目前风险,自己的任务,和同事一起策划处理这个任务风险。
4、我们在用postman测试登录,需要权限认证,(比如我后端要知道是哪个用户登录,用到了登录接口,给他权限才能去登陆,并不是任意一个用户都可以登录),你怎么去修改头部信息?(陌生)
F12查看http请求头部和请求体,session,权限author,都已以键值对形式出现,对应修改即可。
5、如何去判断这个bug是前端还是后端的?(新总结、频率高)
首先,观察这个bug是不是界面排版、布局错误,有问题就是前端bug,没问题。
然后,再去数据库查看该bug对应功能的数据有没有落库?落库了,则检查其数据的一致性、正确性。没有落库,则借助抓包来确定是前端后端问题。
最后,通过抓包抓取其请求数据及响应数据。
先检查请求数据(比如请求地址、请求参数等是否正确,是否缺失),对比接口文档,有问题、或者请求数据不正确、缺失,则是前端的bug,截图发给前端处理。
如果请求数据正确,无缺失,则进一步检查响应的结果,如果响应内容不正确或者缺失则是后端的bug,后端的问题,则需要进入后端服务器,使用tail命令获取异常日志内容,发给后端处理。
6、你使用Fiddler抓包的时候需要配置什么?(新问题,自我感觉答的不全)
7、你做了哪些项目?负责做了哪些模块,做了那些东西?(回答方向陌生)
职位描述:
- 依据需求文档设计测试文档,编写测试用例
- 依据测试用例,执行测试,反馈并跟踪产品缺陷
- 准确,详实的描述bug产生的过程,bug的现象,准确的定位并跟踪问题,推动问题及时的合理解决
- 掌握web测试或app测试基本方法
- 会使用主流性能测试工具,Jmeter、postman、fiddler
- 有较强的逻辑分析能力和学习能力,对新项目可快速理解并上手
- 沟通交流能力佳,工作认真负责,有耐心,能胜任重复工作,承受一定的工作压力
简历面(不熟的摘记)
1、linux怎么查看日志,如何查看实时日志?
head/tail 查看日志
tail -f 查看实时的日志
2、linux查看cpu使用率、查看内存状态、查看磁盘使用情况?
top 查看cpu使用率
free 查看内存状态
df 查看磁盘使用情况
3、Mysql查看日志?
Show variables like‘%log’
3、MySQL查看错误日志文件?
Show variables like‘log_error’
4、什么是RPA构建工具?
在软件测试这块,rap可以对大量重复性,规则性的工作流程自动处理,基本不用编码,简化测试流程,提高测试效率。
5、参考原型做 UI 界面测试?
软件测试中测试UI界面检查,主要测试UI的合适性(用户界面是否与软件的功能相融洽)、容易理解、防错处理、合理色彩、最少步骤最高效率。
6、你会编写哪些shell脚本?
会使用while语句创建一个Shell程序,其功能为计算并显示1+2+3+…+n的值;
首次用mkdir创建一个名为test的目录,然后cd进入到这个目录下;
使用touch创建一个a.sh的新文件,vim a.sh 敲击i键进入插入模式;
声明变量n、读取n,声明sum、loop的初始值为0;
使用while...do...done语句,让loop每次循环自增,让sum等于自增后的loop+上一次循环的sum;
输出$sum,并保存退出(保存退出:敲击esc, 然后输入 :wq ,回车退出);
终端bash a.sh运行这个文件,输入n的值,回车,返回1+2+...+n的值。
Vim 8.sh
Echo “Input N,please”
Read n
sum=0
loop=0
While [ $loop -ne $n ]
Do
Let loop=$loop+1
Let sum=sum+loop
Done
Echo $sum
终端运行输入命令:
Bash 8.sh 或者 sh 8.sh
$a -ne $b:比较两个数是否不相等
技术面
- 依据需求文档设计测试用例,编写测试用例
- 编写测试用例的流程?
第一,先要熟悉并分析项目的业务需求,从而了解产品的业务和功能点;
第二,根据需求里面的功能模块进行细化分析,使用用例设计方法,如等价类,边界值,等,去设计测试用例。用特定的模板编写好。
- 每个功能模块写完测试用例后,可以从业务流程出发,考虑是否覆盖了所有用例,如果没就补充。
- 再补充ui界面测试,兼容测试,性能测试,安全性测试等待。
- 最后提交用例,评审。
- 你如何设计测试用例?
例如测试微信朋友圈点赞。
从UI界面考虑,看点赞按钮的位置,点赞人名字的位置显示,点赞红星图标,点赞个数。
从功能测试考虑,看点赞别人朋友圈,点赞成功,取消点赞,点赞是否看到共同好友,点赞的排序。
从弱网测试考虑,考虑打电话的时候点赞,断网的时候点赞,有没有友好提示。
从性能测试考虑,看点赞到显示点赞的响应时间,同时点赞,多次点赞。
- 没有需求文档或需求文档不完整的情况下如何测试?
尽量的去用其他的文档,比如开发的一些设计文档---概要设计、功能设计等。
如果开发连这些文档都没有,就去网上查询同类产品的一些规格说明书,参考一下。
- 测试用例都有哪些模块?
项目名称、项目版本、用例编号、用例名称、测试环境、优先级、重要级、测试步骤、测试数据、预期结果、实际结果、前置条件,创建人、执行人、执行时间这些。
(三)准确,详实描述bug产生的过程,bug的现象,准确定位并跟踪问题,推动问题及合理的解决。
1、如何准确完整的描述这个bug?
发现缺陷的版本、问题出现的环境、错误重现的步骤,客观、简短、准确的描述出来;预期行为的描述、错误行为的描述、
2、如何识别bug?/你如何认为这是一个bug的?
1.通过技术文档识别,如需求规格说明书、产品设计和分析文档等。
2.根据行业标准规范或同类型的软件识别缺陷。
3.与客户或开发产品沟通识别。
- 如何准确定位bug?
1.初步定位:先去数据库查看该功能的数据有没有落库?
如果落库了,则检查其数据的一致性、正确性。
如果没有落库,则借助抓包来明确是前段还是后端的问题
2.通过抓包抓取其请求数据及响应数据,先检查请求数据(比如请求地址、请求参数等是否正确,是否缺失)
如果请求数据不正确或者缺失,则是前端的bug,截图发给前端处理
如果请求数据正确,无缺失,则进一步检查响应的结果
如果响应内容不正确或者缺失则是后端的bug,
- 后端的问题,则需要进入后端服务器,使用tail命令获取异常日志内容,发给后端处理。
3、bug出现的现象?
(四)掌握wed端测试
1、Web测试和APP测试区别?
从功能方面,都差不多;
然后网络方面的话就是,web测试不需要什么网络环境,但app的话是需要用不同网络,然后还有这个弱网环境,还有没网络这个状态、还有一个中断测试。
兼容测试的话,就是,web项目只需要考虑不同浏览器的一个兼容性;app的话是需要考虑不同的手机型号、屏幕大小,操作系统以及版本,然后还有他的升级、卸载、安装,web的话是没有的。
- Web兼容性如何测试?
分别使用各种主流浏览器测试,例如IE、Chrome、Firefox、Safari、Opera、Edge,校验页面进程和展示效果,看页面排版是否有错位、样式有没有乱,页面时的功能有没有失效等。
(五)使用主流测试工具,Jmeter,Fiddler
1、你对Fiddler有什么了解?
- Fiddler是位于客户端和服务器之间的HTTP代理;
- 是目前常用的HTTP抓包工具;
- 可以进行web调试:接口测试、web性能分析、压力测试、弱网断网测试、判断前后端bug;
- Fiddler可以伪造客户端请求和服务器响应,可以解密HTTP的web会话。
2、测试过程中,你用fiddler做过什么?
测试有bug的时候,通过fiddler抓包,分析bug是客户端还是服务端的问题;
做接口测试的时候,可以获取接口的入参和返回值,包括接口之间的数据关联;
对客户端做过弱网测试,修改fiddler的网络模拟参数,模拟不同的网络速度;还有对客户端测试特殊场景时,用它来设置响应断点,修改服务端响应的数据,测试客户端对应的逻辑处理,例如修改服务端返回的的状态为500。
- Jmeter工具介绍?
jmeter用于服务端系统的性能测试。主要功能有线程组测试,一个线程代表一个用户,一个线程组代表多个用户执行多个相同的操作,
4、Jmeter中常用的断言是什么?
1.JSON断言;通过JSON路径表达式,判断接口返回的JSON字符串中某些字段是否符合预期。
2.响应断言;判断响应头、响应体中是否包含预期的字符串。
- 怎么实现性能测试、怎么实现接口测试?
就是用Jmeter录制脚本,然后跑一下脚本,看能否满足预期的指标值,满足的话就写个测试报告,不能满足就把问题移给开发人员。
性能测试包括性能工具场景的设计、服务器的监控、性能分析调优。
- Jmeter和postman的区别?
它们的用例组织方式不一样。Jmeter的用例组织比较扁平化,它没有测试集合、测试空间的概念,直接创建Test Plan;而postman比较轻量级,主要针对单个http请求;
他们支持的接口类型和测试类型不一样。Jmeter相对来说比较强大,它可以支持Rest、Soap,不支持的话可以做扩展,也可以做接口测试、性能测试;而postman只支持Rest接口,基本上做功能测试。
非技术面
1、如果你发现了一个bug,但开发人员不认为是bug,你怎么办?
我要先知道开发人员为什么会认为它不是bug的原因,是因为他的开发环境和我的不一致,还是开发理解的需求和我的不一样。那找到原因,再对症下药。
然后还可以看下bug的级别。如果级别较高,就需要跟开发详细说一下这个bug,去找产品或领导沟通;如果级别低,可以先让开发改级别高的,后面有时间,我再集中说明一下这些级别低的bug。
2、如何分析一个bug是前端还是后端的?
通过抓包工具抓包,然后查看请求报文,如果请求报文对比接口文档有问题,那么就是前端的问题。 如果请求报文没有问题,那就看返回报文,返回的数据不对,那就是后端开发的问题。
4、get和post的区别是什么?
get和post都可以向服务器提交数据
区别在于:
- 传送参数方式不同:get通过地址栏的方式传参,post通过表单报文传参。post比get安全
- 传参的长度不同:get的参数有长度限制,post没有。
- 一般情况下,get是获取数据,比如查询;post提交数据,比如:增,删,改。
1、HTTP协议和HTTPS协议有什么区别?
http协议是超文本你传输协议,信息是明文传输,https协议是由SSL+HTTP协议构建的加密传输协议,他们使用的端口不一样,http:80,https:443。
- 说一下你之前做过的一个项目?
慧利生活服务平台系统为市民建立一个便捷、安全、高效的社区生活服务。项目的技术架构设计,后端是基于java,数据库使用的是mysql,前端用的是vue。
项目的主要模块包含了:社区服务(方便市民日常办事)、物业服务(有物业缴费,智慧充电)、养老服务(为社区老年人助餐、助医、助行等)。
我当时负责慧利项目功能业务测试,接口测试。从各个模块服务中抽离出关键的业务功能,管理用户,每次版本更新迭代,相关接口和功能测试做完之后,编写用例,进行版本迭代回归测试。
(13)说一下项目交付过程中遇到什么问题?
1.由于之前部署环境的流程不规范,开发经常在测试环境部署,在实际项目测试中,很多测试场景又得重新测试一遍,影响测试效率;
2.平时没有做用例评审,大家没有维护测试用例,项目交付的时候需要交付测试用例;
3.不能及时交付测试用例,有些测试人员直接复制之前的用例,导致用例质量差,没有形成测试体系。
(14)那你有去推进和规范这些流程,解决这些问题吗?
有的,关于测试环境部署的问题,开发只需要将开发环境测试好,统一由指定的人员部署环境,每次部署需要@项目组人员。
关于不能及时交付用例、用例质量差的问题,在测试组,我提出测试用例需要评审,每周跟大家同步进行了哪些模块的测试,更新了多少用例,涉及到多少bug,用例评审后减少了遗漏的测试点,提高测试覆盖率,也能及时交付测试用例。
接口测试
3、你在接口测试中是怎么校验结果是否正确?
有两种需要校验:
第一种:状态码校验,验证返回的状态码为200。
第二种:业务校验:
- 错误码为0
- 当接口响应报文较短,较固定的情况下,校验是否完全一致。
- 当接口响应报文较长,较多的情况下,校验最核心的业务信息。
- 查询数据库校验。
10、你平常做接口测试的过程中发现过哪些bug?
接口没实现,没有按接口文档返回结果,输入异常值,接口报错,没有返回合理的错误提示。 如:购买商品接口,其中有价格参数,我去测试时把商品的价格改成-3,购买成功。
9、接口测试中,依赖登录状态的接口 如何测试?
在请求时需要添加上cookieid和sessionid。通过Jmeter测试的话,需要增加Cookie管理器组件。
8、没有接口文档,如果做接口测试?
可以使用Fiddler抓包工具抓取接口数据之后整理成接口文档,如果有不清楚的字段,集中找开发验证,然后在进行接口测试。
或者用Jmeter代理录制的功能,把接口请求录制下来形成接口文档,然后再逐一的进行接口测试。
7、请问你们公司是如何做接口测试的?(包括:接口测试流程,方案以及用例设计)
1.获取接口文档,熟悉接口的业务流程,包括接口地址,入参,出参,错误码等。
2.编写接口测试用例并评审;
3.使用接口测试工具执行接口测试。 重要考虑接口关联,接口参数加密,是否动态参数,是否需要带请求头。
4.实现持续集成并输出接口测试报告电子邮件,有Bug提bug。
领取面试题答案,以及全国各地真实面试题题库请扫下方码,有上万人刷过我总结收集的面试真题题库!!!!!
vx ---> xiaobei_upup 扫码领取备注:CSDN