各个大厂软件测试面试题,面试经验分享(内含答案)


前言

1、华为测试岗电话面试

一面

1)自我介绍
2)项目流程 ==>讲下H模型
3)业务流程 ==>项目讲解、可从贷款流程讲起
4)做过自动化吗?

5)做过接口测试吗?

可从postman和jmeter做手工接口测试,然后Python+request库和jmeter做接口自动化讲起

6)性能测试做过吗?

可以说做过、但是注意回答的技巧、可以从用badboy录制性能脚本、然后导入到jmeter对接口进行压测、并且生成聚合报告。

压测的并发数量切记不要说的太高、因为测试环境的并发太高服务器承受能力有限、可以从压50-100-200-500-1000个并发依次递增,并且查看性能指标,至于性能调优可说我们测试人员只负责执行和生成测试报告对于有缺陷的地方都是交给开发人员进行调优。

7)说一下你在性能测试中觉得比较难的地方?

性能瓶颈分析和调优

8)你觉得你在哪些方面得到团队的肯定?

可从工作的态度,和同事的相处,然后在公司经常分享技术等等

9)会不会java?

先回答会,java基础的语法都能看得懂,如果面试官问java里面具体的知识,可回答具体的理论有点忘了,但是在工作中看到基础的java语法都能看的懂,这个是没什么太大的问题的。

10)有什么想要问的吗?

看情况聊得愉快对方性格不错可以问问咱们这边是做的什么项目。

二面

1)自我介绍
2)业务流程 ==>项目讲解、可从贷款流程讲起
3)用什么做的自动化

4)怎么做接口测试?

可从postman和jmeter做手工接口测试,然后Python+request库和jmeter做接口自动化讲起

5)说一下常用linux指令,问了一下free后面还可以接什么进行查看 ?

free -m,如果要查这个命令怎么使用可以用man free

6)数据库增删改查会不会?

公司当中增删改查基本语法都是没有什么问题的

7)查询表中name=张三的信息

select * from 表名 where name = "张三";

8)表中如何查看第200-300行

select * from 表名 limit 199,101;

9)http状态码,问了200,404,5开头的代表什么?

200服务器成功响应返回页面 404请求的页面或者资源不存在 5开头服务端错误

10)自动化元素定位方式,如何获取xpath路径,除了copy还会其他方式吗
除了copy xpath 一般都是自己编写xpath语法
比如://[@id=“kw”] //input[@id=“kw”] //[@id=“form”]/span[1]/input[1]等等。

11)代码能力如何?

编写ui自动化和编写接口自动化测试脚本没有问题,还可设计和公司业务相关的ui和接口的框架。

12)有什么想要问的

看情况聊得愉快对方性格不错可以问问咱们这边是做的什么项目。

2、平安电话面试

1)自我介绍
2)讲解一下你的项目?

具体讲解一下你负责的模块,项目讲解、可从贷款流程讲起

3)登录数据是怎么造的?

编写存储过程或者通过Python用pymysql模块连接数据库然后用Python脚本实现

4)接口测试怎么做的?

可从postman和jmeter做手工接口测试,然后Python+request库和jmeter做接口自动化讲起

5)jmeter怎么保持回话?

添加cookie管理器,或者如果接口有返回token值那就可以通过在登录接口后添加一个正则提取器然后把登录接口返回的token值提取出来作为下一个接口的入参。

6)关联接口怎么测试?

可以通过拿到上个接口的返回值然后放在全局的字典当中

import requests
import re

class Province:

    def get_province(self,num):
        '''
        获取省份接口
        :return:
        '''
        url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportProvince'
        headers = {
    
    "Content-Type":"application/x-www-form-urlencoded"}
        response = requests.post(url=url,headers=headers)
        result = re.findall('<string>(.+)</string>',response.text)
        return result[num]
        # print(response.text)

    def get_city(self):
        '''
        根据省份获取城市接口
        :return:
        '''
        url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity'
        data = {
    
    
            "byProvinceName":self.get_province(5)
        }
        headers = {
    
    "Content-Type": "application/x-www-form-urlencoded"}
        response = requests.post(url=url,data=data,headers=headers)
        print(response.text)

if __name__ == '__main__':
    p = Province()
    # p.get_province()
    p.get_city()

7)mysql怎么查询日志?

select * from mysql.general_log;

8)怎么具体定位日志信息?

登录mysql数据库后:
输入命令show variables like ‘log’;查看查询日志是否开启
发现日志没有开启,查看mysql服务的启动配置文件位置
关闭mysql服务,打开my.ini配置文件,添加变量
log=E:/mysql_log.txt,然后启动mysql服务

重新登录mysql客户端,查询表,所有查询操作都被记录到E:/mysql_log.txt文件中

3、平安寿险面试

1)自我介绍
2)讲解一下简历的项目,你在这个项目中测试什么比较多?

项目讲解、可从贷款流程讲起

3)你主要负责哪些模块?具体讲解一下。

4)接口测试怎么做的?

可从postman和jmeter做手工接口测试,然后Python+request库和jmeter做接口自动化讲起

5)你在接口中遇到哪些bug,分别是怎么解决的?bug描述:接口返回状态码400001,前端提示接口解密异常

定位分析:前端入参的时候只通过了把screct_key + username + password进行MD5加密传输发送了请求,但是后端代码在判断的时候
需要为通过AES加密算法加密后的值进行解密后然后和MD5值进行对比。

此时前端传过来的参数没有通过AES加密,后端抛出异常,接口返回
status_code为400001,前端根据接口返回的状态码显示样式为:接口解密异常

解决:在调用接口的时候先通过MD5加密生成MD5值然后再通过AES加密后再对接口进行请求。

6)后台数据库怎么查找数据,怎么定位bug?

用过select语句、结合数据库和接口和页面提示来定位bug

7)性能测试怎么做的?

可以说做过、但是注意回答的技巧、可以从用badboy录制性能脚本、然后导入到jmeter对接口进行压测、并且生成聚合报告。

压测的并发数量切记不要说的太高、因为测试环境的并发太高服务器承受能力有限、可以从压50-100-200-500-1000个并发依次递增,并且查看性能指标,至于性能调优可说我们测试人员只负责执行和生成测试报告对于有缺陷的地方都是交给开发人员进行调优。

8)性能测试的关键指标有哪些?分别解释下你怎么判断的?

接口响应时间,吞吐量,吞吐率,错误率。按照不同的并发的数据然后参考公司的性能指标出口标准来进行判断。

9)你还有什么想要了解的?

看情况聊得愉快对方性格不错可以问问咱们这边是做的什么项目

重点:如何讲解简历项目(详细),以及后台数据库的查询,bug定位,功能及接口测试。

4、中软国际面试(华为外包–支付项目)

1)接口测试写了多少用例?

一般来讲一个接口大概可以写6-12条用例

2)你怎么做接口自动化的?

3)你们第三方接口是怎么测的?

一般服务商会提供给我们接口文档、如果碰到接口有问题的地方会联系服务商的开发人员帮助我们进行接口联调

4)性能测试你怎么做的,流程,都看哪些指标

5)简历上说会linux指令,会什么指令,查看文件大小用什么指令

6)数据库数据都做了哪些测试,怎么验证生成的数据的正确性

查看前端页面的展示和去数据库进行数据查询

7)上家公司做什么产品、业务的?你们产品是APP吗,还是web端?——web端,有涉及后台的吗?

8)你知道你们系统大概的结构么,看过设计文档么?做出来之后怎么部署的,有没有用数据库缓存,后台数据库用什么?

部署用Linux、存储用mysql数据库、缓存用Redis数据库

9)测试环境你搭的么?

10)你挑个模块说一下你是怎么设计用例的吧,这个模块最好有连接数据库

11)会不会去看后台日志?

会、我一般会用账号:admin 密码:xxxxx 登录后台日志管理系统、通过搜索关键字或者接口名称去搜索最近的日志

12)有涉及金额相关的用例设计吗
13)接口你们有什么检查点吗

14)性能测试测得多么?用什么测的?什么时候测?

jmeter、locust或者loadrunner进行测试、一般都是环境稳定系统集成测试和回归测试的时候测

15)你们测100个订单,你们用jmter怎么做的,思路流程
16)测试的时候会去检查后台的设置么?

17)日志级别,后台看日志你们用linux指令吗,用什么指令?有问题怎么定位?

7个日志等级+debug调试信息 一般都是通过看报错日志定位问题

18)数据库的话有涉及存储过程、触发器、定时任务之类的吗?

有、自己造数会用到存储过程、触发器和定时任务我们在对数据库进行同步数据的时候会用到执行触发器和定时任务

19)页面管理有没有查询,会不会做一些慢查询(管理台),全量查询、模糊查询,常用字段会建索引吗?

肯定要建索引、我们一般用的模糊查询、因为如果用全量查询的话第一个匹配起来会比较麻烦、第二个对数据库也会造成很大的压力、因为每次查询都需要数据库进行编译。

20)你们用unittest框架,具体写用例怎么写的,框架怎么设计

分层思想(看问的是接口还是UI自动化测试)

21)之前工作项目迭代周期情况,会一起参与上线么,上线会安排在什么时间

会参与、上线的时间一般在晚上10点钟之后、因为这个时候用的人数较少

22)能接受加班么?
23)职业规划,会接受有挑战的事情么?

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

岁月如梭,不要畏惧时间的流逝,只要坚持奋斗,就能收获成长与收获。相信自己,超越极限,创造属于自己的辉煌人生。

人生如一场马拉松,虽然艰难险阻,但只要坚持不懈、百折不挠地奔跑,终将迎来属于自己的胜利与辉煌!

在困难面前不退缩,在挑战中不止步,只有坚持不懈的奋斗,才能创造出属于自己的壮丽人生,让梦想翱翔于无尽的蓝天!

猜你喜欢

转载自blog.csdn.net/csdnchengxi/article/details/135341579