📜  敏捷测试-方法

📅  最后修改于: 2020-12-07 05:20:45             🧑  作者: Mango


敏捷是一种迭代开发方法,整个项目团队都参与所有活动。通过客户与自组织团队之间的协作,需求随着迭代的进展而发展。由于编码和测试是在交互过程中逐步进行的,因此在开发过程中,最终产品将具有质量并确保满足客户要求。

每次迭代都会导致集成的工作产品增量,并交付给用户验收测试。这样获得的客户反馈将是下一个/后续迭代的输入。

项目团队

持续集成,持续质量

持续集成是敏捷开发成功的关键。至少每天进行一次频繁集成,以便在需要时可以发布。敏捷测试成为开发所有阶段的重要组成部分,以确保产品的持续质量。参与项目的每个人的不断反馈增加了产品的质量。

在敏捷中,沟通是最重要的,并且在必要时会收到客户的请求。这使客户感到满意,因为它考虑了所有输入,并且在整个开发过程中都提供了工作质量好的产品。

敏捷方法

有几种支持敏捷开发的敏捷方法论。敏捷方法论包括-

Scrum

Scrum是一种敏捷开发方法,强调以团队为中心的方法。它提倡整个团队参与所有项目开发活动。

经验值

eXtreme Programming以客户为中心,专注于不断变化的需求。通过频繁的发布和客户反馈,最终产品的质量将满足客户要求,并在此过程中变得更加清晰。

水晶

水晶基于租船,循环交付和包装。

  • 包机涉及组成一个开发团队,进行初步的可行性分析,得出初步计划和开发方法。

  • 具有两个或更多交付周期的循环交付侧重于开发阶段和最终集成产品交付。

  • 在总结过程中,将部署到用户环境中,进行部署后审查和反思。

软驱

功能驱动开发(FDD)涉及设计和构建功能。 FDD与其他敏捷开发方法学之间的区别在于,这些功能是在特定阶段和短期阶段分别开发的。

DSDM

动态软件开发方法(DSDM)基于快速应用程序开发(RAD),并与敏捷框架保持一致。 DSDM专注于频繁交付产品,使用户积极参与并授权团队做出快速决策。

精益软件开发

在精益软件开发中,重点是消除浪费并为客户创造价值。这导致快速发展和价值产品。

浪费包括部分完成的工作,无关的工作,客户未使用的功能,缺陷等,这些都会增加交货延迟。

精益原则是-

  • 消除浪费
  • 加强学习
  • 延迟承诺
  • 授权团队
  • 快速交付
  • 建立诚信
  • 看整体

看板

看板专注于管理工作,重点是按时(JIT)交付,而不会使团队成员超负荷。显示任务,供所有参与者查看,并让团队成员从队列中拉出工作。

看板基于-

  • 看板委员会(整个开发项目的视觉和持久性)
  • 进行中(WIP)限制
  • 交货时间

敏捷测试方法

对于每个项目(无论是否敏捷),都明确定义了测试实践,以交付高质量的产品。敏捷测试中经常使用传统的测试原理。其中之一是早期测试,专注于-

  • 编写测试用例来表达系统的行为。

  • 早期预防,发现和消除缺陷。

  • 确保在正确的时间和正确的测试级别运行正确的测试类型。

在我们讨论的所有敏捷方法论中,敏捷测试本身就是一种方法论。在所有方法中,测试用例都是在编码之前编写的。

在本教程中,我们将重点介绍Scrum作为敏捷测试方法。

其他常用的敏捷测试方法是-

  • 测试驱动开发(TDD) -测试驱动开发(TDD)基于测试指导的编码。

  • 验收测试驱动开发(ATDD) -验收测试驱动开发(ATDD)基于客户,开发人员和测试人员之间的沟通,并由预定义的验收标准和验收测试用例驱动。

  • 行为驱动开发(BDD) -在行为驱动开发(BDD)中,测试基于所开发软件的预期行为。

敏捷测试生命周期

在Scrum中,测试活动包括-

  • 根据描述为测试用例的系统的预期行为为用户故事做贡献

  • 基于测试工作量和缺陷的发布计划

  • 基于用户故事和缺陷的Sprint计划

  • 通过连续测试执行Sprint

  • Sprint完成后的回归测试

  • 报告测试结果

  • 自动化测试

测试是迭代和冲刺的,如下图所示:

生命周期