帮助100w人成功入职的软件测试面试常见问题以及答案
想在软件测试面试中大展身手?先搞懂这些“灵魂拷问”!比如“怎么设计测试方案”,其实和做菜一样,先看“需求”这道菜的“食材”,再想想用什么“调料”(测试环境)和“火候”(测试轮次)。关键是别把“没煮熟的菜”(未测试特性)端上桌,别让考官觉得你是个“半吊子厨师”!
再比如“怎么测试B/S系统”,其实就是在系统这个“大锅”里,先“尝味道”(理解需求),再“分步骤炒菜”(测试计划),最后“摆盘”(写报告)。记得别让“火候不够”(测试不充分)或“摆盘太丑”(报告不清晰)影响分数!
至于“性能测试”,就像在健身房“挑战极限”,既要关注“举多少重量”(并发量),又要留意“肌肉会不会拉伤”(服务器响应时间)。别忘了,测试不是一次性的,得像马拉松一样,“持续发力”(疲劳测试)!
总之,搞测试就像当“美食鉴赏家”,不仅要懂得“尝味道”,还得会“写评语”!准备好了吗?上菜!
测试面试题
-
怎么来设计测试方案
根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。
被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等);
不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性;
测试组网图:进行本次系统测试所需要的软硬件设备、配置数据已及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。
https://www.bilibili.com/video/BV1Fx4y157Xt/?spm_id_from=333.999.0.0
-
如果给你一个B/S系统你怎么来进行测试?此题答案还可用于回答测试流程,测试流程题亦可参考15题。
-
阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。
-
编写测试需求,包括系统功能和非功能测试要点、测试类型、测试进度质量要求等。
-
制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天
-
编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。
-
执行软件测试,
-
进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。
-
编写测试报告,总结测试过程,汇总度量数据。
-
怎么进行工作流的测试
把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。
工作流:
如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。
-
在做性能测试的时候都需要关注哪些参数?
并发访问量,服务器响应时间(最小、平均、最大)
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。
负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。
负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。
一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。
大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。
-
如果客户没有给你性能指数时,你怎么来开展性能测试工作?
如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和PM协商,一般由PM确认,QA负责给出建议。
举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为用户的忍耐时间是3-5秒以内,这些要参考实际的应用来确定用户规模、操作频率、同时在线数等。
-
有没有做过接口测试,是如何做的?
通过编写测试程序, 获得接口指针, 逐个调用接口函数验证其正确性, 及失败操作
-
测试过程中是如何来保证软件质量的?
测试用例编写完毕后要加强评审的力度,确保测试用例覆盖所有需求点
执行测试过程中注意做小结检查覆盖情况、审视所提缺陷质量,复测时应注意相关模块的测试
测试时间宽裕的话可以做交叉测试,用以确保测试质量。
-
测试方案都写什么内容?
1概述
2被测对象分析
3应测试的特性
4不被测试的特性
5总体设计方法
6测试模型
6.1测试组网图
6.2结构/对象关系图
6.3测试原理
6.4操作规程
7测试需求
7.1环境需求
7.2被测对象需求
7.3测试工具需求