测试工程师面试总结

根据自己的面试经历和看了其他人的面试总结,整理出一些面试中可能遇到的问题。

http与https区别:

1、证书方面:https 协议需要到 ca 申请证书,目前市面上的免费证书也不少,收费的也都比较贵。
2、传输方式:http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
3、使用端口:http 和 https 使用的端口不一样,前者是 80,后者是 443。
4、连接方式:http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全

post与get区别:

本质上没有区别,都是tcp/ip协议。但请求方式不同,一般使用get获取数据,使用post发送数据。 get数据放在url中,post数据放在body中
(1)传送方式:get通过地址栏传输,post通过报文传输
(2)传送长度:get参数有长度限制(受限于url长度),而post无限制
(3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)
(4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留
(5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式

接口测试流程,request有哪些内容

流程:获取接口文档,依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过。
request内容:
① 封装了各种请求类型,get、post 等;
② 以关键字参数的方式,封装了各种请求参数,params、data、headers、token 等;
③ 封装了响应内容,status_code、json()、cookies、url 等;
④ session 会话对象,可以跨请求

常见的HTTP状态码

1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错
200 :服务器成功返回用户请求的数据
302:临时重定向
401:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403:服务端理解请求但是拒绝执行,一般属于权限不够
404:请求失败,请求所希望得到的资源未被在服务器上发现。一般状态为url错误或者服务器异常
500:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
503:服务器目前无法使用,通常,这个是暂时状态,一段时间会恢

测试的4要素

测试对象、测试目标,测试方法,测试结果

系统测试的策略有哪些

功能测试, 性能测试 ,可靠性测试,负载测试,易用性测试,强度测试, 安全 测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试

你认为做好测试用例工作的关键是什么

需求和设计文档的理解程度,对系统的熟练程度

当一个接口出现异常时,如何分析异常

1.浏览器F12,APP使用抓包工具,查看请求报文和返回报文
2.查看服务器日志

如何定位BUG是前端还是后端的

抓包,根据接口文档查看请求报文,有问题就是前端数据不对;请求报文没问题,查看返回报文,返回的数据不对,就是后端的问题

自动化过程涉及哪些步骤

选择测试工具
定义自动化范围
规划,设计和开发
测试执行
维护

自动化测试的优缺点

优点:
(1)对程序的回归测试更方便,提高测试效率,缩短回归测试时间
(2)可以运行更加繁琐的测试
自动化测试的一个明显好处就是可以在很短的时间内运行更多的测试。
(3)可以执行一些手工测试困难或者不可执行的测试,例如模拟大量用户场景的压力测试
(4)更好的利用资源:将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例
(5)测试具有一致性和可重复性
(6)测试的复用性
(7)增加软件的信任度,一旦软件测试通过强有力的自动测试后,软件的信任度自然增加。
缺点:
(1)自动化测试不能取代手工测试
(2)手工测试比自动化测试发现的缺陷更多
(3)对测试质量的依赖性极大
(4)测试自动化不能提高有效性
(5)测试自动化可能制约软件开发,自动化测试比手工测试更脆弱,所以维护会受到限制,从而制约软件的开发
(6)工具本身并无想象力
(7)投入的时间成本高

进程、线程有什么区别?什么情况下用进程?什么情况下用线程?

区别:
① 地址空间和其它资源(如打开文件):进程之间相互独立,同一进程的各线程之间共享。某进程内的线程在其它进程不可见。
② 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
③ 调度和切换:线程上下文切换比进程上下文切换要快得多。
④ 在多线程操作系统中,进程不是一个可执行的实体。
使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,用线程,因为全局变量是所有线程共享的。

测试方法

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试。

软件出现崩溃的原因

1.接口返回值
2.内存问题
3.下标越界问题
4.渲染不及时问题
5.权限问题
6.第三方问题
7.系统与软件不兼容
8.设备视图方向问题
9.多语言问题
10.其他代码错误
11.弱网问题

你个人的职业规划是怎样的?

想做一个有技术含量的测试工程师,从用户角度,到系统安全角度都能深入了解;
俗一点就是,有技术含量了才能涨工资。
个人感觉测试比较有创新性,目前没有问题的系统不能保证线上没有问题,只有测试懂的多了,想的全了,才能降低风险,比开发有意思,比运维也有意思
专注于工作的完成度,如何提高测试效率、如何对业务进行连贯性总结,更深度的思考和总结

面对面试官提出的模糊问题,多反问或经过后继的一些确认再回答,证明自己具备一定的沟通能力,而对于测试来说,爱问问题或者怀疑的态度永远是最弥足珍贵的品质

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值