最常见的34个敏捷测试面试的Q&A(下)
昨天发布了 上半部分17个Q&A :最常见的34个敏捷测试面试的Q&A(上),今天再发布第18~34个Q&A。
18.统一过程(Rational Unified Process)和Scrum方法有什么区别?
RUP |
SCRUM |
–正式的研发生命周期是由四个阶段构成,但是一些工作流可以是并发的 |
–每个sprint都是一个完整的周期 |
–应用正式的项目计划,与迭代相关联 |
–没有端到端的项目计划。下一个迭代计划都是在在当前迭代快结束时确定 |
–项目范围是在项目开始之前预先定义的,并在范围文档中记录。在项目中,范围可以被修改 |
–使用的是项目待办事项列表(backlog),而不是范围scrum |
–产品(artifact)包括范围文档、正式的功能需求包、系统架构文档、开发计划、测试脚本等等 |
–可运行的软件是唯一的正式产品 |
–推荐用于长期、大型、企业级的项目,具有中等程度以上的复杂性 |
–推荐快速增强和不依赖于最后期限的组织 |
19. 为什么持续集成对敏捷很重要?
持续集成对于敏捷来说很重要,因为以下原因:
-
通过发现缺陷或集成错误,可以帮助保持及时发布产品。
-
由于频繁的敏捷代码交付,通常每个迭代(sprint)是2-3周,稳定的构建质量是必须的,并且持续集成确保做到这一点
-
帮助维护代码库的高质量状态(bug很少)
-
如果开发工作使用自动构建和合并功能,则持续集成有助于检查工作分支对主干的影响。
20. 在敏捷过程中进行了哪些测试?
在敏捷过程中,主要的测试活动是自动化单元测试和探索式测试。
但是,根据项目的需求,测试人员可以在被测应用(Application Under Test,AUT)上执行功能测试和非功能性测试。
(译者注:下面这图是落地的优秀实践 from 朱少民老师的演讲稿)
21.解释敏捷中的速度(Velocity)是什么?
速度是一种度量,是根据在迭代中所完成的用户故事相关的各种努力来估算出来的。它计算出在敏捷的一个迭代中可以完成多少工作,以及完成一个项目需要多少时间。
22. 优秀的敏捷测试人员应该具备哪些素质?
优秀的敏捷测试人员应该具备以下素质:
-
能够很快地理解需求
-
敏捷测试人员应该了解敏捷原则和概念
-
随着需求不断变化,测试人员应该了解其中的风险
-
基于需求,敏捷测试人员应该能够对工作进行优先级排序
-
业务伙伴、开发人员和测试人员之间的持续沟通是必须的
(译者注:你具备这些素质吗?