2022软件测试高频面试题汇总(附带答案)「 建议收藏 」_测试开发高频面试题(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

通过代理的方式模拟弱网环境下进行测试(Charles延迟)

链接模拟弱网的热点进行测试(如360WiFi助手可以设置)

17.接口测试流程

后端完成开发,输出接口文档;

前端开发和后端开发进行前后端联调,结束后后端开发人员提测接口;

测试人员进行接口测试;

进行验收测试;

利用持续集成技术进行持续的校验。

18.如何进行接口测试

通过性验证:保证接口好使,能正常传入且返回正确的结果;

参数组合:有必传项时检查必传项;

接口安全:

①绕过验证(比如商品价格不能被外部修改)

②绕过身份授权(商品必须商家本人才能修改)

③参数是否加密(用户名密码加密)

④密码复杂程度校验

根据业务逻辑来设计用例

工具:postman和jmeter。一般用postman测接口,jmeter也能测,但一般不用。

19.举例说一下你的接口测试是怎么做的

先看接口文档,根据接口文档进行测试,包含接口的URL,请求参数,响应结果。如果没有接口文档,就自己抓包。我们是用jmeter来做接口测试的,首先,要新建一个线程组,在线程组下面添加一个http请求,然后填写好服务器地址,接口路径,请求方式,请求参数。如果需要参数化,先在本地创建一个TXT文档,把参数填写到文档里面,在jmeter中添加一个csv文件设置,填写好txt文档的路径,然后在请求参数中使用json提取器把token值关联出来,然后在下单接口中使用${参数名}的方式引用;接下来添加断言,检查服务器返回的结果和预期结果是不是一致的。最后,添加查看结果数查看测试结果。

20.请描述下接口测试与UI测试是如何协同测试的

1.有一部分是重叠的,UI测试是通过前端写的界面,是来调用接口的,而接口测试是直接调用接口;

2.排除前端的处理逻辑与调用的正确性,在理论上接口测试是可以覆盖所有的UI测试,但实际中,如几口层覆盖所有的业务流,在UI上只测试前端的逻辑,而最终的结果会忽视很多原有的功能点,导致了UI测试的不充分,那么会存在人多分工且实践充分的时候可以尝试接口去做业务流的全覆盖,否则不要轻易地去尝试。

21.为什么要进行抓包

有些公司没有标准的接口文档,只能通过抓包获取接口信息;

通过抓包可以查看整个请求过程以及相应过程,从而分辨是前台bug还是后台bug;

可以查看是否有敏感信息泄漏;

抓包进行测试,拦截请求,修改请求数据,查看响应结果本来就是接口测试的一部分。

22.一般抓包用什么工具,怎么进行抓包

如Charles,Fiddler,LightProxy
在工具设置http代理,设置端口号,在手机上设置同一网段,设置代理IP,设置代理端口,手机上的请求就可以抓取到了。

可以设置过滤,找到自己域名下的请求,通过分析请求地址,请求参数,响应结果来查找问题。

https,下载证书就可以抓取到请求了。

23.jmeter是如何进行测试的/请您介绍一下jmeter是如何使用的

打开jmeter;

创建线程组;

设置线程数和循环次数;

配置元件;

配置我们需要进行测试的程序协议、地址和端口;

构造http请求;

添加http请求头;

添加断言;

添加查看结果树;

添加Summary Report;

执行测试计划,执行测试计划不能用GUI,需要用命令来执行;

web报告。

24.jmeter连接数据库

1.在jmeter的线程组中分别添加JDBC Connection Configuration,JDBC Request,Debug Sampler,查看结果树。

2.在测试计划中将连接mysql需要的包加到classpath中。

3.在JDBC Connection Configuration中添加JDBC的配置。

25.jmeter为什么要参数化

做压力测试时,我们经常需要替换参数,在jmeter中,有多种参数化的形式。可以在测试计划中设置全局参数,可以设置用户参数,还可以在前置处理器中设置用户参数。在进行多线程并发的时候,如果需要多个参数,可以使用csv配置元件。比如做登录操作,后台有可能会限制一个用户不能重复登录多次,如果演示登录的并发操作,可以使用jmeter中的csv元件,将用户信息导出来,放到文件中,就可以让线程共享这些数据。另外,对于一些随机变化的参数,可以使用jmeter中的函数助手,生成随机函数,进行参数化测试。比如注册这样的操作,用户名要求唯一的,那就可以使用随机函数模拟出来。

26.jmeter如何进行压力测试

当测试接口的时候,发现某个接口性能比较差,需要进一步判定问题的时候,会压测数据库。压测数据库需要配置驱动,设置连接池大小,需要使用sql去操作数据库。具体的哪条sql问题需要问开发要具体的sql进行压测。

27.postman与jmeter的区别是什么

用例组织不同:jmeter的组织是比较偏扁平,首先它没有工作空间的概念,直接就是测试计划,而postman功能上更简单,组织方式是轻量级,他主要针对的是单个的http请求。

支持接口的类型与测试的类型不同:jmeter的功能更强大,可以通过各种类型的接口,不支持的页可以通过网上或者自己编写的插件进行扩展,而postman更轻量级,定位不同,可用来测试rest接口。

配置不同:jmeter可以在线程组里添加http,tcp,而postman只支持rest接口。

28.postman做哪些操作

用它来做接口测试。

查看接口的返回结果;

查看接口是get请求还是post请求;

29.MySQL数据库查询语言有哪些?会多表联查吗

数据库语言最常用的是SQL

多表联查:select * from table1 t1,table2 t2 where tl.id=t2.id这样就是多表联查。

left join,right join,inner join

30.MySQL数据库的增删改查

#增

alter table 数据表名 add birthday datetime;

#删

alter table 表名 drop 列名;

#改

1.修改字段,不重命名,用modify

alter table 数据表名 modify birthday date;

2.修改字段,重命名,用change

alter table 表名 change 原名 新名 类型及约束

alter table 数据表名 change birthday birth date;

#查

查询表使用数据 select * from 表名;

部分查询 select * from 表名 where 条件;

可以使用as 为列表指定别名

select 字段 as 别名,字段 as 别名 from 数据表名 where…;

31.SQL内关联和外关联的区别

内关联是求交集

外关联是以主表为标准,去附表找需要的信息

32.Linux上能不能直接进行性能测试

不能,脚本需要通过Windows调试好之后,才能在Linux上运行,运行的时候,只能通过non GUL的形式进行启动jmeter,但需要注意的是,csv文件在Windows上与Linux上要统一路径,最好使用相对路径,放到统一目录下边。

33.Linux系统操作的指令说一下:增加,删除,复制,移动等问题

cd:进入目录

cd app:切换到app目录

cd… :切换到上一层目录

cd /:切换到系统根目录

tail -10 a.txt:查看后10行数据

ifconfig:查看ip

ll:查看文件及其属性

vi:编辑

rm-rf:删除

car:解压及压缩命令

cp:复制

mv:移动

touch:创建文件

tail logcat:查看日志

cat logcat:查看日志

tail:查看日志记录信息,tail -f catinalia out

34.Linux系统日志查看指令,压缩,解压指令等问题

tar -xvf 文件名 :解压

tar -n logcat:查看系统日志

tar -zcvf 文件名:压缩

35.Linux系统TOP命令介绍

显示,管理执行中的程序,就是任务管理器

36.自动化测试有了解吗?自动化测试的工具有哪些

通过脚本代替一些手动化测试的步骤。unittest, web端:selenium ;app端:appium

37.selenium元素定位的方法有哪些

find_element_by_id()(常用)

find_element_by_name()(常用)

find_element_by_class_name()

find_element_by_tag_name()

find_element_by_link_text()

find_element_by_partial_link_text()

find_element_by_xpath()(常用)

find_element_by_css_selector()

38.appium的工作原理是什么

我们的电脑(c端)上运行自动化测试脚本,调用的是appium的webdriver的接口,appium服务器(s端)接收到我们client上发送过来的命令后,它会将这些命令转换为UIautomator认识的命令,然后由UIautomator来在设备上执行自动化。

39.安全性测试包括哪些方面

用户程序安全;

系统网络安全;

数据库安全。

40.写好测试用例的关键/写好用例要关注的维度

覆盖用户的需求;

从用户使用场景触发,考虑用户的各种正常和异常的使用场景;

用例的颗粒大小要均匀。通常,一个测试用例对应一个场景;

用例各个要素要齐全,步骤应该足够详细,容易被其它测试工程师读懂,并能顺利执行;

做好用例评审,及时更新测试用例。

41.如果给你购物商城网页(京东,淘宝等)你会怎样测试?测试那些主要功能

首先进行需求分析,用XMind梳理测试点,再编写案例,之后就进行案例评审,寻求他人意见。之后再完善案例,发出来给其他人检查。

测试点,首先是UI方面,美观度和易操作性,易理解性方面进行测试。

然后再考虑其他功能点,注册登录,添加购物车,下单,付款,发货,确认收货,评价等。

性能方面:打开网页,确认订单,付款的响应时间等等

兼容性:支持各种主流浏览器,IE,360,火狐,谷歌等

42.微信发红包的测试用例

PART 1 功能

1.在红包钱数和红包个数的输入框中只能输入数字;

2.红包最多和最少的输入钱数 200,0.01;

3.拼手气红包最多可以发多少个红包;

4.超过最大拼手气红包是否有提醒;

5.当红包钱数超过最大范围是否有提醒;

6.余额不足时,红包发送失败,或者会不会匹配切换支付方式;

7.红包描述里是否可以输入表情、汉字、英文、数字等;

8.红包描述里最多有多少个字符;

9.发送的红包别人是否能正常领取;

10.发送的红包自己可不可以领取;

11.24小时后别人没有领取的红包是否可以退回原来的账户,或者是否还可以领取;

12.用户是否可以多次抢一个红包;

13.用户在多人群里发红包是否可以抢自己的红包;

14.红包余额里的小位数是否有限制;

15.返回键可以正常取消发红包吗;

16.断网时是否可以抢红包;

17.收发红包界面是否有自己以前收发红包的记录,以及和自己实际收发红包是否匹配;

18.支付时密码支付和指纹支付是否正常;

19.支付成功是否正常返回聊天界面;

20.是否可以连续发红包。

PART 2 性能

1.网络环境差,发红包的时间;

2.不同网速时,抢红包的时间;

3.收发红包后跳转时间;

4.收发红包的耗电量;

5.退款到账的时间。

PART3 兼容

1.苹果,安卓系统;

2.电脑端是否可以抢红包;

3.不同品牌的手机是否正常使用。

PART4 界面

1.发红包界面有没有错别字;

2.抢完红包界面有没有错别字;

3.收发红包界面排版美观合理;

4.界面颜色搭配好。

PART5 安全

1.发送红包领取红包后对应相关的金额是否会变化;

2.发送失败银行卡或者余额会不会变;

3.发送成功后是否会收到微信支付的通知。

PART6 易用

1.支持指纹,人脸识别支付码;

2.红包描述可以通过语音输入吗。

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2.红包描述可以通过语音输入吗。

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

[外链图片转存中…(img-xKutqaeF-1715706636795)]
[外链图片转存中…(img-u1Y2A44j-1715706636795)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值