哈喽,大家好。
很多朋友都说面试难,不晓得面试官会问什么,又该怎么去回答。
我们整理了很多真实的面试题,每次学员去面试,我们也都会请学员记录面试官的提问,然后整理入册。
今后持续分享给大家,点个赞,收个藏,祝大家求职顺利!!
好啦,上题!
1、软件测试定义与分类?

2、什么是B/S、C/S架构?
B/S(Browser/Server,浏览器/服务器):客户端使用浏览器,通过HTTP/HTTPS访问Web服务器,业务逻辑主要在服务器端执行;
(1)优点:无需安装客户端,跨平台,易维护;
(2)缺点:对网络依赖强,交互性能稍弱。
C/S(Client/Server,客户端/服务器):需安装专用客户端软件,客户端与服务器通过自定义协议(如TCP/IP)通信;
(1)优点:交互性强,可充分利用本地资源,安全性较高;
(2)缺点:需安装维护,跨平台性差,升级成本高。
3、IT项目管理铁三角?
范围:要完成的功能、需求。
时间:项目工期、交付日期。
成本:人力、资源、预算三者相互制约,质量是铁三角的核心结果。
4、功能测试跟结构测试之间有什么不同点?
测试焦点:
(1)功能测试:验证软件是否满足需求(如登录、支付功能是否正常);
(2)结构测试:检查代码/架构内部逻辑(如分支覆盖、代码路径是否合理);
测试方法:
(1)功能测试:黑盒测试(无需看代码,基于输入输出验证);
(2)结构测试:白盒测试(需查看代码,覆盖条件、循环等逻辑);
目标差异:
(1)功能测试:确认软件“做什么”正确;
(2)结构测试:确保软件“怎么做”无缺陷(如内存泄漏、死锁)。
5、软件测试目的是什么?为什么选择测试?
软件测试目的:验证软件功能是否满足需求,发现缺陷提升软件质量,确保软件在预期环境中稳定运行。
为什么选择测试:
我对细节敏感,善于逻辑分析与逆向思考;
测试既能保障产品质量,也能从用户视角发现潜在问题,带来成就感与持续学习的机会。
6、为什么实习就可以做接口、自动化、性能测试?
我开始是从维护现有脚本、编写简单用例、执行预设场景入手。
在有经验的同事指导下逐步接触,不需要一开始就掌握全部底层原理。
7、软件测试的重要原则(不遵守就是风险)?
测试应尽早进行,以便尽早发现与修复Bug,如:冒烟测试。
测试应覆盖软件的所有方面,包括功能、性能、弱网等。
需要充分理解项目业务,基于客户需求进行测试。
穷尽测试不可能,需合理设计测试用例,达到以点覆盖面。
测试应由独立团队进行,避免开发人员测试自己程序。
在测试过程中对容易出现错误的模块,进行重点测试。
8、如何在用户的角度进行测试(什么样的软件具备好的易用性)?
深入理解用户的需求,知道用户如何与软件交互,构建用户使用场景、任务流程等。
测试软件的易用性、界面友好性、响应速度等用户体验要素。
收集用户反馈,不断优化软件功能和用户体验。
9、为什么软件测试由专门的测试人员做,不让开发自己进行测试?
独立性:测试人员能更客观、公正地评估软件质量。
专业性:测试人员通常具备专业的测试技能,设计的测试用例更加全面、覆盖更多场景,能够有效发现缺陷。
专注度:测试人员能从用户角度出发,发现可能影响用户体验的问题。
效率性:开发人员专注编码,测试人员专注质量,可以提高整体开发效率。
10、软件测试与软件开发的不同?
目的不同:
(1)软件测试:目的是发现并缺陷,确保软件质量;
(2)软件开发:根据用户需求实现用户的功能。
产出不同:
(1)软件测试:产出测试用例、缺陷单、测试报告等;
(2)软件开发:产出可运行的软件产品。
验收标准不同:
(1)软件测试:主要以功能的实现、性能是否满足要求、UI页面是否便于用户操作为标准;
(2)软件开发:主要是以代码是否实现功能,以及代码的扩展性等为标准。
技能要求不同:
(1)软件测试:测试人员具备测试技能(Bug管理根据JIRA、接口测试工具Jmeter、抓包Fiddler)、测试用例设计能力,以及一定的自动化代码编写能力;
(2)软件开发:要求开发人员精通编程语言、熟悉常用框架和中间件,具备较强的代码编写和问题解决能力。
工作流程不同:
(1)软件测试:贯穿整个软件开发过程,包括单元测试、集成测试、系统测试等阶段;
(2)软件开发:通常按照需求分析、设计、编码、测试、部署等阶段进行。
11、解释什么是幂等测试?
幂等测试:对于同一操作,无论是一次还是多次执行,产生的结果是一致的,不会因为多次执行而产生副作用。
幂等测试的场景:
(1)网络波动:网络波动可能会引起重复请求,此时需要确保系统能够正确处理这些重复请求;
(2)用户重复操作:用户在操作时可能会无意触发多次下单交易等重复操作,系统需要能够识别并处理这些重复操作;
(3)失效或超时重试机制:当请求失效或超时后,系统可能会自动发起重试请求。此时需要确保系统能够正确处理这些重试请求,避免产生重复处理或副作用;
(4)页面重复刷新:用户可能会重复刷新页面,导致重复提交表单或请求。系统需要能够识别并处理这些重复提交;
幂等测试的实现方法:
(1)数据库唯一索引:通过为数据库表添加唯一索引来确保同一操作不会重复执行;
(2)Token令牌:在请求中携带一个唯一的Token令牌,用于标识该请求的唯一性。
12、解释什么是重入测试?如何进行测试?
什么是重入:
(1)第一是技术底层的重入:比如一个函数在递归调用或多线程中断处理时,能否保证数据的一致性。这要求函数尽量使用局部变量,避免使用全局静态变量,以确保线程安全;
(2)第二是业务层面的重入:这也是我平时测试关注的重点,通常指防重提交机制。比如在支付、下单、审批等关键接口中,我们会模拟用户快速双击、网络重传的场景,验证系统是否能通过幂等性设计(如 Token 机制、唯一约束)来避免产生重复数据或重复扣款。
如何进行测试,如:还款接口:
测试维度 | 具体验证点 |
并发重入 | 多线程同时调用同一接口,数据计算结果是否正确累加/未错乱。 |
中断重入 | 模拟信号中断(仅限底层嵌入式测试),检查寄存器/栈恢复是否正确。 |
网络重入 | Fiddler/Charles 断点重放,验证后端是否返回“请勿重复提交”。 |
定时任务重入 | 上一个批处理任务未跑完,下一次定时触发又启动了,看任务锁是否生效。 |
13、软件部署常用环境?
Dev环境:开发环境又称预发环境,开发者调试使用,测试人员在Dev环境中进行冒烟测试。
Test环境:测试环境,专门给测试人员使用(阿尔法测试(Alpha Testing)又称内部测试,在Test环境中进行)。
Pre(Uat)环境:灰度环境又称验证环境,进行POC测试(验收前进行联调测试保证上下有数据交互正常,贝塔(Beta Testing)又称外部测试,在Uat环境中进行)。
Pro环境:生产环境,连接上互联网即可访问的环境。
14、测试环境不稳定什么建议去降低测试成本?
实时监控测试环境的稳定性,发现问题及时联系运维人员。
提高测试人员系统运维的技能,一些简单的问题测试也可以解决。
优化测试策略:
(1)优先测试关键的功能,确保核心功能得到及时的测试;
(2)对于重复的测试采用自动化测试来提高测试效率;
加强与团队的协作:与整个共同解决测试环境中的问题。
15、验收环境中有Bug怎么解决(项目上线前发现很多Bug,该怎么处理)?
我测试的模块,核心功能没有出现Bug,所以基本没有这样的问题。
如果出现,我会记录Bug出现的步骤。
如果是一个Bug,Bug比较简单,向开发反馈及时修复,保证验收进度。
如果是Bug较多:
(1)对Bug进行分类和优先级排序,优先解决高级别Bug与核心功能;
(2)如果发现的Bug测试用例都没有覆盖到,那么需要重新测试,找到需求文档,查看测试用例是否覆盖了所有需求,漏掉的需求重新编写测试用例,重新测试。
总结Bug出现的原因,争取下次不出现这样的问题。
16、软件功能从需求到上线的流程(工作流程中测试什么阶段介入,各个阶段主要的工作)?

17、软件需求规格说明书有哪些内容?
核心功能描述(测试重点):
(1)业务流程与用例:核心业务流程图、角色与场景描述(谁在什么条件下做什么);
(2)功能需求详述:输入项、处理逻辑、输出结果、异常处理机制;
(3)界面与交互要求:页面布局原型、字段长度、按钮状态、跳转逻辑。
非功能性需求(质量属性):
(1)性能指标:并发用户数、响应时间(如2-5-8秒原则)、TPS/QPS要求;
(2)安全性要求:加密算法、权限控制级别、敏感信息脱敏规则;
(3)兼容性与适配:浏览器内核、操作系统版本、屏幕分辨率范围
约束与外部接口:
外部接口定义:第三方API入参/出参格式、数据库表结构字段说明;
设计约束:强制使用的开发语言、中间件版本、合规性要求(如GDPR、等保)。
18、如何快速理解一个需求?
首先理解项目,产品背景。
做出流程图分析。
不懂找pd。
以用户角度考虑是否合理有无提升。
召开会议提升理解。
19、你们上个项目一般固定的功能迭代周期多久,具体的时间安排?
我们上个项目功能迭代周期不确定:
小的功能三天左右(如:临时的功能改进);
大的功能一个月左右(如:一个模块的功能);
一般固定周期在15天左右(如:一个模块早期实现的功能)。
具体的时间安排,以15天为例:
(1)需求分析1天左右;
(2)编写测试用例2天左右;
(3)用例评审与修改1天左右;
(4)评审测试用例0.5天左右;
(5)执行测试用例4-5天左右(包含发现缺陷与回归测试);
(6)和客户进行验收测试0.5天左右;
(7 )编写测试报告,接受甲方对报告的评审后修改报告,总1天左右。
20、你们上个项目开发一般多久开发完成功能,执行测试时间是多久?
以15天为例:
开发一般开发完成功能是5-6天左右;
执行测试用例的时间是4-5天左右。
如果你想学靠谱的AI软件测试,不就业不收费,请戳我:

夜雨聆风