八年测开经验面试某大厂,成功拿下28K月薪offer、文中是当时的面试题

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。

小编整理了一些零基础入门软件测试到精通全套自学资料,还有不少工具和视频的【网盘资源】,需要的朋友可以

目录

你知道为什么要做接口测试吗?

Jmeter中常用的断言方式?

Python有哪些常见的内置函数?

请说明 sort 和 sorted 对列表排序的区别?

你来写一下冒泡排序吧?

你对测试这个职位是怎么理解的,怎么样才能做好测试工作?

测试时间比较紧张,如何保证测试质量?

有过漏测导致线上bug的经历吗?一般什么情况下会造成漏测?

接口测试有没有测试出什么问题?

项目里写了多少条用例,发现了多少bug?

你们公司的测试环境是怎么划分的?有几种测试环境??

项目里的支付功能怎么测的,支付接口测试过吗?

线上出现了bug,你会怎么处理?

在项目里如何实现测试环境的切换?

如果让你单独负责一个项目,需要注意哪些事项?


你知道为什么要做接口测试吗?

❶参考点

了解接口测试知识

做接口测试的目的

❷参考答案

  • 在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑和返回数据是正确的,然后再测试客户端。另外某些测试部门,专门测试服务端开发团队,因此,他们的测试对象就是接口。

  • 在测试某些业务时,不能仅仅通过前端来测试,比如用户注册,前端限制了用户名不能为空,但是有些人可能通过工具绕过前端直接调用服务端接口,如果服务端没有做相关的逻辑判断,就会造成数据错误。包括接口数据传输过程中是否对关键信息加密等。所以必须针对服务端接口单独做测试。

  • 在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期。然后再通过UI界面进行测试。否则接口有bug,前端页面必定有bug。

Jmeter中常用的断言方式?

❶参考点

对断言的熟悉程度

参考答案

  • Json断言,可以通过Json路径表达式判断接口返回的Json字符串中某些字段是否符合预期

  • 响应断言,可以判断响应头/响应体中是否包含预期的字符串

区别:Json断言只能判断Json格式的;响应断言只要是文本格式都可以判断,应用范围更广

Python有哪些常见的内置函数?

❶参考点

是否了解Python

对函数的了解程度

参考答案

数字相关的:

max() 、min() 、sum() 、sorted() 、len() 、 round() 等

类型相关: 

int() 、 float() 、str() 、bool() 、 list() 、dict() 、 tuple() 、set() 、bin() 、ord() 、 chr()等

请说明 sort 和 sorted 对列表排序的区别?

❶参考点

考察是否掌握排序的相关知识

参考答案

sort()与sorted()的不同在于:

  • sort是在原位重新排列列表

  • sorted()是产生一个新的列表

sorted(L)返回一个排序后的L,不改变原始的L,L.sort()是对原始的L进行操作,调用后原始的L会改变,没有返回值;所以a = a.sort()是错的啦!a = sorted(a)才对。

sorted()适用于任何可迭代容器,list.sort()仅支持list(本身就是list的一个方法),sorted使用频率比list.sort()更高些,所以Python中更高级的排序技巧便通过sorted()来演示

你来写一下冒泡排序吧?

❶参考点

考察代码编写能力

❷参考答案

def bubble_sort(arr):    n = len(arr)    for i in range(n - 1):     for j in range(n - i - 1):        if arr[j] > arr[j + 1]:            arr[j], arr[j + 1] = arr[j + 1], arr[j]

你对测试这个职位是怎么理解的,怎么样才能做好测试工作?

❶参考点

对测试岗位的理解

如何做好本职工作

参考答案

软件测试这个职位重点是保障软件质量,但是软件质量的提升并不能仅仅依靠测试。而是整个团队来完成的。整个团队需要有规范的项目流程。并且产品、开发、测试、运维都需要做好自己的工作才能把控软件的整体质量。

单纯从测试这个职位来说的话,我感觉做好测试工作,需要做好以下这些事情

  • 良好的业务能力,可以快速熟悉业务系统,并找到对应的测试点

  • 良好的技术能力,测试基础、用例设计、数据库、Linux、自动化、性能、代码等

  • 良好的沟通协调能力,在测试过程中需要和产品、开发、运维保持沟通,推动项目进展,及时暴露风险

  • 保持耐心、细心、责任心

测试时间比较紧张,如何保证测试质量?

❶参考点

考察测试能力 

参考答案

回答范例:

  • 测试尽量提前介入,提前开展工作

  • 要求开发自测,提高提测质量

  • 对于重复执行的回归测试,如果可以的话,使用技术手段做成自动化,提高测试效率

  • 根据模块和功能的重要性和优先级,合理安排测试顺序

  • 有必要的话,向领导申请更多的测试资源和人力

  • 在必要的话,通过加班来追赶下进度

有过漏测导致线上bug的经历吗?一般什么情况下会造成漏测?

❶参考点

编写测试用例是否全面

是否经历过漏测

参考答案

基本上我所测试的,没有出现过 P0 和 P1 级别的 BUG。 偶有一些很小的问题,主要的原因都是兼容性方面。特别是安卓手机,它的碎片化太严重。

那我主要说一下常见的漏测bug的原因:

  • 需求规格不明确,导致测试用例编写过于粗略

  • 需求规格变更,测试用例未及时更新

  • 测试用例覆盖不全面,场景出现遗漏

  • 测试过程中未严格按照测试用例执行

  • 测试时间不充足,导致一些功能点在测试过程中被忽略

  • 测试环境或测试数据受限,导致缺陷漏测

  • 开发人员修复其他bug时引入的新BUG

接口测试有没有测试出什么问题?

❶参考点

是否做过接口测试

考察求职者思考问题的思路

参考答案

接口测试中发现的bug,大多都是参数校验、代码逻辑、边界条件、数据错误方面的问题。

比如,新增促销活动接口,满减金额为空也能保存成功,原因是后端代码没有对满减金额参数做空值判断

比如,活动列表接口,查询出来的活动数据少了第一条,原因是SQL中limit条件传入起始序号是1而不是0

比如,更新活动接口,接口提示更新成功,但是数据库中的update_time字段没有更新成最新时间,原因是开发忘记更新这个字段

项目里写了多少条用例,发现了多少bug?

❶参考点

考察编写测试用例的能力

参考答案

回答思路:

具体用例数量忘了,大点的项目能上千条,小点的项目也有三四百条,如果是常规的功能迭代,用例就会少些,比如几十条的样子。

bug数量看项目规模和开发质量吧,通常来说都是几十到上百个bug

你们公司的测试环境是怎么划分的?有几种测试环境??

❶参考点

了解几种测试环境

参考答案

  • 开发环境:主要是开发自测用的环境

  • 测试环境:主要是测试人员进行日常测试

  • 预生产环境:一个独立的测试环境,但是数据库用的是生成环境的库,主要用于上线前使用生产环境数据进行测试验证

  • 生产环境:对真实用户开放的运行环境

项目里的支付功能怎么测的,支付接口测试过吗?

❶参考点

对接口测试的掌握程度

测试点的思考是否全面

参考答案

没测过支付接口,但是测过APP的支付功能,比如巴士APP购票流程中就涉及到了支付测试,主要测试支付的功能和兼容性。

一般测支付时,都是走的是小额真实支付,我会把票价修改为1分钱,然后用自己的钱去支付。

主要的测试点有:

功能方面

正常流程:

  • 正常进行支付,调起支付宝、微信,测试支付功能是否正常

  • 提示信息是否合理,订单状态是否改变

  • 如果退票后,金额是否会原路退回支付宝/微信账户

异常流程:

  • 余额不足,系统如何处理;

  • 取消支付,系统如何处理;

  • 手机上没有支付宝APP或微信APP,系统如何处理;

  • 支付期间出现超时,比如断网或者弱网,系统如何处理;

  • 取消支付后再次支付,系统如何处理;

  • 支付期间手机出现中断(来电话、切换后台),系统如何处理

兼容性方面

在不同的手机设备、系统、分辨率下进行测试,检查支付主流程是否正常

线上出现了bug,你会怎么处理?

❶参考点

是否处理过突发bug

对问题的解决方案

参考答案

主要回答这几点:

根据之前的一些经验来看,首先和开发一起初步评估bug的严重程度和产生原因。

  • 如果是出现了影响面比较大的功能性问题,且暂时不好定位具体原因,首先考虑是做代码回滚,恢复到上一个稳定版本。然后在测试环境进行复测,并定位问题原因。

  • 如果能快速定位问题原因,开发会做紧急修复,测试通过后会申请紧急上线。

  • 如果是性能方面的问题,一般会进行扩容,或者重启尝试解决,然后开发会做进一步问题定位和优化。

  • 如果是不太严重的问题,通常会放在下一个版本解决。

最后,线上bug解决后,要做问题复盘,将整个过程记录下来并进行相关分析总结,避免后续出现类似问题。

在项目里如何实现测试环境的切换?

❶参考点

考察求职者做过项目的类型

语言表达能力

参考答案

web项目

通过修改hosts文件,将域名配置为不同的机器ip,就能实现环境的切换

比如商城项目,访问域名是www.mtxshop.com,测试环境的访问ip是192.168.3.100,预生产环境访问的ip是192.168.3.200

在hosts文件里,把域名对应的ip修改为哪个环境,就代表切到哪个环境了

  • 测试环境

192.168.3.100 www.mtxshop.com

  • 预生产环境

192.168.3.200 www.mtxshop.com

如果把映射关系删了,就说明访问的是生成环境

APP项目

不同的环境有不同的安装包,通过安装“测试环境”、“预生产环境”的安装包,就能实现各个环境的切换

如果让你单独负责一个项目,需要注意哪些事项?

❶参考点

独立思考能力

是否参与项目

参考答案

1、评估项目的测试范围和测试周期,是否能单独完成。

2、做好测试策略和计划安排,尽量保证每个环节按时完成

3、如果自己解决不了问题,要及时向外抛出,暴露风险,寻求帮助

4、尽量采用一些技术手段,提升测试效率

5、对用例设置好优先级,按照优先级去执行

6、及时对bug进行追踪,推动开发尽快解决bug

7、把控好上线标准,测试报告中标明上线风险


加油吧,如果你需要提升技术储备,那就行动,在路上总比在起点观望的要好。一切的迷茫都是因为想得太多而做的太少

以上就是今天的分享,如果觉得有用,欢迎分享转发给更多朋友💕。

欢迎在留言区跟我们互动噢~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值