软件测试经理,高级管理退休后,给我小白指点面试迷津!!!
Posted 软件测试自动化测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试经理,高级管理退休后,给我小白指点面试迷津!!!相关的知识,希望对你有一定的参考价值。
1.让简单介绍下自己(这个不用说了每次面试开场)
你好,我叫xx,来自xx,毕业于xx。目前有两年的功能测试经验。最近的一份工作是xx公司,主要.
参与接口测试测试,负责xx,- 款类似抖音的短视频app功能测试,负责过的功能模块有拍摄、
上传、搜索、推荐引擎等。主要运用边界值,等价类,错误推测等常见黑盒测试方法。
其次就是面试官核心提问常见问题
1、get和post区别是什么?
POST和GET都是向服务器提交数据,并且都会从服务器获
取数据。
区别:
1)传送方式: get通过地址栏传输,post通过报文传输
2)传送长度: get参数有长度限制(受限于urI长度),而post无限制
3) GET产 生一个TCP数据包(对于GET方式的请求,浏览.器会把http header和data-并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST, 浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)
4) get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留'
5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式
2、按你的理解,软件接口是什么?
就是指程序中具体负责在不同模块之间传输或接受数据的
并做处理的类或者函数。
3、在地址栏输入-个URL地址,会经历哪些环节?
1、输入URL地址
2、DNS协议解析地址为IP
3、通过三次握手建立TCP连接,并发起请求
4、服务器响应,返回数据
5、浏览器渲染数据到页面
6、四次挥手,断开连接
整个过程完毕
4、抽象类和接口的区别是什么?
(1)接口可以被多重implements,抽象类只能被单一-extends
(2)接口只有定义,抽象类可以有定义和实现
(3)接口的字段定义默认为:public static final,抽象类字段默认是"friendly"
5、OSI的各个层? tcp/udp位于哪- -层? tcp/udp的优缺点?
答: OSI分为7层,分别为应用层、表示层、会话层、运输层、网络层、物理链路层、物理层。而tcp /udp属于运输层,TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。与TCP不同,UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。tcp:提供稳定的传输服务,有流量控制,缺点是包头大,冗余性不好
udp:不提供稳定的服务,包头小,开销小
6、如何实现200用户的并发?
在脚本对应的请求后添加集合点
7、如何分析-个bug是前端还是后端的?
平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯
8、如何模拟弱网测试
fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试
9、当一个接口出现异常时候,你是如何分析异常的?
1抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了
2.查看后端日志,xhell连上服务器,查看日志
10、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?
用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数
11、没有接口文档,如果做接口测试?
1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档(本来是开发写的,没办法,为了唬住面试官,先说自己整理了)
2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通
12、平常用什么工具测接口的
接口测试工具很多, postman. jmeter等等
13、平常你是怎么测试接口的?
通过性验证:
首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
参数组合:
现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,商品id是必传的,这样的,就要测参数组合了,type传1
的时候,只传商品名称能不能修改成功,id、 名称、价格都传的时候能不能修改成功。
接口安全:
1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,不是我的余额还要增加?
2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功
3、参数是否加密,比如说我登陆的接口,用户名和密码不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。
4、密码安全规则,密码的复杂程度校验
**异常验证: **
所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。
**性能测试**
接口并发情况,如上面提到的:一一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后-个商品下单
接口响应时间,响应时间太长了,肯定需要优化,一般都.是毫秒级别
14、你平常做接口测试的过程中发现过哪些bug?
这个问题其实回到起来很简单,只要做过接口测试的,总能发现几个BUG吧,把你平常发现的bug说2-3个就可以了。
面试官出这个题,要是想知道你是不是真的做过接口测试,毕竟现在很多小伙伴简历都是写的假的(你要不写估计面试机会都没有,没办法,为了生存,能理解)比如.上面说的,提现输入框,在页面上输入负数,肯定是无法提交过去(前端页面会判断金额),如果我不走前端,直接用接口工具发请求,输入一个负数过去。(假设服务端没做提现金额数据判断)余额=当前余额(100)提现金额(-100) ,那么提现-100,余额就变成200了,也就是越提现,余额越大了
可以用接口工具去直接请求接口,也可以fiddler抓包,抓到接口后修改金额为负数
所以,接口测试的必要性就体现出来了:
1.可以发现很多在页面上操作发现不了的bug
2.检查系统的异常处理能力
3.检查系统的安全性、稳定性
4.前端隨便变,接口测好了,后端不用变
5.可以测试并发情况,-一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后-一个商品下单
6.可以修改请求参数,突破前端页面输入限制(如金额)
结语
如果你身边有正在面试的朋友或者刚毕业的大学的朋友,建议转发这篇文章给他们看看,走少走些弯路,别等到大学读完了连去当实习生别人都不要你。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
以上是关于软件测试经理,高级管理退休后,给我小白指点面试迷津!!!的主要内容,如果未能解决你的问题,请参考以下文章
对前端后端和全栈感兴趣的人,建议都看看!18年老程序员给你指点迷津