⭐️前言⭐️
本篇文章记录博主与2023.03.04面试上海柯布西公司,一面所被问及的面试问题,回答答案仅供参考。
🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁
🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言
🍉博客中涉及源码及博主日常练习代码均已上传GitHub
📍内容导读📍
- 🍅1.测试的策略,方法(测试的分类)
- 🍅2.黑盒测试和白盒测试的区别
- 🍅3.设计测试用例的方法,挑两个具体说一下
- 🍅4.正交排列了解多少
- 🍅5.了解回归测试吗?
- 🍅6.什么是接口测试?
- 🍅7.你是如何进行接口测试的?
- 🍅8.接口测试需要连接数据库吗?
- 🍅9.HTTP请求的方法都有哪些,说说你知道的
- 🍅10.GET和POST的区别
- 🍅11.sql增删改查关键字
- 🍅12.写个SQL查询2到5行
- 🍅13.说说你知道的聚合聚合函数
- 🍅14.Linux常见命令
- 🍅15.Linux查询文件命令
- 🍅16.如何提一个bug
- 🍅17.提bug开发不认可怎么办?
- 🍅18.纸杯的测试用例
🍅1.测试的策略,方法(测试的分类)
具体细节查看文章:https://blog.csdn.net/qq_60856948/article/details/128105460
按照测试对象划分
弱网测试:在信号网络带宽比较差的情况下,来模拟真实用户APP端的测试
按照是否查看代码测试
按照开发阶段划分
🍅2.黑盒测试和白盒测试的区别
黑盒测试是不关注程序内部的具体实现,单纯从输入输出角度,来测试系统的正确性和稳定性的;但是白盒测试是基于内部代码结构和实现逻辑的测试
🍅3.设计测试用例的方法,挑两个具体说一下
具体细节查看文章:
https://blog.csdn.net/qq_60856948/article/details/128605615
等价类、边界值、判定表、正交排列、场景设计法、错误猜测法
等价类:
等价类法就是通过将测试用例分为若干个等价类,从等价类中选出一个测试用例来进行测试,解决不能穷举测试的问题。
等价类分为有效等价类和无效等价类,有效等价类就是针对需求文档的要求,是有意义的集合,无效等价类就是针对需求文档的要求,是无意义的集合。
使用等价类来设计测试用例的步骤如下:
1.确认有效等价类和无效等价类
2.编写测试用例
比如在实现一个登录功能时,密码要求必须是6 ~ 18为,那么针对该功能的有效等价类就是6~18位,无效等价类就是小于6或者大于18位。
进一步设计出的测试用例就是:
- 6~18位:具体是10位
- 小于6位:具体是3位
- 大于18位:具体是20位
边界值:
边界值分析法通常是作为对等价类划分法的补充,其测试用例来自于等价类的边界。
边界值分为有效边界和无效边界
还是使用登录密码的例子,密码要求输入6~18位,那么有效边界就是6、18,无效边界就是5,19,这样就是4个测试用例
🍅4.正交排列了解多少
正交试验设计法是指从大量的试验中挑出适量的、有代表性的点,依据“正交表”从而合理的设计出测试用例。
一个正交表表示L4(2^3),4代表的是4组试验(4个测试用例),3代表的是因素数(输入条件),2代表的是每个因素对应的水平数(输入条件的可能选项)
正交表有以下两个特性:
1)每一列中,不同的数字出现的次数相等
2)任意两列中数字的排列方式齐全且均衡
根据正交表设计测试用例的步骤:
1、找出元素和水平
2、生产正交表(需要借助生成正交表的工具:allpairs)
3、根据正交表来编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例
案例:注册页面(预览图如下) 每个元素对应的水平都是:填写、不填写
1、找出因素和水平
因素:姓名、电子邮箱、密码、确认密码、验证码
水平:填写、不填写2、使用allpairs生成正交表
3、根据正交表编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例
🍅5.了解回归测试吗?
回归测试是指:对历史版本、历史功能进行测试,保证功能都是符合要求的,借助自动化测试来进行回归测试。
🍅6.什么是接口测试?
● 接口测试就是通过测试不同情况下的入参与之对应的出参信息,来判断接口是否符合或满足相应的功能性、安全性要求。
🍅7.你是如何进行接口测试的?
根据接口文档分析设计出接口测试用例,利用接口测试工具,比如PostMan输入请求,查看是否能获得预期的响应结果,如果异常可以进一步通过抓包工具Fiddler来获取请求与响应的具体信息(请求的请求头,请求正文;响应的状态码,响应数据格式等信息),进一步排查接口。
🍅8.接口测试需要连接数据库吗?
需要,如果接口返回值的数据来源于数据库,那么必须连接上数据库才能进行检查
🍅9.HTTP请求的方法都有哪些,说说你知道的
🍅10.GET和POST的区别
1、语义上的区别:
GET通常用来取数据,POST通常用来上传数据(但实际上GET也经常用来上传数据,POST通常用来获取数据)
2、body(正文)有无的区别:
通常情况下,GET是没有body的,GET通过query String查询字符串向服务器传递数据
通常情况下,POST是有body的,POST通过body向服务器传递数据,但是POST没有query String
3、结果的幂等。
幂等就是多次执行相同的操作,结果都是相同的
GET请求一般是幂等的,POST请求一般是不幂等的。
4、能否被缓存
GET请求可以被缓存,POST不能被缓存
(结果幂等,缓存才有意义)
🍅11.sql增删改查关键字
insert delete update select
🍅12.写个SQL查询2到5行
limit 4 offset 1
🍅13.说说你知道的聚合聚合函数
● count 返回查询到的数据的数量
● sum 返回查询到的数据的总和(不是数字没有意义)
● avg 返回查询到的数据的平均值(不是数字没有意义)
● max 返回查询到的数据的最大值(不是数字没有意义)
● min 返回查询到的数据的最小值(不是数字没有意义)
🍅14.Linux常见命令
● ls:列出当前目录中包含的文件和目录
● ll:用列表的方式来列出目录中的内容
● pwd:显示当前目录的绝对路径
● cd:切换到指定目录
● touch:创建一个空文件
● cat:查看文件内容
● echo:打印内容到控制台,也可用于写文件
● mkdir:创建目录
● rm:删除
● cp:复制文件或目录(复制目录要加上 -r选项)
● mv:移动目录或文件(或者给文件重命名)
● netstat -anp | grep 8080 :查看8080端口进程
● ps aux | grep java /ps -ef | grep java:查看所有Java进程(后者查询到的信息更详细)
● kill -9 进程ID:结束掉运行的Spring Boot进程
● nohup java -jar xxx.jar & :后台启动Spring Boot项目
🍅15.Linux查询文件命令
find .:查找当前目录下的所有文件和目录
find -name "example.txt":按照文件名查找
find . -type f:查询当前目录下所有类型为普通文件的文件
🍅16.如何提一个bug
通常描述一个bug应该具备以下内容:
● 发现bug的版本
● 发现bug的环境
● 发现bug的步骤
● 期望的结果
● 实际的结果
● 其他(bug类型、bug等级)
🍅17.提bug开发不认可怎么办?
1.首先反思自己是不是bug描述的不够清楚
2.bug等级要有理有据
3.合理友好的沟通,站在用户的角度反问:如果你是用户,能够接受这样的体验吗
4.不仅能够提出问题,最好能够给出解决方案。
5.组织bug评审
邀请代表参加bug评审:产品代表、开发代表、测试代表,进行以下工作:
1)如何解决bug?
2)如何预防类似的bug
🍅18.纸杯的测试用例
⭐️最后的话⭐️
总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁