2025年34+敏捷测试面试问题和答案
应届生敏捷测试面试问题
1) 作为测试人员,当需求持续变化时,您应该采取什么方法?
当需求持续变化时,敏捷测试人员应采取以下方法:
- 编写通用的测试计划和测试用例,重点关注需求的意图而非其具体细节
- 与产品负责人或业务分析师密切合作,了解变更的范围
- 确保团队理解需求变更所涉及的风险,尤其是在冲刺结束时
- 如果打算自动化该功能,最好等到功能稳定且需求最终确定
- 通过协商或在下一个冲刺中实施变更,将变更降至最低
2) 列出探索性测试(在敏捷中使用)和脚本测试的优缺点?
优点 | 缺点 | |
---|---|---|
探索性测试 | – 所需准备较少 - 需求变更时易于修改 - 在文档稀缺时效果良好 | – 难以向项目管理层展示进度和覆盖范围 |
脚本测试 | – 在针对法律或法规要求进行测试时非常有用 | – 测试准备通常耗时 - 相同的步骤重复测试 - 需求变更时难以修改 |
3) 解释极限编程和 Scrum 之间的区别?
Scrum | 极限编程 (XP) |
---|---|
– Scrum 团队通常必须在称为冲刺的迭代中工作,通常持续两周到一个月 | – XP 团队在持续一或两周的迭代中工作 |
– Scrum 团队不允许在其冲刺中进行更改 | – XP 团队更灵活,可以更改其迭代 |
– 在 Scrum 中,产品负责人对产品待办事项列表进行优先级排序,但团队决定开发待办事项的顺序 | – XP 团队严格按优先级顺序工作,开发的功能由客户优先排序 |
– Scrum 不规定任何工程实践 | – XP 规定了工程实践 |
4) 什么是史诗、用户故事和任务?
史诗:客户描述的软件功能,在产品待办事项列表中列出,称为史诗。史诗被细分为故事。
用户故事:从客户的角度准备用户故事,它定义了项目或业务功能,并按预期在特定的冲刺中交付。
任务:用户故事进一步分解为不同的任务
5) 解释什么是重构?
为提高性能而修改现有代码,这就是重构。在重构过程中,代码功能保持不变。
6) 解释如何测量不同团队容量下的冲刺速度?
在规划冲刺时,冲刺速度通常基于历史数据,通过专业判断来衡量。然而,用于衡量冲刺速度的数学公式是:
- 第一种 – 完成的故事点数 X 团队容量:如果您将容量衡量为每周 40 小时工作量的百分比
- 第二种 – 完成的故事点数 / 团队容量:如果您以工时衡量容量
对于我们的场景,第二种方法适用。
7) 阐述冲刺待办事项和产品待办事项之间的主要区别?
产品待办事项:它包含所有所需功能的列表,并由产品负责人拥有。
冲刺待办事项:它是产品待办事项的子集,由开发团队拥有,并承诺在一个冲刺中交付。它是在冲刺规划会议中创建的。
8) 在敏捷中,增量开发和迭代开发有什么区别?
迭代:迭代方法是一个持续的软件开发过程,其中软件开发周期重复进行(冲刺和发布),直到最终产品完成。
发布1:冲刺1、2……n
发布n:冲刺1、2……n
增量:增量开发将系统功能分解为增量或部分。在每个增量中,每个功能段都通过跨领域工作(从需求到部署)进行交付。
9) 解释敏捷中的“尖峰”(Spike)和“零冲刺”(Zero sprint)是什么?它们的目的是什么?
零冲刺:在开始第一次冲刺之前,它被引入以进行一些研究。通常,此冲刺在项目启动时用于设置开发环境、准备产品待办事项等活动。
尖峰:尖峰是一种用于研究、探索、设计甚至原型制作等活动的故事。在冲刺之间,您可以针对任何技术或设计相关的工作采用尖峰。尖峰分为技术尖峰和功能尖峰两种。
10) 什么是测试驱动开发?
测试驱动开发,又称TDD,也称为测试驱动设计。在这种方法中,开发人员首先编写一个描述新功能或改进的自动化测试用例,然后创建少量代码以通过该测试,最后重构新代码以满足可接受的标准。
11) 原型和线框图广泛用于什么?
原型和线框图是原型,广泛用于经验设计的一部分。
12) 解释什么是应用程序二进制接口?
跨不同系统平台和环境,定义应用程序以二进制形式实现可移植性要求的规范称为应用程序二进制接口。
13) 在敏捷中解释燃尽图和燃起图?
燃尽图和燃起图用于跟踪项目进度。
燃起图:它显示了随着时间推移已完成故事的进度。
燃尽图:它显示了随着时间推移还剩下多少工作要做。
14) 解释什么是 Scrum ban?
Scrum ban是一种基于Scrum和Kanban的软件开发模型。它专门为需要频繁维护、存在意外用户故事和编程错误的项目设计。通过这种方法,团队的工作流程得到指导,从而使每个用户故事或编程错误的完成时间最短。
测试人员敏捷方法论面试问题
15) 什么是故事点/工作量/规模?
它用于讨论故事的难度,而不分配实际小时数。最常用的规模是斐波那契数列(1、2、3、5、8、13、…100),尽管有些团队使用线性规模(1、2、3、4…)、2的幂(1、2、4、8……)和服装尺寸(XS、S、M、L、XL)。
16) 解释什么是“示踪弹”(tracer bullet)?
示踪弹是一种尖峰,它采用当前的架构、最佳实践集、当前的技术集,并产生生产质量的代码。它不是一次性代码,而可能只是功能的一个狭窄实现。
17) 什么是测试桩?
测试桩是一小段代码,它替代被测系统中未开发或已完全开发的组件。测试桩的设计方式是,它通过生成特定的已知输出并替代实际组件来模拟实际组件。
18) RUP(Rational Unified Process)和 Scrum 方法论有什么区别?
RUP | SCRUM |
---|---|
– 正式周期跨越四个阶段定义,但某些工作流可以是并行的 | – 每个冲刺都是一个完整的周期 |
– 使用正式的项目计划,与多个迭代相关联。 | – 没有端到端的项目计划。每个下一个迭代计划在当前迭代结束时确定 |
– 范围在项目开始前预先定义并记录在范围文档中。在项目期间,范围可以修订。 | – 它使用项目待办事项列表而不是范围 Scrum |
– 工件包括范围文档、正式功能需求包、系统架构文档、开发计划、测试脚本等。 | – 可操作软件是唯一的正式工件 |
– 建议用于中高复杂度的长期、大型、企业级项目 | – 建议用于快速增强和不依赖于截止日期的组织 |
19) 为什么持续集成对敏捷很重要?
持续集成对敏捷很重要,原因如下:
- 它通过检测错误或集成错误来帮助按时保持发布计划
- 由于频繁的敏捷代码交付(通常每2-3周一个冲刺),稳定的构建质量是必需的,持续集成确保了这一点
- 它有助于保持代码库的质量和无错误状态
- 如果开发工作正在分支上进行,持续集成通过自动构建和合并功能帮助检查分支上的工作对主干的影响
20) 敏捷期间进行哪些测试?
敏捷期间的主要测试活动是自动化单元测试和探索性测试。
但是,根据项目要求,测试人员可能会对被测应用程序 (AUT) 执行功能和非功能测试。
经验丰富的敏捷测试面试问题
21) 解释敏捷中的“速度”(Velocity)是什么?
速度是一个指标,通过将与在一次迭代中完成的用户故事相关的所有工作量估算相加来计算。它计算出敏捷在一个冲刺中可以完成多少工作以及完成一个项目需要多少时间。
22) 一个优秀的敏捷测试人员应该具备哪些素质?
一个优秀的敏捷测试人员应具备以下素质:
- 应能快速理解需求
- 敏捷测试人员应熟知敏捷原则和概念
- 由于需求不断变化,测试人员应了解其中涉及的风险
- 敏捷测试人员应能根据需求优先安排工作
- 业务伙伴、开发人员和测试人员之间必须持续沟通
23) 敏捷团队中都有哪些人参与?
在敏捷中,两位主要领导是:
- Scrum Master:协调敏捷项目所需的大部分输入和输出
- 开发经理:他们招聘合适的人才并与团队共同发展
24) 详细阐述Scrum Master的职责?
Scrum Master 的主要职责包括:
- 理解需求并将其转化为可工作的软件
- 监控与跟踪
- 报告与沟通
- 流程检查大师
- 质量大师
- 解决障碍
- 解决冲突
- 保护团队并提供绩效反馈
- 主持所有会议并解决障碍
25) 阐述敏捷质量策略有哪些?
敏捷质量策略有:
- 重构
- 非单人开发
- 静态和动态代码分析
- 评审和检查
- 迭代/冲刺演示
- 全体演示
- 轻量级里程碑评审
- 短反馈周期
- 标准和指南
26) 在敏捷项目中,哪些工具可用于截屏?
在敏捷项目中,您可以使用以下工具:
- BugDigger
- BugShooting
- qTrace
- Snagit
- Bonfire
- Usersnap
27) 阐述在整个项目中保持一致的迭代长度的优点?
优点是:
- 它有助于团队客观地衡量进度
- 它提供了一种衡量团队速度的一致方法
- 它有助于建立一致的交付模式
28) 如果时间盒计划需要重新确定优先级,谁应该重新确定优先级?
如果时间盒计划需要重新确定优先级,则应包括整个团队、产品负责人和开发人员。
29) 请说明燃尽图应该突出什么?
燃尽图显示了在时间盒(迭代)结束前需要完成的剩余工作。
30) 阐述 Scrum 和敏捷的区别?
- Scrum:在 Scrum 中,冲刺是开发的基本单元。每个冲刺之后都有一个规划会议,在此会议中识别和估算冲刺任务。在每个冲刺期间,团队创建产品的已完成部分。
- 敏捷:在敏捷中,每次迭代都涉及团队完成一个完整的软件开发周期,包括规划、设计、编码、需求分析、单元测试和验收测试,在此期间产品会演示给利益相关者。
简单来说,敏捷是一种实践,而Scrum是遵循这种实践的过程。
31) 阐述敏捷软件开发中存在的挑战?
敏捷软件开发中面临的挑战包括:
- 它需要更多的测试和客户参与
- 它对管理层的影响大于开发人员
- 每个功能都需要在继续下一个功能之前完成
- 所有代码都必须正常工作,以确保应用程序处于工作状态
- 需要更多的规划
32) 什么时候不适合使用敏捷?
在使用敏捷方法论之前,您必须询问以下问题:
- 功能是否可拆分
- 客户是否可用
- 需求是否灵活
- 是否真的有时间限制
- 团队技能是否足够
33) 解释如何简单地在您的项目中实施Scrum?
以下是一些有助于在您的项目中实施Scrum的技巧。
- 整理您的待办事项列表
- 了解产品待办事项的大小
- 明确冲刺需求和完成冲刺待办事项的持续时间
- 计算团队冲刺预算,然后将需求分解为任务
- 协作工作区——所有团队讨论的中心,包括计划、路线图、关键日期、功能草图、问题、日志、状态报告等。
- 冲刺——确保一次只完成一个功能,然后再继续下一个。除非别无选择,否则不应中止冲刺。
- 参加每日站会:在会议中,您需要提及自上次会议以来取得了什么成就,在下次会议之前将取得什么成就,以及是否有任何阻碍他们进展的事情
- 使用燃尽图跟踪每日进度。从燃尽图中,您可以估算出您是否按计划进行,或者是否落后。
- 在继续下一个功能之前,彻底完成每个功能
- 在冲刺结束时——召开冲刺评审会议,提及冲刺中实现或交付的内容。
34) 解释产品路线图是什么意思?
产品路线图指的是构成产品愿景的产品功能的整体视图。
这些面试问题也将有助于您的口试