小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。
小编整理了一些零基础入门软件测试到精通全套自学资料,还有不少工具和视频的【网盘资源】,需要的朋友可以
目录
你知道为什么要做接口测试吗?
❶参考点
了解接口测试知识
做接口测试的目的
❷参考答案
-
在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑和返回数据是正确的,然后再测试客户端。另外某些测试部门,专门测试服务端开发团队,因此,他们的测试对象就是接口。
-
在测试某些业务时,不能仅仅通过前端来测试,比如用户注册,前端限制了用户名不能为空,但是有些人可能通过工具绕过前端直接调用服务端接口,如果服务端没有做相关的逻辑判断,就会造成数据错误。包括接口数据传输过程中是否对关键信息加密等。所以必须针对服务端接口单独做测试。
-
在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期。然后再通过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、把控好上线标准,测试报告中标明上线风险
加油吧,如果你需要提升技术储备,那就行动,在路上总比在起点观望的要好。一切的迷茫都是因为想得太多而做的太少!
以上就是今天的分享,如果觉得有用,欢迎分享转发给更多朋友💕。
欢迎在留言区跟我们互动噢~