📜  敏捷测试-技术

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


测试传统测试的技术也可以用于敏捷测试。除了这些,敏捷项目中还使用了特定于敏捷的测试技术和术语。

测试依据

在敏捷项目中,积压的产品将替换需求规范文档。产品积压的内容通常是用户故事。用户故事中也注意了非功能性需求。因此,敏捷项目中的测试基础是用户故事。

为了确保质量测试,还可以考虑以下内容作为测试基础-

  • 来自同一项目的先前迭代或过去的项目的经验。
  • 系统的现有功能,体系结构,设计,代码和质量特征。
  • 缺陷当前和过去项目中的数据。
  • 客户的反馈意见。
  • 用户文档。

完成的定义

完成定义(DoD)是敏捷项目中使用的标准,以确保Sprint积压中的活动完成。国防部可以从一个Scrum团队到另一个团队,但在一个团队中应该保持一致。

国防部是必要活动的清单,以确保用户故事中功能和特征以及作为用户故事一部分的非功能性要求的实现。在完成DoD清单中的所有项目之后,用户故事进入“完成”阶段。国防部在团队之间共享。

用户故事的典型DoD可以包含-

  • 详细的可测试验收标准
  • 确保用户故事与迭代中其他故事一致的条件
  • 与产品有关的特定标准
  • 功能行为方面
  • 非功能性特征
  • 介面
  • 测试数据要求
  • 测试覆盖率
  • 重构
  • 审批要求

除了用于用户故事的DoD,还需要DoD-

  • 在每个测试级别
  • 每个功能
  • 对于每个迭代
  • 发布

测试信息

测试人员需要具有以下测试信息-

  • 需要测试的用户故事
  • 相关验收标准
  • 系统介面
  • 系统有望运行的环境
  • 工具可用性
  • 测试覆盖率
  • 国防部

在敏捷项目中,由于测试不是顺序活动,并且测试人员应该以协作方式工作,因此测试人员有责任-

  • 持续获取必要的测试信息。
  • 确定影响测试的信息差距。
  • 与其他团队成员共同解决差距。
  • 确定何时达到测试水平。
  • 确保在相关时间执行适当的测试。

功能和非功能测试设计

在敏捷项目中,可以使用传统的测试技术,但重点是早期测试。在开始实施之前,必须有测试用例。

对于功能测试设计,测试人员和开发人员可以使用传统的黑匣子测试设计技术,例如-

  • 等效分区
  • 边值分析
  • 决策表
  • 国家过渡
  • 类树

对于非功能性测试设计,由于非功能性需求也是每个用户案例的一部分,因此黑盒测试设计技术只能用于设计相关的测试用例。

探索性测试

在敏捷项目中,时间通常是测试分析和测试设计的限制因素。在这种情况下,探索性测试技术可以与传统测试技术结合使用。

探索性测试(ET)的定义是同时学习,测试设计和测试执行。在探索性测试中,测试人员在执行测试时会主动控制其设计,并使用在测试中获得的信息来设计新的更好的测试。

探索性测试非常方便,可以适应敏捷项目中的更改。

基于风险的测试

基于风险的测试是基于故障风险的测试,并使用测试设计技术来减轻风险。

产品质量风险可以定义为产品质量的潜在问题。产品质量风险包括-

  • 功能风险
  • 非功能性能风险
  • 非功能性可用性风险

进行风险分析以评估每种风险的可能性(可能性)和影响。然后,将风险划分为优先级-

  • 高风险需要大量测试
  • 低风险只需要进行课程测试

根据每种风险的风险级别和风险特征,使用适当的测试技术来设计测试。然后执行测试以减轻风险。

适合测试

拟合测试是自动的验收测试。 Fit和FitNesse工具可用于自动化验收测试。

FIT使用JUnit,但扩展了测试功能。 HTML表用于显示测试用例。 Fixture是HTML表后面的Java类。固定装置获取HTML表的内容,并在要测试的项目上运行测试用例。